A reliability release focused on session recovery, model settings, long questions, compaction, and multilingual dictation.
What's changed
- Choose your dictation language. Settings → Providers now has a searchable language selector below the Deepgram key, including supported languages/locales and multilingual transcription. The choice persists across restarts; English remains the default. Setup guidance explains the Member-or-higher key role needed for token grants. Based on #114; refs #65, #100, #210, #231, #238.
- Retry failed responses without losing your work. A separate Retry action reruns an eligible failed foreground turn while preserving its submitted input, failed attempts and partial output. An unsent composer draft is kept intact if the retry is refused. Based on #184; refs #110.
- More reliable new-session opening. Opening text is kept out of the URL, accepted sessions use their normal short chat URL, and failed opening submissions can be recovered without leaving duplicate optimistic messages. Based on #154.
- Repair model selections after changing providers. Disconnected or unavailable selections in other model slots no longer prevent repairing the slot you are editing. Model names, OpenCode key-row labeling, catalog refresh and setup initialization are also clearer and more consistent. Refs #149, #218, #140, #173, #174.
- Long questions fit more reliably. Teaching and practice docks budget space using the actual answer controls and toolbar, including very short windows, instead of relying on a fixed allowance. Based on #211; refs #187.
- Compaction no longer replays superseded summaries. Only the current valid checkpoint is projected into the conversation. Older histories and incomplete compaction attempts are handled without replacing a valid checkpoint with an unfinished summary. Refs #160, #163.
- Probe completion requires a successful result. A failed, aborted or explicitly refused
probe_donedoes not count as a completed probe. A later successful conclusion can proceed without deleting previous attempts. Adapted from the probe-completion portion of #130; refs #129. - Small maintenance fixes. Corrected documentation links and fixture-path handling when the checkout path contains spaces. Based on #216 and #228.
Known limitations
- The compaction fix addresses superseded-summary replay, not every frequent-compaction case in #160. Other ChatGPT catalog and stream-completion failures remain under investigation in #188 and #129.
- This release does not add custom/local-model providers or Copilot Auto, and does not address the OpenCode Go HTTP 402 issue (#147).
- Linux's AppImage/FUSE startup issue (#84) and RPM support (#9) are unchanged. AppImage desktop launchers may also retain an old filename after an update (#242); launcher integration is unchanged.
- Claude's intermittent missing explanations remain tracked in #102.
Thanks
Thanks to @bchronowski98 (#114), @ferponse (#154), @evangstav (#184), @anikam13 (#211), @casiar (#216), and @Martin-Tazon (#228), whose original contributor commits are preserved in this release, and to @aksalatdev for the probe-completion foundation from #130. The stream-salvage portion of #130 is not included. Thanks also to everyone who reported bugs and helped test the changes.