Skip to content

PiChamber v0.8.2

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 22:08
· 8 commits to main since this release

[0.8.2] - 2026-09-04

Prompt-template safety, shortcuts, background worktree tasks, and reliability fixes.

  • Prompt template edits no longer kill sessions. Creating, updating, or deleting a prompt template no longer calls runtimeRegistry.disposeAll() and no longer fails with SESSION_BUSY while a runtime is streaming. Idle runtimes pick up the change through Pi session.reload() in place (session file, ID, and transcript untouched); busy runtimes defer until agent_settled/compaction completion. Global changes fan out to all runtimes, project changes stay scoped to that directory, and committed files return immediately while activation is deferred (session-daemon, extension-bridge, prompt-operations, docs/research/prompt-template-runtime-reload.md).
  • Terminal and dictation WebSockets survive restarts (#92). oc_url_token minted at /auth/url-token is now an EncryptJWT (dir/A256GCM) sealed with a key derived from the persisted JWT secret instead of an in-memory map, so a server restart no longer invalidates a token the browser may still use for /api/terminal/ws or /api/stt/ws. Global sign-out still rotates the secret and invalidates outstanding tokens (ui-auth).
  • Shortcuts pruned, folder cycling added. Removes dead bindings (go-to-line, terminal-expanded, toggle-files, prompt-navigator toggle, right-sidebar git/files tabs, services-tab cycle) and their Header/FilesView/keyboard/Electron-menu handlers, renames toggle_right_sidebar to open_right_sidebar, and adds cycle_session_folder / cycle_draft_folder backed by a new folderCycle module with unit tests. HelpDialog widens to Settings-window size with a two-column grid (shortcuts, folderCycle, useKeyboardShortcuts, HelpDialog, KeyboardShortcutsSettings, main.mjs).
  • Model picker ignores key repeat (#82). Holding mod+shift+m no longer re-triggers the model selector on auto-repeat keydowns (shouldHandleModelSelectorShortcut).
  • Worktree creation moves to background tasks (#85). New-session worktree sends are non-blocking: a Worktree queued toast fires and a fresh draft opens while the captured prompt materializes on setup-ready. Replaces the global banner with BackgroundTasksMenu (hidden when empty, no count badge, leftmost of the header right-side buttons) plus WorktreeCreationToasts; draft helpers and useWorktreeCreationStore/session-ui-store updated with regression tests.
  • Retention cleanup threads the owning directory (#84). PiSessionStore.archive/remove accept an optional directory and resolve explicit arg → catalog.byId → focused sessions, PiService.deleteSession forwards scope.directory as ?directory=, and useSessionAutoCleanup passes the resolved directory through. Fixes foreign-session INVALID_SESSION rejections when cleanup candidates live outside the focused folder, with client/store/candidate plus server owning/wrong-directory regression tests.
  • Activity and response reveal gates separated (#90). TurnAssistantBlock now gates only final-response messages (filtering activity-rail activityPartIds, tool-only records, and progress text projected to the rail) instead of raw message count, and TurnActivityRail hides the Load earlier activity control while collapsed. Large settled turns still defer behind Load earlier response / Load full response at the 32-message boundary (TurnAssistantBlock, TurnItem, TurnActivityRail).
  • Tool and thinking presentation polish (#86). Expandable tool rows hug context text instead of stretching surface-subtle across the row with duration pinned far-right like static read rows, static skill/read rows normalize to items-center rhythm, and thinking headers share a 20px line box (items-center, h-5, leading-none, preview at markdown size) so mono glyphs no longer drop (ToolPart, StaticToolRow, ReasoningPart).
  • Copy working directory in the header session menu (#87). Adds a copy-CWD action to the header session menu (Header).
  • Dialog copy fixes (#88, #89). Drops stray literal backslashes from quoted names in the Archive session, folder delete, desktop host-switcher toast, git-identity delete, and dev-server error copy (plain quotes matching HeaderRetentionDialog), and makes close-worktree warnings legible in dark and light themes (ConfirmDialogs, SidebarSpacesBar).
  • Relay test reliability (#83). Scripted relay client test finishes async setup before dialing so the loopback socket cannot emit its one-shot open before the listener attaches (host-client.test.js).