aboutsummaryrefslogtreecommitdiff
path: root/src/api/subscriptions.rs
AgeCommit message (Collapse)Author
2026-09-21fix: preserve session layouts across shutdown and restore failures (#4400)Can Celik
* fix: preserve session layouts across shutdown and restore failures refs #4320 * test: update subscription fixture for pane restore errors --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: drain event subscriptions and report history loss (#4225)Eric Yue
* fix: drain event subscriptions and report history loss refs #4178 Root cause: Each subscription emits at most one matching event per 100 ms poll, while the shared event history retains only 512 entries. Bursts therefore build a backlog, and an evicted cursor silently resumes at the oldest retained event with no indication that earlier events were lost. Fix: Drain the bounded retained batch for lifecycle and agent-status streams. Check for history loss while holding the same lock used to read events, then return an events_lost error and close only the affected subscription. Keep event envelopes, request shapes, endpoint codecs and wait behavior unchanged. Preserve state filters, initial snapshots, event order and the existing cadence for snapshot-only subscriptions. Document resubscription and snapshot recovery in the unreleased API docs. Add regressions for burst draining, startup-window loss, retention bounds, status ordering and filtering, and unavailable history. Validation: Three socket regressions fail before the fix and pass afterward. Thirty-two focused API tests and five repeated rounds of socket tests pass. The real current-master comparison receives 516 of 600 events before the fix and 600 of 600 after it in about 0.97 seconds. A paused reader receives the explicit error, and a new subscription plus snapshot recovers successfully. Full native just ci on the dependency-inclusive branch passes 3631 Rust tests with six default skips, formatting, all-target Clippy, 112 maintenance tests, six architecture tests and 39 integration-asset tests. All seven docs contract tests pass. No retries or additional exclusions were used. Local Windows cross-lint was not run because its SDK is unavailable. * test: cover subscription isolation across platforms refs #4178 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-08-23fix(api): start lifecycle subscriptions from live events (#3134)Can Celik
refs #1270
2026-07-31fix: read alternate-screen agent historyOgulcan Celik
2026-07-26fix: improve sidebar worktree hierarchy and reordering (#1873)Can Celik
* fix: clarify sidebar worktree hierarchy refs #1694 * feat: reorder worktree groups as a unit refs #1694
2026-07-16fix: stop agent wait when pane closes (#1488)akbash
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-06feat: expose pane scroll stateOgulcan Celik
2026-07-04feat: emit layout update events for runtime layout changesOgulcan Celik
2026-06-29feat: emit placement mutation eventsOgulcan Celik
2026-06-14feat: add plugin v1 systemOgulcan Celik
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs. Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
2026-06-13feat: add pane move api and cliOgulcan Celik
refs #299
2026-06-12fix: stabilize public pane and tab idsOgulcan Celik
refs #569
2026-05-26fix: deliver agent status subscriptions from event hubOgulcan Celik
2026-05-26feat: add pane metadata reportingOgulcan Celik
refs #36
2026-05-26fix: emit matching agent status subscriptions (#295)kangal-bot
refs #288 Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-23feat: add worktree cli and socket apiOgulcan Celik
2026-05-21refactor: separate server client boundariesOgulcan Celik