Skip to content

v0.37.0

Choose a tag to compare

@jakemor jakemor released this 27 Apr 20:09
· 29 commits to main since this release

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