Commit Graph
250 Commits
Author SHA1 Message Date
WesandClaude Opus 4.6 c0af36ec7e feat: replace polling with WS subscriptions + wire workflow approvals (WF-08)
Replace REST polling with WebSocket subscriptions across the desktop app
for real-time reactivity. Wire the workflow approval infrastructure so
runs suspend at approval gates instead of failing.

Desktop subscriptions:
- Forum posts/threads: subscribeLive for kinds 45001/45003 (was 15s/10s poll)
- Workflows: subscribeLive for kind 46010 (was 1s/10s poll)
- Pulse timeline: subscribeLive for contact note events (was 30s poll)
- Channels list: reduced backstop to 5min (live updates already wired)
- Agents/personas/teams: removed polling, CRUD mutations invalidate cache
- Home feed: kept at 30s poll (relay scoping prevents global subscriptions)

Shared useReactiveSubscription hook extracts common subscribe/reconnect/
cleanup lifecycle across forum, workflow, and pulse hooks.

WF-08 workflow approvals:
- executor.rs: create_approval() called with token, expiry, approver spec
- lib.rs: finalize_run sets WaitingApproval instead of Failed stub
- Trace entry pushed for suspended steps (UI can render approval card)
- Approver spec validated at creation (rejects unresolvable role specs)
- e2e test: full round-trip trigger → waiting_approval → grant → completed

Docs: added "Subscriptions, Not Polling" principle to AGENTS.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-30 09:19:16 -07:00
fcec10547d Route ACP observer traffic over relay (#421)
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
Co-authored-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
Co-authored-by: Tyler Longwell <tlongwell@squareup.com>
2026-04-30 09:34:37 -04:00
0e9c02da2d feat: add reaction support to system events on desktop and mobile (#432)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 22:20:08 -07:00
28a4658ac2 feat: view open channels without joining (#430)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 22:06:16 -07:00
WesandGitHub 127829e0f2 [codex] Fix bot activity and mobile latest messages (#431) 2026-04-29 18:25:09 -07:00
WesandGitHub 028f53194e Check for desktop updates periodically (#429) 2026-04-30 00:53:52 +00:00
8d5949dcc4 Fix responsive layout breakpoints for small window sizes (#426)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 13:20:01 -07:00
WesandGitHub ddb242749f Fix mobile unread badges and read state sync (#422) 2026-04-29 07:44:44 -07:00
Bradley AxenandGitHub 7c2c556d72 feat: Add local ACP session observer (#412) 2026-04-29 04:21:58 +00:00
2a01ca590d Implement NIP-RS unread state sync (#420)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-28 20:54:09 -07:00
8a2562dfd5 Emoji reaction detail views (desktop popover + mobile bottom sheet) (#416)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-28 11:17:08 -07:00
00a4aaba3d fix(desktop): key-based React remount for workspace switching (#415)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-28 18:13:12 +00:00
tlongwell-blockandGitHub d1c84a621c feat(nip-oa): Owner Attestation — cryptographic proof of agent authorization (#406) 2026-04-28 09:29:15 -04:00
a9024c2c78 Add multi-workspace support to desktop app (#409)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-28 04:47:11 +00:00
ed5dad788f fix: close race window that dropped active channel messages (#410)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 16:49:08 -07:00
5a93403858 feat(pulse): rich text editor with @mentions, media uploads, and formatting (#407)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 13:57:46 -07:00
8abeb3d3ca feat: always notify on DM messages like Slack/Discord (#405)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 13:10:11 -07:00
a05565e687 feat: improve desktop app update UX (#401)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-26 16:51:28 -07:00
480d78cb91 feat: CMD+F find-in-channel search (#400)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 19:15:07 +00:00
WesandGitHub fa9f3f136d fix: remove container border/bg from image previews in chat (#399) 2026-04-24 18:16:24 +00:00
ee76396d00 Fix profile settings first launch parse failure (#383)
Signed-off-by: luthen-seas <229396760+luthen-seas@users.noreply.github.com>
Co-authored-by: luthen-seas <229396760+luthen-seas@users.noreply.github.com>
2026-04-24 10:35:19 -07:00
Luis PadronandGitHub 4cc8c1df71 feat: add emoji auto-complete via :name: (#395) 2026-04-24 16:14:57 +00:00
da0506f4ea feat(desktop): improve auto-updater UX and add global update indicator (#394)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 14:13:31 -07:00
c1a33e3ff1 feat(desktop): restore Tauri auto-updater support (#393)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 11:55:35 -07:00
1863411b1e fix(desktop): only proxy relay-origin Blossom URLs in media rewriter (#392)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 11:11:07 -07:00
686db1294e feat(desktop): streaming video proxy + player UX improvements (#389)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 09:42:44 -07:00
bc6de693f8 fix(desktop): sidebar button z-index, remember runtime, show agent ACP info (#388)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 19:09:37 -07:00
f5b2e4f8b1 feat(desktop): keyboard shortcuts registry + settings panel (#387)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-22 15:45:56 -07:00
36c97a6e2e feat(desktop): first-run onboarding flow + Lilac accent (#386)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:06:35 -07:00
e2c94a8538 feat(mobile): image upload + media viewer parity with desktop (#384)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 11:54:29 -07:00
3df7e7107f Fix zombie agent detection and surface stopped agent cleanup (#380)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 14:56:00 -07:00
4079e483a4 fix(desktop): persist chat drafts across section navigation (#381)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 14:29:15 -07:00
d26fda9e4d refactor(desktop): standardize UI with shadcn components (#379)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 13:03:48 -07:00
725dc351d7 Desktop UX polish: chat input, agent bulk actions, starting badge (#378)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 10:42:11 -07:00
818b4885e2 fix(desktop): plug memory leaks from log reads, stale caches, and unbounded maps (#377)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 07:44:58 -07:00
60b51806dd feat(desktop): improve new user defaults for presence and notifications (#376)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-21 06:48:15 -07:00
f57e5493d5 fix(desktop): expand ACP discovery to include version-manager shim dirs (#375)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 16:48:26 -07:00
2a131df718 fix(desktop): eliminate agent startup beachball (#374)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 14:34:26 -07:00
c6c27481a3 fix(desktop): resolve agent command path for DMG builds (#372)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 13:16:20 -07:00
WesandGitHub 28bf8bfeee fix(desktop): remove stale sprout-admin prereq, add sidecar tooling (#371) 2026-04-20 12:30:37 -07:00
1df5f186a6 Fix forum post card bugs on desktop and mobile (#370)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 11:14:57 -07:00
eda85c8446 fix(desktop): kill WebSocket flood and fix Markdown <p><div> nesting (#368)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 10:53:54 -07:00
WesandGitHub baecb99550 fix: staging to generate stubs as needed (#366) 2026-04-20 15:16:44 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
44f41f1aeb chore(deps): update dependency @tanstack/react-router to v1.168.22 (#364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 06:28:10 -07:00
11410be09b feat(desktop): autoscroll thread sidebar for new replies (#363)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 10:38:02 -07:00
fe93ac05a2 fix(desktop): eliminate 10+ second UI freeze on startup (#361)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 10:06:55 -07:00
9db198a332 feat(desktop): bundle sprout-acp and sprout-mcp-server as Tauri sidecars (#362)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 08:38:27 -07:00
cca1d51012 Remove release pipeline from public repo (#360)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 06:55:09 -07:00
13a14b11ec feat(desktop): rich text forum composer, autocomplete fix, version in settings (#358)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 13:50:04 -07:00
e970f0baaf chore: fix deprecation warnings and decompose AgentsView (#347)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 17:21:34 -07:00