0.3.12 brings session sharing to the web: you can now share a Keating learning session as a short link, a compressed snapshot embedded in the URL, or a local-only shared link. The backend is powered by Nitro endpoints for publishing and loading sessions from server storage.
Portable Session Sharing
The chat header now includes a share button with three sharing modes: server-backed short links (persisted on the Keating server), compressed snapshot links (the full session payload is embedded in a base64 URL fragment for maximum portability), and local-only short links (shared via browser clipboard with no server roundtrip). Each mode preserves the full message history, model selection, and thinking-level settings.
Nitro Share Storage Backend
Server-backed sharing is handled by a new Nitro API route at /api/share. Sessions are published with a short random slug, stored server-side, and loaded on demand. The endpoint also supports updating existing shares so you can keep a link alive as a session evolves. Compressed snapshots bypass the server entirely: the session JSON is gzipped, base64-encoded, and appended to the URL hash for zero-dependency sharing.
UI Settings Expansion
A new Settings section lets you choose the default share-link mode (server, snapshot, or local) and select your app-wide font family. Forked sessions now preserve parent metadata and appear as part of an explorable session tree in the sidebar.