Enha: show user an error in case stt failed

This commit is contained in:
Grail Finder
2025-11-14 12:20:00 +03:00
parent 2695cf437e
commit 88b45f04b7
2 changed files with 3 additions and 19 deletions

View File

@@ -1,22 +1,5 @@
package extra
/*
#cgo LDFLAGS: -lasound
#include <alsa/asoundlib.h>
extern void go_alsa_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...);
void set_alsa_error_handler() {
snd_lib_error_set_handler(go_alsa_error_handler);
}
void go_alsa_error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...) {
return; // Complete suppression
}
*/
import "C"
import (
"bytes"
"context"
@@ -49,7 +32,6 @@ type WhisperBinary struct {
func NewWhisperBinary(logger *slog.Logger, cfg *config.Config) *WhisperBinary {
ctx, cancel := context.WithCancel(context.Background())
// Set ALSA error handler first
C.set_alsa_error_handler()
return &WhisperBinary{
logger: logger,
whisperPath: cfg.WhisperBinaryPath,

4
tui.go
View File

@@ -823,7 +823,9 @@ func init() {
if asr.IsRecording() {
userSpeech, err := asr.StopRecording()
if err != nil {
logger.Error("failed to inference user speech", "error", err)
msg := "failed to inference user speech; error:" + err.Error()
logger.Error(msg)
notifyUser("stt error", msg)
return nil
}
if userSpeech != "" {