Ariver
2026-06-29 084cdd26d0f2bfa96d165c0a77a0697406919634
privatevoice.src/internal/modelselection/selection.go
@@ -27,16 +27,20 @@
   if selectionMode == config.ModelSelectionModeManual {
      if profile, err := model.GetModelProfile(cfg.SelectedModelID); err == nil {
         if isModelAvailableForLanguage(profile.ID, settings.EffectiveLanguageID) {
         if !model.IsModelSupportedInCurrentBuild(profile.ID) {
            fallbackReason = "manual model not supported in current build"
            logger.Info("Manual SelectedModelID %q is not supported in this build, falling back to language default %q", cfg.SelectedModelID, modelID)
         } else if isModelAvailableForLanguage(profile.ID, settings.EffectiveLanguageID) {
            return CurrentModel{
               ModelID:          profile.ID,
               Profile:          profile,
               SelectionMode:    selectionMode,
               LanguageSettings: settings,
            }
         } else {
            fallbackReason = "manual model not available for language"
            logger.Info("Manual SelectedModelID %q is not available for language %q, falling back to language default %q", cfg.SelectedModelID, settings.EffectiveLanguageID, modelID)
         }
         fallbackReason = "manual model not available for language"
         logger.Info("Manual SelectedModelID %q is not available for language %q, falling back to language default %q", cfg.SelectedModelID, settings.EffectiveLanguageID, modelID)
      } else {
         fallbackReason = "invalid manual model selection"
         logger.Info("Invalid manual SelectedModelID %q, falling back to language default %q", cfg.SelectedModelID, modelID)
@@ -47,6 +51,11 @@
   if err != nil {
      fallbackReason = "invalid language default model"
      logger.Info("Invalid default model %q for language %q, falling back to %q", modelID, settings.EffectiveLanguageID, model.DefaultModelID)
      profile = model.DefaultModelProfile()
      modelID = profile.ID
   } else if !model.IsModelSupportedInCurrentBuild(profile.ID) {
      fallbackReason = "language default model not supported in current build"
      logger.Info("Default model %q for language %q is not supported in this build, falling back to %q", modelID, settings.EffectiveLanguageID, model.DefaultModelID)
      profile = model.DefaultModelProfile()
      modelID = profile.ID
   }
@@ -61,6 +70,9 @@
}
func isModelAvailableForLanguage(modelID, languageID string) bool {
   if !model.IsModelSupportedInCurrentBuild(modelID) {
      return false
   }
   profile, err := model.GetLanguageProfile(languageID)
   if err != nil {
      return false