What's Changed
- fix: limit file parts per conversation to 30 to prevent provider error by @rossmanko in #231
- feat: implement shell tool for terminal interactions by @rossmanko in #228
- Daily branch 2026 02 10 by @rossmanko in #232
- feat: include todo list in summarization output by @fkesheh in #225
- fix: log errors on summary deletion instead of silently swallowing by @fkesheh in #236
- Add trigger.dev solution to allow running agents that require long execution times. by @mschead in #234
- Sidebar and currentChatId refactor by @mschead in #242
- Daily branch 2026 10 16 by @rossmanko in #241
- Daily branch 2026 10 17 by @rossmanko in #244
- add basic e2e scenarios (chat switching); user test configuration fix; auth storage fix by @mschead in #243
- Daily branch 2026 02 18 by @rossmanko in #247
- Feat/sandbox selector settings redirect by @rossmanko in #248
- fix: use dvh instead of vh for Safari viewport height by @rossmanko in #250
- fix: sidebar was not loading more chats on scroll by @mschead in #249
- improve summarization reliability, context usage indicator, and test coverage by @fkesheh in #237
- test: use URL-based selectors in pinned chat e2e tests by @mschead in #246
- Global State Improvement by @mschead in #238
- fix(agent-long): use sandbox for file uploads instead of AI context by @rossmanko in #251
- Perf/summarization improvements by @rossmanko in #254
- feat: stream file creation content in sidebar immediately by @rossmanko in #255
- Daily branch 2026 02 23 by @rossmanko in #257
- fix: enable agent mode reconnection by relaxing useAutoResume condition by @rossmanko in #258
- feat: save sandbox type per chat using Convex by @rossmanko in #260
- Daily branch 2026 02 26 by @rossmanko in #262
- feat: add model selector for ask and agent modes by @rossmanko in #263
- fix(sandbox): improve E2B error handling with typed error classification by @rossmanko in #264
- feat: move notes from system prompt to system-reminder for prompt cac… by @rossmanko in #266
- Refactor/sidebar streaming and tool cleanup by @rossmanko in #265
- Daily branch 2026 03 03 by @rossmanko in #267
- feat: reset rate limit buckets on subscription renewal via Stripe web… by @rossmanko in #270
- refactor: split ChatInput into modular components by @mschead in #252
- fix: clear todos when switching to chat without todos by @fkesheh in #271
- feat: single summary + auto-continue on token exhaustion by @fkesheh in #274
- feat: track tool costs and add local Convex dev support by @rossmanko in #278
- feat: replace session+weekly rate limits with single monthly credit pool by @rossmanko in #277
- feat: add local HTTP auth callback server for tauri dev mode by @rossmanko in #279
- feat: summarization prompt cache-hit via shared prefix by @fkesheh in #281
- feat: add local code execution via Tauri desktop app by @rossmanko in #280
Full Changelog: desktop-v0.0.18...desktop-v0.0.21