v0.41.0
New Features
Browser Panel — The chat workspace now has a brand-new Browser side panel alongside the existing Git panel. You can switch between Git and Browser from the navbar, and your active panel choice persists per project.
The Browser panel embeds a live iframe with a full navigation toolbar (address bar, Back/Forward/Reload, Home, Open externally, zoom in/out, and zoom level). Type any URL or click a detected local server to preview it inline without leaving Kanna. Zoom level and address persist per project so coming back to a project picks up exactly where you left off. jake
Auto-Discovered Local Dev Servers — The Browser panel scans your machine for listening HTTP servers using lsof -nP -iTCP -sTCP:LISTEN, fetches each one to grab its <title>, and shows them in a list. Crucially, it figures out which servers belong to this project by walking process ancestry (so servers started inside one of the project's embedded terminals are tagged), and by comparing each owner's working directory against the project root. Project-owned servers are surfaced first; "other" servers from elsewhere on your machine are tucked behind a toggle.
For each detected server you can: click to load it in the embedded browser, open it in your real browser, right-click to Kill the process (sends SIGTERM to the listening PID), or refresh the list. Internal noise like nginx, Cloudflare workerd, Postgres, Redis, Cursor's helper processes, etc. is filtered out automatically so the list stays clean. Results are cached for 30 seconds (keyed on the actual listening signature) to keep scans cheap. jake
Project Quick Actions — Save commonly-used commands (e.g. bun dev, bun test --watch, docker compose up) as one-click Quick Actions per project, right inside the Browser panel. Each action runs in a fresh embedded terminal, and Kanna automatically re-scans for local HTTP servers a few times after the action runs so a freshly-started dev server shows up in the Browser panel almost immediately.
Quick actions are stored alongside the project in .kanna/quick-actions.json (max 50 per project, labels capped at 80 chars, commands capped at 2,000) so they're discoverable, editable, and check-in-able if you want. Add, edit the label, and delete actions inline. jake
Improvements
Compact Chat Navbar — Tightened padding, smaller icon sizes, and rounded container styles for a more compact header layout. Collapsed-state branding now only appears on desktop, buttons use transparent hover states, and terminal/export action icons have been resized to match the new visual scale. jake
Refined Open-External Menu — The open-external action and its dropdown trigger have been restyled with smaller icons and reduced padding for better alignment with the navbar. jake
Under the Hood
Renamed Right Sidebar → GitPanel — The old RightSidebar component (and its tests) was renamed to GitPanel so it composes cleanly with the new BrowserPanel under the unified right-panel slot. jake
Local Server Protocol & Tests — Added browser.listLocalHttpServers, browser.killLocalHttpServer, project.readQuickActions, and project.writeQuickActions WebSocket commands with shared types (LocalHttpServerInfo, ProjectQuickAction) plus unit-test coverage for lsof parsing, internal-responder filtering, and quick-action normalization. jake
Terminal Workspace Plumbing — Terminal manager and layout/sidebar stores now expose terminal root PIDs and panel state so the Browser panel can correlate listening ports back to project-owned terminals. jake