This repository has been archived on 2026-08-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
pi-web/.changeset/session-reload-from-disk.md
T
Federico Jaramillo Martinez 82db15f894 fix(sessions): guard, gate, and test session reload
Build on the original Reload action with the fixes raised in review:

- Server reload() now refuses to run on archived (read-only) sessions
  and when the session has work in progress, mirroring archive(), so a
  reload can no longer silently abort an in-flight agent run.
- Add a sessions.reload runtime capability; the client gates both the
  reloadSession call and the Reload menu entry on it so the action only
  appears for machines whose Pi-Web runtime supports it.
- reloadSession ignores cached-new and archived sessions.
- Add server (PiSessionService + routes) and client (SessionController)
  tests covering reload success, the active-work guard, archived
  rejection, route forwarding, capability gating, and error mapping.
- Restore alphabetical parser import ordering in clients.ts.
- Add a changeset documenting the feature and the sessiond restart note.

Note: touches a session daemon code path, so pi-web-sessiond.service
must be restarted manually for the server side to take effect.
2026-06-14 14:17:51 +02:00

925 B

@jmfederico/pi-web
@jmfederico/pi-web
minor

Add a Reload action to the session three-dot menu that re-reads the session from disk. The session daemon keeps an in-memory SessionManager per session and never re-reads the session file, so when the same session is also driven by another process (for example the pi CLI), new on-disk entries were invisible to the web UI and the tail of the conversation appeared truncated. Reloading closes the active session, re-opens it from disk, discards the cached transcript, and re-fetches the history.

Reload refuses to run while the session has work in progress and on archived (read-only) sessions, and is gated behind a new sessions.reload runtime capability so it only appears for machines whose Pi-Web runtime supports it.

Note: this changes a session daemon code path, so pi-web-sessiond.service must be restarted manually for the server side of this change to take effect.