conduit/test/features/chat/providers
cogwheel 4e73c9a0ea
Some checks are pending
L10n / l10n (push) Waiting to run
Fix ten reported issues and vendor Hermes Agent as an API reference (#725)
* Fix ten reported issues and vendor Hermes Agent as an API reference

Closes #693, #695, #699, #700, #701, #703, #708, #712, #716, #723.

- Hermes (#693, #699): load transcripts over REST even when session.resume
  fails, page at 200 messages and shrink on oversized responses, and show
  distinct errors for too-large, not-found, and RPC failures. Add the
  hermes-src submodule (NousResearch/hermes-agent v2026.9.11) as the RPC and
  REST contract reference.
- Server version banner (#695): dismissible, remembered per server and version.
- Model selector (#700): overflow fade and selection tint use the card surface.
- OpenRouter (#701): skip Batch API-only ":batch" model variants.
- Persisted chat content (#703): store plain output text instead of rendered
  <details> markup when structured output exists, matching the web client.
- Direct connections (#708): probes report their real failure instead of a
  generic message, the Open WebUI logout fence no longer blocks Direct setup,
  and 401/403 under the api-key header mode hints at Bearer auth.
- Reasoning effort (#712): per-server, per-model user picks override the
  model's configured default and are sent explicitly in the request.
- Voice calls (#716): stop the record plugin from clearing the Android
  communication device and verify the loudspeaker route before reporting it.
- Voice mode (#723): finalize speech on the responseDone marker.
- Add the five new strings to every locale.

* Address review: keep incomplete-clear block, pass effort on sends, keep all dismissals

- Direct profiles stay hidden and unusable after an incomplete full app-data
  clear, in memory and across restarts, until the logout fence is cleared by a
  completed cleanup or a new authenticated session. Ordinary failed sign-outs
  still do not block Direct setup.
- The primary Open WebUI send path now passes the resolved per-model reasoning
  effort like regeneration and queued completions already did.
- Server version warning dismissals are stored as a bounded set so dismissing
  one server no longer forgets another.

* Address review: release rejected speaker device, speak settled text on responseDone

- When Android accepts the built-in speaker but the read-back disagrees,
  clear that selection before the legacy setSpeakerphoneOn fallback, which is
  ignored while a communication device stays selected.
- Voice mode takes the final text from the message once responseDone is set;
  the streaming content provider can lag behind the flushed message.

* Address review: await the incomplete-clear restart marker before returning

The marker is written through the app-data-clear barrier with a checked write
and awaited by the clear coordinator, so a process death right after an
incomplete clear cannot reload the surviving Direct profiles on restart.

* Address review: arm the restart fence before the wipe and propagate marker failures

The incomplete-clear marker is now armed before any data is wiped, disarmed
only when the clear completes or yields ownership, re-asserted on an
incomplete outcome, and a failed checked write aborts the clear instead of
being swallowed. The in-memory block is unchanged.

* Do not raise an error banner for response.incomplete

Open WebUI forwards the provider's `response.incomplete` event over the
socket but treats it as a no-op: the output is kept and the turn still ends
with a normal `done`. Raising an error on that event flashed "The response
stopped before it was complete" under the answer until `done` cleared it.
`response.failed` still surfaces the provider error.
2026-09-15 00:48:03 +05:30
..
chat_background_tasks_test.dart refactor(chat): improve background tasks configuration parsing 2026-03-27 19:29:52 +05:30
chat_feature_defaults_test.dart feat(settings): add chat feature toggles for web search and image generation 2026-04-24 22:25:52 +05:30
chat_loading_guard_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
chat_messages_notifier_d07_persistence_test.dart feat: add direct OpenAI-compatible and Ollama connections (#567) 2026-07-14 22:18:12 +05:30
chat_messages_notifier_dedupe_test.dart Fix native toolbar, Apple gating, streaming cadence, and wakelock regressions (#718) 2026-09-14 19:53:35 +05:30
chat_messages_notifier_error_sync_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
chat_messages_notifier_remote_sync_test.dart feat(openwebui): support v0.11.1 (#667) 2026-08-26 18:41:29 +05:30
chat_messages_notifier_storage_scope_test.dart fix: reconcile streaming chats after reopen (#593) 2026-07-28 13:34:54 +05:30
chat_messages_notifier_streaming_seams_test.dart Fix Hermes approvals, tool-call markup, and restored running state (#679) 2026-08-28 21:51:34 +05:30
chat_openwebui_alignment_test.dart feat: add direct MCP servers to Direct models (#676) 2026-08-29 00:51:28 +05:30
chat_openwebui_transport_ownership_test.dart Fix ten reported issues and vendor Hermes Agent as an API reference (#725) 2026-09-15 00:48:03 +05:30
chat_regeneration_persistence_guard_test.dart Fix ten reported issues and vendor Hermes Agent as an API reference (#725) 2026-09-15 00:48:03 +05:30
chat_transcript_paging_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
chat_transport_parity_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
chat_wakelock_coordinator_test.dart Fix native toolbar, Apple gating, streaming cadence, and wakelock regressions (#718) 2026-09-14 19:53:35 +05:30
context_attachments_provider_test.dart feat(chat): add note attachment support for chat context 2026-03-28 19:57:41 +05:30
direct_regeneration_lifecycle_test.dart feat: add direct MCP servers to Direct models (#676) 2026-08-29 00:51:28 +05:30
direct_send_history_links_test.dart feat: add direct MCP servers to Direct models (#676) 2026-08-29 00:51:28 +05:30
follow_ups_socket_event_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
hermes_run_remap_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
hermes_session_provenance_test.dart feat: add Hermes Desktop Gateway backend (#636) 2026-08-16 19:51:36 +05:30
image_regeneration_test.dart feat: add direct OpenAI-compatible and Ollama connections (#567) 2026-07-14 22:18:12 +05:30
knowledge_cache_provider_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
local_echo_payload_test.dart Fix ten reported issues and vendor Hermes Agent as an API reference (#725) 2026-09-15 00:48:03 +05:30
openwebui_chat_prompt_provider_test.dart feat(openwebui): support v0.11.1 (#667) 2026-08-26 18:41:29 +05:30
queued_completion_provider_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30
reasoning_effort_provider_test.dart Fix ten reported issues and vendor Hermes Agent as an API reference (#725) 2026-09-15 00:48:03 +05:30
remap_route_sync_test.dart perf: chat scrolling and markdown rendering (#640) 2026-08-18 01:20:40 +05:30