From 2c495253c29f84bdf7bddc43e42616c6c5c92acd Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sat, 7 Mar 2026 09:40:58 +0300 Subject: [PATCH] Chore: panic is not solved (WIP) --- bot.go | 2 ++ extra/kokoro_onnx.go | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/bot.go b/bot.go index 16bfecc..8979bac 100644 --- a/bot.go +++ b/bot.go @@ -418,7 +418,9 @@ func fetchLCPModelsWithStatus() (*models.LCPModels, error) { if err := json.NewDecoder(resp.Body).Decode(data); err != nil { return nil, err } + localModelsMu.Lock() localModelsData = data + localModelsMu.Unlock() return data, nil } diff --git a/extra/kokoro_onnx.go b/extra/kokoro_onnx.go index fe5abfb..add401d 100644 --- a/extra/kokoro_onnx.go +++ b/extra/kokoro_onnx.go @@ -99,6 +99,11 @@ func (o *KokoroONNXOrator) ensureInitialized(modelPath string) error { } else { // Shape is (510, 1, 256), we want the last 256 values (or first? let's use mean or just pick one) // Actually, let's average across all 510 to get a single 256-dim vector + if len(styleVec) != 510*256 { + o.logger.Error("voice embedding has unexpected size", "len", len(styleVec)) + err = fmt.Errorf("voice embedding has unexpected size", "len", len(styleVec)) + return err + } o.styleVector = make([]float32, 256) for i := 0; i < 256; i++ { var sum float32