mirror of
https://github.com/cogwheel0/conduit.git
synced 2026-08-27 11:31:42 +00:00
* feat: add first-party OpenRouter support * fix: address OpenRouter review feedback * fix: preserve OpenRouter server auth options * fix: localize reviewed catalog entries * feat: normalize OpenRouter reasoning effort * fix: validate raw OpenRouter PDF filenames * fix: refine connection setup and reasoning defaults * fix: keep selected models visible in picker * fix: restore OpenRouter image generation defaults A review fix conflated native image output modalities with OpenRouter server-tool eligibility. Restore the image tool for every device-owned Chat Completions model, localize the provider label, and add a persisted Personalization override for the image model. * fix: preserve image model during settings hydration Wait for the pending preferences load before applying the OpenRouter image-model override so a startup write cannot be replaced by stale persisted state. * fix: localize OpenRouter image settings Translate the new image-model preference in every supported locale and complete the German, Korean, and Dutch OpenRouter settings strings identified during review. * fix: correct Dutch OpenRouter description * fix: expose image model in native Chats sheet The setting was added to an unreachable legacy Personalization detail while the live iOS profile menu routes model defaults through Chats. Build the visibility row from one tested helper and include it in the active Chats detail. * fix: buffer OpenRouter image tool completions Image server-tool child jobs can succeed before the parent streaming continuation fails, and a committed SSE response cannot fail over. Buffer only image-tool requests so OpenRouter returns the complete markdown image result while all other completions remain streamed. * fix: decode OpenRouter generated image results The buffered image-tool fix still assumed generated images lived in message content, so successful message.images payloads were rejected and nested choice errors were masked. Normalize bounded image outputs into markdown, surface choice-level errors, and require the captured direct route to remain selected across preparation awaits. * fix: keep OpenRouter images on continuation errors The earlier decoder fix still prioritized choices[].error before message.images, and Gemini server tools can return both after generating successfully. Treat usable OpenRouter images as completion while preserving top-level and image-less choice failures. * fix: retain direct route ownership through preflight The earlier route fix covered initial preparation but the later dispatch guard still accepted any live captured binding. Require the captured model to remain selected after attachment/message preflight, with a regression that keeps both bindings live while selection changes. * fix: restore direct answer when regeneration preflight stops A late model switch could cancel regeneration after its empty same-id placeholder had replaced the completed answer. Restore and persist the captured previous assistant on preflight cancellation, with a regression covering the UI and durable timeline. * feat: use OpenRouter dedicated image API Generate and persist image assets independently from parent narration. Prompt refinement and acknowledgement are best-effort, while dedicated Image API output remains authoritative across continuation and transport failures. * fix: preserve image and route progress Exclude immediate image durability writes from provider stream timeouts, and retain trusted binding authority across metadata-only catalog refreshes while still revoking edited or removed profiles. * fix: harden OpenRouter image responses * refactor: remove legacy OpenRouter image parsing * fix: preserve completed answer across chained regeneration A superseding direct regeneration could capture the first run's empty same-ID preflight placeholder, so a later cancellation restored and persisted an empty answer. Normalize pristine streaming placeholders back to their last completed version before building the next placeholder, while retaining any partial or generated output. Add a deterministic two-preflight regression covering visible and durable restoration. * fix: stabilize OpenRouter follow-ups and source favicons * fix: preserve follow-up timeline state across remounts Keep the assistant shell stable when a live tail enters history so generated images do not collapse and re-expand above the pinned prompt. Remember the running haptic per message so list virtualization cannot replay feedback. * fix: apply OpenRouter review feedback |
||
|---|---|---|
| .. | ||
| chat_context_attachment.dart | ||
| model_selector_layout.dart | ||