Skip to content

feat: integrate IPC hardening and live TUI for an XPS trial - #230

Open
tcballard wants to merge 3 commits into
mainfrom
feat/xps-trial
Open

feat: integrate IPC hardening and live TUI for an XPS trial#230
tcballard wants to merge 3 commits into
mainfrom
feat/xps-trial

Conversation

@tcballard

Copy link
Copy Markdown
Owner

OmaChat could render a terminal shell but could not consume daemon events, so incoming messages and delivery updates never reached the UI. This integrates #224 and #226, resolves their overlap, and adds a live client with bounded event demultiplexing, topic filtering, a sealed recent-message snapshot, conversation/unread/delivery updates, scrolling, reconnect backoff and terminal restoration on detach, signals and panic.

The local UI cache is limited to 128 messages, 32 KiB and 24 hours; it is a recent view rather than a full archive. Transport retry state remains daemon-owned. IPC v2 requires private peer credentials and single-use destructive confirmations. Follow-up review fixes serialize token issuance/redemption and avoid deleting predictable staging directories. The daemon also discovers XDG configuration, and the systemd unit permits its separate room anchors. The scheduled fuzz command explicitly selects nightly.

Validation on an XPS 9320 / Omarchy 4.0.2:

  • Clippy with warnings denied, workspace tests (corrected disconnect mocks verified separately), rustdoc, formatting and packaging/version checks.
  • Release binaries total 6,422,040 bytes against the 10 MiB ceiling.
  • Real PTY smoke test: live messages, daemon restart/reattach, detach, SIGINT/SIGTERM and terminal flag restoration. Added to CI.
  • Two real release daemons exchanged authenticated NIP-17 messages through pinned Grain v0.7.1 exposed only on localhost.

Arch chroot/package validation and the local XPS installation are being completed. Production relay deployment/retention, mobile compatibility, locked-keyring/logout/reboot matrices and the 72-hour release soak remain outside the evidence above.

Fixes #223. Fixes #225. Advances #24, #25, #60, #61 and #62.

Integrates #224 and #226 with bounded subscriptions, sealed recent-message snapshots, live delivery and unread state, reconnect, terminal lifecycle checks, and packaging preparation. Fixes #223. Fixes #225.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IPC grants full account control to any same-user process omachat-ctl cannot consume daemon events; the Subscribe/Event path has no client

1 participant