diff --git a/app/src/main/java/com/yage/opencode_client/ui/MainViewModel.kt b/app/src/main/java/com/yage/opencode_client/ui/MainViewModel.kt index f6f6779..617fa44 100644 --- a/app/src/main/java/com/yage/opencode_client/ui/MainViewModel.kt +++ b/app/src/main/java/com/yage/opencode_client/ui/MainViewModel.kt @@ -120,10 +120,9 @@ data class AppState( get() = when { displayName == "DeepSeek V4 Flash" -> "DS-Flash" displayName == "DeepSeek Local" -> "DS-L" - displayName == "DeepSeek V4 Pro" -> "DS-Pro" displayName == "Ollama GLM 5.2" -> "OGLM-5.2" - displayName == "GPT-5.6 Sol Fast" -> "GPT-F" displayName == "GPT-5.6 Terra Fast" -> "GPT-TF" + displayName == "GPT-5.6 Luna" -> "GPT-L" "Haiku" in displayName -> "Haiku" "Gemini" in displayName -> "Gemini" "GPT" in displayName -> "GPT" diff --git a/app/src/main/java/com/yage/opencode_client/ui/ModelPresets.kt b/app/src/main/java/com/yage/opencode_client/ui/ModelPresets.kt index a1f12ce..ee56e30 100644 --- a/app/src/main/java/com/yage/opencode_client/ui/ModelPresets.kt +++ b/app/src/main/java/com/yage/opencode_client/ui/ModelPresets.kt @@ -10,9 +10,8 @@ object ModelPresets { AppState.ModelOption("GPT-5.6 Sol", "openai", "gpt-5.6-sol"), AppState.ModelOption("Gemini 3.6 Flash", "google", "gemini-3.6-flash"), AppState.ModelOption("DeepSeek Local", "ds4", "deepseek-v4-flash"), - AppState.ModelOption("DeepSeek V4 Pro", "deepseek", "deepseek-v4-pro"), AppState.ModelOption("Ollama GLM 5.2", "ollama-cloud", "glm-5.2"), - AppState.ModelOption("GPT-5.6 Sol Fast", "openai", "gpt-5.6-sol-fast"), AppState.ModelOption("GPT-5.6 Terra Fast", "openai", "gpt-5.6-terra-fast"), + AppState.ModelOption("GPT-5.6 Luna", "openai", "gpt-5.6-luna"), ) } diff --git a/app/src/test/java/com/yage/opencode_client/AppStateTest.kt b/app/src/test/java/com/yage/opencode_client/AppStateTest.kt index 53e11ac..07463a7 100644 --- a/app/src/test/java/com/yage/opencode_client/AppStateTest.kt +++ b/app/src/test/java/com/yage/opencode_client/AppStateTest.kt @@ -166,12 +166,15 @@ class AppStateTest { assertEquals("openai", models[1].providerId) assertEquals("gpt-5.6-sol", models[1].modelId) assertFalse(models.any { it.providerId == "openai" && it.modelId == "gpt-5.6-sol-pro" }) + assertFalse(models.any { it.providerId == "openai" && it.modelId == "gpt-5.6-sol-fast" }) assertTrue(models.any { - it.displayName == "GPT-5.6 Sol Fast" && it.providerId == "openai" && it.modelId == "gpt-5.6-sol-fast" + it.displayName == "GPT-5.6 Terra Fast" && it.providerId == "openai" && it.modelId == "gpt-5.6-terra-fast" }) assertTrue(models.any { - it.displayName == "GPT-5.6 Terra Fast" && it.providerId == "openai" && it.modelId == "gpt-5.6-terra-fast" + it.displayName == "GPT-5.6 Luna" && it.providerId == "openai" && it.modelId == "gpt-5.6-luna" }) + assertFalse(models.any { it.modelId == "deepseek-v4-flash:0731" }) + assertFalse(models.any { it.providerId == "deepseek" && it.modelId == "deepseek-v4-pro" }) } @Test diff --git a/app/src/test/java/com/yage/opencode_client/MainViewModelTest.kt b/app/src/test/java/com/yage/opencode_client/MainViewModelTest.kt index 1333662..5bb7fea 100644 --- a/app/src/test/java/com/yage/opencode_client/MainViewModelTest.kt +++ b/app/src/test/java/com/yage/opencode_client/MainViewModelTest.kt @@ -1394,11 +1394,20 @@ class MainViewModelTest { it.copy(currentSessionId = "source", inputText = "source prefix", aiBuilderConnectionOK = true) } - viewModel.toggleRecording() - withTimeout(5_000) { viewModel.state.first { it.isRecording } } viewModel.toggleRecording() runCurrent() - withTimeout(5_000) { commitStarted.await() } + assertTrue(viewModel.state.value.isRecording) + viewModel.toggleRecording() + // Stop path runs closeAndDrain on Dispatchers.IO (real threads), so we + // must yield to let it complete before commitAndStop fires. Poll with + // small sleeps + runCurrent until commitStarted completes. + var waited = 0L + while (!commitStarted.isCompleted && waited < 5_000) { + Thread.sleep(20) + waited += 20 + runCurrent() + } + assertTrue(commitStarted.isCompleted) viewModel.selectSession("destination") sendPartial("stale partial") runCurrent() diff --git a/app/src/test/java/com/yage/opencode_client/ModelTests.kt b/app/src/test/java/com/yage/opencode_client/ModelTests.kt index ab7e269..2db018d 100644 --- a/app/src/test/java/com/yage/opencode_client/ModelTests.kt +++ b/app/src/test/java/com/yage/opencode_client/ModelTests.kt @@ -329,13 +329,13 @@ class ModelTests { } @Test - fun `ModelOption shortName distinguishes GPT Sol Fast`() { - assertEquals("GPT-F", modelOption("GPT-5.6 Sol Fast").shortName) + fun `ModelOption shortName distinguishes GPT Terra Fast`() { + assertEquals("GPT-TF", modelOption("GPT-5.6 Terra Fast").shortName) } @Test - fun `ModelOption shortName distinguishes GPT Terra Fast`() { - assertEquals("GPT-TF", modelOption("GPT-5.6 Terra Fast").shortName) + fun `ModelOption shortName returns GPT-L for GPT Luna`() { + assertEquals("GPT-L", modelOption("GPT-5.6 Luna").shortName) } @Test