## Summary
- **Calendar screen** — month strip + daily agenda, full event CRUD with recurrence picker and colour chips
- **News screen** — RSS feed with per-feed filter, reactions, and Discuss button (opens article in chat)
- **Knowledge view** — Tasks tab now loads correctly via TasksApi; removed per-type counts from tabs to prevent resize jank
- **Chat** — live tool-use status notifications during generation; conversations created with empty title so server auto-names them on first exchange
- **Voice STT** — fixed silent failure: switched from WebM/Opus to AAC/M4A, store `onError` for visible failure messages, guard NaN/±Infinity amplitude readings
- **Auto-refresh** — data refreshes on app resume (5-min throttle) and on shell tab switch
- **Briefing** — wire Discuss button on RSS news cards; cap cards at 3 per message
- **README** — updated to reflect current feature set and architecture
## Test plan
- [ ] `flutter analyze` — no issues
- [ ] `flutter test` — all 22 tests pass
- [ ] Calendar: create, edit, delete events; verify recurrence and colour chips
- [ ] News: feed filter, reactions, Discuss opens chat
- [ ] Knowledge Tasks tab loads tasks
- [ ] Voice: tap mic, speak, silence triggers transcription and response
- [ ] New chat conversation gets auto-named after first exchange
- [ ] App resume refreshes data after 5+ minutes in background
🤖 Generated with [Claude Code](https://claude.com/claude-code)
This repo is archived. You cannot comment on pull requests.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
onErrorfor visible failure messages, guard NaN/±Infinity amplitude readingsTest plan
flutter analyze— no issuesflutter test— all 22 tests pass🤖 Generated with Claude Code