v0.37.0
New Features
Archive Chats — You can now archive chats from the sidebar to keep your active project list clean without losing history. Archiving hides a chat from the project's normal chat list while preserving the full transcript, and an "Archived chats" entry appears for any project that has them. Click it to open a dialog showing every archived chat with its age and last activity, then reopen any of them in one click — they pick up exactly where you left off and rejoin your active list. jake
Resizable Sidebar — The desktop sidebar is now drag-resizable with a dedicated handle on its right edge. Width is clamped to a sensible range (220–520px), persists across reloads via localStorage, and is keyboard-accessible — focus the handle and use arrow keys to nudge the width, or press Home/End to jump to min/max. jake
Chat Row Context Menu — Right-click any chat in the sidebar to get a full action menu: Rename, Share (opens the standalone transcript share dialog), Open in Finder, Fork (when supported), and Delete. Sharing now works directly from the sidebar without having to first open the chat — the share dialog state lives at the app level so you can share any chat from anywhere. jake
Improvements
Hide Projects Instead of Removing Them — Removing a local project from the sidebar now hides it instead of wiping its data. Reopening that project later (e.g. by cd-ing into the directory and starting a new chat) automatically un-hides it and restores all of its existing chats — nothing is lost. jake
Full 24-Hour Activity in Sidebar Previews — The collapsed view of each project now shows every chat active in the last 24 hours, instead of being capped at a fixed count. Older chats are still tucked away behind the expand toggle, but you'll never miss a recent conversation. jake
No Notification Sounds Before Settings Load — Chat notification sounds are now suppressed until your app settings have finished hydrating, so you won't get an unexpected blast on app startup before your sound preferences have been applied. jake
Under the Hood
Centralized Sidebar Action State — Standalone share dialog state, chat row handlers, archive/unarchive plumbing, and project-hide flows now live in useKannaState, so chat pages and sidebar rows share a single source of truth. jake
Archive Protocol & Read Models — Added chat.archive / chat.unarchive WebSocket commands, event-store entries, and read-model coverage with new tests. jake