Skip to content

[Bug]: Model picker list stops rendering before reaching Ollama Cloud (~30th of 54 providers), no crash shown to user #582

Open

Description

@leoburti

Affected area

Android app — model picker (/model selector, same list that showed the DeepSeek duplicate-key crash in #309)

What happened?

Opening the model picker on a session with many authenticated providers, the visible list renders providers in order (Anthropic, Nous Portal, OpenRouter, Mixture of Agents, ChatGPT/Codex Subscription, xAI Grok OAuth, GitHub Copilot, ...) and then simply stops — it never reaches Ollama Cloud, even though Ollama Cloud has valid credentials and models. No crash dialog is shown to the user; the list just ends short.

Root cause confirmed NOT to be backend/API

Called the exact same endpoint the app consumes directly:

GET /api/model/options  (api_server, :8642)

The payload correctly returns 54 provider rows including:

ollama-cloud  Ollama Cloud  24 models

at position 30 of 54. So the API/backend picker payload (hermes_cli.inventory.build_model_options_payload → list_authenticated_providers) is correct and complete — this is purely a client-side rendering issue in the Android app's model picker list.

Suspected relation to #309

#309 (closed) was an IllegalArgumentException: Key "DeepSeek:deepseek-v4-flash" was already used crash in the same LazyColumn-based model picker, caused by a duplicate composable key. Given the picker renders a flat list across many provider sections (some providers legitimately share model IDs across catalogs — e.g. glm-5.3-flash" appears both under ollama-cloudand underz-ai/openrouter` aggregator rows), it's plausible a similar duplicate-key collision is silently truncating the LazyColumn's rendering (or throwing and being swallowed) somewhere around section ~7-8, before Ollama Cloud's section (~30th row) is reached — but this time with no visible crash dialog, unlike #309.

Environment

  • Backend: Hermes Agent v0.21.2 (self-hosted Mac mini, git install)
  • Confirmed via direct /api/model/options call against the exact backend the app was paired to
  • Provider count: 54 total, 11 with total_models > 0

Expected

Every authenticated provider with models should render in the picker, including Ollama Cloud and everything after it in payload order (opencode-zen, opencode-free, etc.).

Suggested places to look

Activity

  1. hermes-relay-triage commented on Sep 12, 2026

    @hermes-relay-triage

    🤖 Hermes-Relay automated triage

    Thanks for the detailed provider inventory and the comparison with #309! Android v1.16.1 and current development code have no picker-side count or pagination limit; they normalize exact duplicates within each provider, and Compose keys include the provider slug, so the same model ID appearing under Ollama Cloud, Z.AI, and OpenRouter should not recreate #309's collision. The remaining split is whether Ollama Cloud is absent from the inventory Android receives or present but unreachable in the sheet's list.

    Could you share the Hermes-Relay app version and install surface, device/Android version, active connection path (Dashboard/Gateway or Direct API), whether searching the picker for Ollama Cloud reveals it, and a sanitized screenshot showing the sheet's “N models” count? A maintainer will follow up to confirm which inventory path reached the app and whether the failure is in data ingestion or list layout/rendering.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions