Backend commit 37a4cf900 (hermes-agent) flipped the default of GET /api/model/options's include_unconfigured parameter from true to false, so the mobile Models picker was silently regressing to showing only configured/authenticated providers — the skeleton rows for unconfigured providers (with setup-hint warnings) stopped arriving. Add include_unconfigured as a @Query param defaulting to true so the full provider universe is restored on the Models screen. Both current call sites (ModelViewModel + ProfilesViewModel) invoke the API without passing the new param, so they automatically pick up the true default.
This commit is contained in:
@@ -432,6 +432,7 @@ interface HermesApiService {
|
|||||||
@GET("api/model/options")
|
@GET("api/model/options")
|
||||||
suspend fun getModelOptions(
|
suspend fun getModelOptions(
|
||||||
@Query("refresh") refresh: Boolean = false,
|
@Query("refresh") refresh: Boolean = false,
|
||||||
|
@Query("include_unconfigured") includeUnconfigured: Boolean = true,
|
||||||
): Response<ModelOptionsResponse>
|
): Response<ModelOptionsResponse>
|
||||||
|
|
||||||
@GET("api/model/auxiliary")
|
@GET("api/model/auxiliary")
|
||||||
|
|||||||
@@ -1285,7 +1285,7 @@ class E2eIntegrationTest {
|
|||||||
val provider = ModelProvider("ollama", "Ollama", false, true, listOf("llama3"), 1, null, true, null, null)
|
val provider = ModelProvider("ollama", "Ollama", false, true, listOf("llama3"), 1, null, true, null, null)
|
||||||
val profile = ProfileInfo("default", null, true, "llama3", "ollama", null, null, null, null)
|
val profile = ProfileInfo("default", null, true, "llama3", "ollama", null, null, null, null)
|
||||||
|
|
||||||
coEvery { mockApiService.getModelOptions(any()) } returns
|
coEvery { mockApiService.getModelOptions(any(), any()) } returns
|
||||||
Response.success(ModelOptionsResponse(listOf(provider)))
|
Response.success(ModelOptionsResponse(listOf(provider)))
|
||||||
coEvery { mockApiService.getActiveProfile() } returns
|
coEvery { mockApiService.getActiveProfile() } returns
|
||||||
Response.success(ActiveProfileResponse("default", null))
|
Response.success(ActiveProfileResponse("default", null))
|
||||||
@@ -1340,7 +1340,7 @@ class E2eIntegrationTest {
|
|||||||
val provider = ModelProvider("ollama", "Ollama", false, true, listOf("llama3"), 1, null, true, null, null)
|
val provider = ModelProvider("ollama", "Ollama", false, true, listOf("llama3"), 1, null, true, null, null)
|
||||||
val profile = ProfileInfo("default", null, true, "llama3", "ollama", null, null, null, null)
|
val profile = ProfileInfo("default", null, true, "llama3", "ollama", null, null, null, null)
|
||||||
|
|
||||||
coEvery { mockApiService.getModelOptions(any()) } returns
|
coEvery { mockApiService.getModelOptions(any(), any()) } returns
|
||||||
Response.success(ModelOptionsResponse(listOf(provider)))
|
Response.success(ModelOptionsResponse(listOf(provider)))
|
||||||
coEvery { mockApiService.getActiveProfile() } returns
|
coEvery { mockApiService.getActiveProfile() } returns
|
||||||
Response.success(ActiveProfileResponse("default", null))
|
Response.success(ActiveProfileResponse("default", null))
|
||||||
@@ -1364,7 +1364,7 @@ class E2eIntegrationTest {
|
|||||||
)
|
)
|
||||||
|
|
||||||
val capturedRefresh = mutableListOf<Boolean>()
|
val capturedRefresh = mutableListOf<Boolean>()
|
||||||
coEvery { mockApiService.getModelOptions(any()) } answers {
|
coEvery { mockApiService.getModelOptions(any(), any()) } answers {
|
||||||
capturedRefresh.add(firstArg())
|
capturedRefresh.add(firstArg())
|
||||||
Response.success(ModelOptionsResponse(listOf(provider)))
|
Response.success(ModelOptionsResponse(listOf(provider)))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user