Repository navigation
v3.4.4
3.4.4
Requires Pi 1.1.0 or later. Upgrade with npm install -g @earendil-works/pi-coding-agent@latest.
Features
- Choose whether sending steers or queues while Pi works. Set
pilish-send-while-busytosteerto makeC-c C-csteer the current run, like Enter in Pi's terminal UI. The default,follow-up, keeps the existing queuing behavior. The newM-RETbinding always queues a follow-up while Pi is busy and sends immediately while it is idle, regardless of that option; follow-up is also available asuin the transient menu; thanks @offline-ant (#384) - Optionally return to the latest output when you submit. Set
pilish-jump-to-end-on-submittotto move chat windows in the submitting frame to the end after an accepted prompt, steering message, or queued follow-up, while keeping input focus. The default remains off, preserving your reading position. Empty or refused drafts, automatic queue delivery, and hidden chats are unaffected; thanks @offline-ant (#388) - Show Markdown markup when you need it. Press
C-c C-p vin a chat to show or hide Markdown delimiters and link destinations through the transient menu. This is a display-only, buffer-local toggle: it does not change the transcript text (#409)
Fixes
- Image previews survive until a graphical client connects. Chats rendered by a daemon or before any graphical frame is available now retain their PNG and standalone SVG previews. A graphical frame can display them without a history reload, while terminal frames continue to show text fallbacks. SVG screening also more reliably rejects scripts and external references before decoding; thanks @offline-ant (#379)
- Closing one session no longer disturbs another. Chat and input cleanup now unlinks the pair before closing either buffer, so each buffer's cleanup runs once in its own buffer. Closing a session still closes both buffers and stops its process, but it no longer risks removing tool rendering or other state from an unrelated chat; thanks @offline-ant (#382)
- The session header follows changes made by Pi and extensions. Thinking-level changes caused by model switching or extensions, and session names set or cleared by extensions, now update the displayed header immediately instead of leaving stale information; thanks @offline-ant (#383)
- Delayed state replies cannot overwrite a newer session. Startup and thinking-level refreshes now discard replies belonging to an earlier session generation or process. Switching or resetting sessions therefore no longer allows an old reply to restore the previous session's saved file, thinking level, or streaming state over the current conversation; thanks @offline-ant (#406)