v0.9.4 — RTK token optimization, compact-session fixes, Codex transport stability
Features
- Optional RTK Bash token compression — Adds opt-in support for RTK in Settings → AI → Performance. Craft Agent still shows and permission-checks the original Bash command, but when RTK is installed (
>=0.23.0) and enabled, the execution path is rewritten throughrtkso common development-command output is compressed before it reaches the model. The settings UI now detects missing/outdated installs, offers Get RTK + Re-check actions, and shows saved-token / efficiency stats once RTK has processed commands. (754d254c,a96b8706,57452664)
Improvements
-
Backend packaging cleanup after Pi consolidation — Removes stale Copilot/Codex binary packaging entries, import guards, runtime fields, and docblocks that survived the move to the actual two-backend architecture (
ClaudeAgent+PiAgent). This trims dead build metadata and makes the codebase less misleading for future backend work. (a96b8706) -
OSS README metadata refresh — Adds the Trendshift badge to the OSS README so repository discovery metadata stays current. (
7feae925)
Bug Fixes
-
OpenAI/Codex long-running session instability — Upgrades the Pi SDK stack to
0.73.1, picking up the upstream Codex transport fixes: WebSocket setup can fall back to SSE before streaming starts, and cached WebSocket sessions are closed properly during session shutdown. This targets the1011keepalive timeout,1006disconnect, and certificate-verification failures reported for long-running ChatGPT Plus / Codex OAuth sessions. Fixes #747. (e30762b6) -
Compact session menu no longer clips nested actions — On narrow/compact layouts, the chat title menu now uses a vaul drawer with iOS-style drill-in panes for Status, Labels, Share, and Messaging instead of Radix nested dropdowns anchored inside the container-query panel. This keeps status and label actions reachable on small widths while leaving the desktop dropdown unchanged. The follow-up review fixes close leaked desktop dropdown state when switching layouts and prevent drawer actions from retargeting if navigation changes the active session while the drawer is open. (
db9f506f,084547e8) -
Rapid session-label toggles are race-safe — Extracts shared session-menu behavior into
useSessionMenuActionsand moves label toggling to optimistic state that compounds rapid taps, avoids Strict Mode double side effects, and resets correctly when switching sessions. This fixes compact drawer multi-label editing and removes behavior drift between desktop and compact session menus. (f0c12ed1,88f8d733) -
Skills “Show in Finder” opens the real skill folder — Skills list, skill detail, and skill menu actions now reveal the authoritative
skill.pathdirectory instead of constructing a syntheticSKILL.mdpath, and failures surface via a platform-aware Finder/Explorer toast instead of silently no-oping. Fixes #756. (d44e5691)
Breaking Changes
- None. All changes are backward-compatible.