Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
)
}
7 changes: 5 additions & 2 deletions app/src/test/java/com/yage/opencode_client/AppStateTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 12 additions & 3 deletions app/src/test/java/com/yage/opencode_client/MainViewModelTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
8 changes: 4 additions & 4 deletions app/src/test/java/com/yage/opencode_client/ModelTests.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading