summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-01 14:19:59 +0300
committerPaul Buetow <paul@buetow.org>2026-04-01 14:19:59 +0300
commitdb5a777d3c2efafeed86e4b6f561a4ef45dbba22 (patch)
treed4bc32761dd7bed0c37b0e899582a5c3de177f8f /internal
parentbcdda1dcdff6afa42c3bf81b40413c2e6967ddc7 (diff)
zt: align GUI translation defaults with shared translator
Diffstat (limited to 'internal')
-rw-r--r--internal/gui/app.go13
-rw-r--r--internal/gui/app_test.go37
2 files changed, 31 insertions, 19 deletions
diff --git a/internal/gui/app.go b/internal/gui/app.go
index 52fc044..6a7919f 100644
--- a/internal/gui/app.go
+++ b/internal/gui/app.go
@@ -127,7 +127,7 @@ func DefaultConfig() *Config {
OutputDir: outputDir,
AudioFormat: "mp3",
ImageProvider: "openai",
- TranslationProvider: translation.ProviderGemini,
+ TranslationProvider: translation.ProviderOpenAI,
PhoneticProvider: phonetic.ProviderOpenAI,
AutoPlay: true, // Auto-play enabled by default
}
@@ -208,9 +208,8 @@ func New(config *Config) *Application {
}
// translationConfigForApp normalizes the GUI translation settings.
-// When no provider is explicitly configured, Gemini is preferred if a Google
-// API key is available; otherwise the GUI falls back to OpenAI so existing
-// OpenAI-only setups continue to work.
+// The GUI follows the shared translator defaults and stays on OpenAI unless a
+// provider is explicitly selected by the caller.
func translationConfigForApp(config *Config) *translation.Config {
if config == nil {
config = DefaultConfig()
@@ -218,11 +217,7 @@ func translationConfigForApp(config *Config) *translation.Config {
provider := config.TranslationProvider
if provider == "" {
- if strings.TrimSpace(config.GoogleAPIKey) != "" {
- provider = translation.ProviderGemini
- } else {
- provider = translation.ProviderOpenAI
- }
+ provider = translation.ProviderOpenAI
}
return &translation.Config{
diff --git a/internal/gui/app_test.go b/internal/gui/app_test.go
index c89ebee..446b8a7 100644
--- a/internal/gui/app_test.go
+++ b/internal/gui/app_test.go
@@ -6,11 +6,11 @@ import (
"codeberg.org/snonux/totalrecall/internal/translation"
)
-func TestDefaultConfigPrefersGeminiTranslationProvider(t *testing.T) {
+func TestDefaultConfigUsesOpenAITranslationProvider(t *testing.T) {
config := DefaultConfig()
- if config.TranslationProvider != translation.ProviderGemini {
- t.Fatalf("DefaultConfig() translation provider = %q, want %q", config.TranslationProvider, translation.ProviderGemini)
+ if config.TranslationProvider != translation.ProviderOpenAI {
+ t.Fatalf("DefaultConfig() translation provider = %q, want %q", config.TranslationProvider, translation.ProviderOpenAI)
}
}
@@ -25,22 +25,32 @@ func TestTranslationConfigForApp(t *testing.T) {
wantGoogle string
}{
{
- name: "default to gemini when google key is available",
+ name: "default to openai when provider is unset and only openai key is available",
config: &Config{
+ OpenAIKey: "openai-key",
+ },
+ wantProv: translation.ProviderOpenAI,
+ wantOpen: "openai-key",
+ wantGoogle: "",
+ },
+ {
+ name: "default to openai when provider is unset and both keys are available",
+ config: &Config{
+ OpenAIKey: "openai-key",
GoogleAPIKey: "google-key",
},
- wantProv: translation.ProviderGemini,
- wantOpen: "",
+ wantProv: translation.ProviderOpenAI,
+ wantOpen: "openai-key",
wantGoogle: "google-key",
},
{
- name: "fallback to openai when only openai key is available",
+ name: "default to openai when provider is unset and only google key is available",
config: &Config{
- OpenAIKey: "openai-key",
+ GoogleAPIKey: "google-key",
},
wantProv: translation.ProviderOpenAI,
- wantOpen: "openai-key",
- wantGoogle: "",
+ wantOpen: "",
+ wantGoogle: "google-key",
},
{
name: "honor explicit gemini provider",
@@ -64,6 +74,13 @@ func TestTranslationConfigForApp(t *testing.T) {
wantOpen: "openai-key",
wantGoogle: "google-key",
},
+ {
+ name: "nil config still uses openai defaults",
+ config: nil,
+ wantProv: translation.ProviderOpenAI,
+ wantOpen: "",
+ wantGoogle: "",
+ },
}
for _, tt := range tests {