Files
alex 12b9b83d51 feat(status-ui): enhance desktop session controls
Add native directory selection, persisted interface scaling, and navigation back to the latest conversation message.

Restore saved session transcripts when the bridge transcript RPC is unavailable so the desktop client remains useful during bridge compatibility gaps.
2026-07-29 14:19:10 +02:00
..

Pi Status UI

Reason for existence

Provide the desktop control surface for Pi Status Bridge. The UI presents bridge state and forwards user intent; it never owns Pi sessions, worktree routing, or approval policy.

Requirements

  • Node.js 20+.
  • Rust stable and the native dependencies required by Tauri v2.
  • A running Pi Status Bridge socket. By default the app uses $XDG_RUNTIME_DIR/pi-status-bridge/bridge.sock; set PI_STATUS_BRIDGE_SOCKET to override it.

Develop

From the repository root:

npm --prefix ui ci
npm --prefix ui run tauri dev

The UI needs a running bridge. For day-to-day use, keep it in the background with the root project's npm run bridge:service:install command. For foreground development, run the bridge in a separate terminal:

node src/bridge/cli.js --worktree "$HOME"

The Tauri app connects to the bridge on startup. See the root README for start, restart, status, and log commands.

Commands

npm --prefix ui run dev           # Vite frontend only
npm --prefix ui run build         # typecheck and build frontend assets
npm --prefix ui run tauri dev     # run the desktop client in development
npm --prefix ui run tauri:release # build the production executable used by Noctalia/Mod+Space
npm --prefix ui run tauri build   # package installers (requires platform bundle tooling)

Boundaries

  • The UI sends operations only to the selected bridge agent.
  • Extension responses are forwarded unchanged to Pi.
  • The UI must not add a network transport or persist competing model/thinking defaults.

Verification

cargo test --manifest-path ui/src-tauri/Cargo.toml
npm --prefix ui run build

See the root README for bridge setup and repository-wide verification.