This release includes UI improvements, better error handling, and internal code organization enhancements.
Improvements
- Changes audio listening shortcut from ctrl-k to ctrl-l (ctrl-k is now reserved for line editing)
- Improves title editing by allowing double-click anywhere on the title instead of requiring precise icon clicks
- Keeps footer unchanged when using /session or /new commands unless something actually changes
- Shows better error messages when using "auto" model with no available providers or when dmr is not available
Bug Fixes
- Fixes flaky test that was causing CI failures
- Fixes
cagent newcommand functionality - Fixes title edit hitbox issues when title wraps to multiple lines
Technical Changes
- Organizes TUI messages by domain concern
- Introduces SessionStateReader interface for read-only access
- Introduces Subscription type for cleaner animation lifecycle management
- Improves tool registry API with declarative RegisterAll method
- Introduces HitTest for centralized mouse target detection in chat
- Makes sidebar View() function pure by moving SetWidth to SetSize
- Introduces cmdbatch package for fluent command batching
- Organizes chat runtime event handlers by category
- Introduces subscription package for external event sources
- Separates CollapsedViewModel from rendering in sidebar
- Improves provider handling and error messaging
What's Changed
- docs: update CHANGELOG.md for v1.20.0 by @docker-read-write[bot] in #1538
- fix flaky test by @krissetto in #1537
- Keep footer unless something actually changes by @krissetto in #1541
- double click to edit title by @krissetto in #1542
- Use ctrl-l for the audio listening. ctrl-k is for line editing by @dgageot in #1545
- Fix and improve
cagent newby @dgageot in #1546 - TUI refactor by @dgageot in #1547
- Show better errors if
dmrnot found or no providers formodel: "auto"by @krissetto in #1552
Full Changelog: v1.20.0...v1.20.1