summaryrefslogtreecommitdiff
path: root/src/api/server.rs
AgeCommit message (Collapse)Author
2026-09-26fix: keep api listener alive after transient accept errors (#4659)Can Celik
* fix: keep api listener alive after transient accept errors refs #4601 * fix: drop repeated api accept failure logs refs #4601
2026-09-24feat!: replace the custom graphics api with optimized native kitty rendering ↵Can Celik
(#4561) * feat!: replace the custom graphics api with optimized native kitty rendering * fix: enable safe kitty optimizations automatically --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-21fix: refresh forwarded ssh agents after reconnect (#4443)Can Celik
refs #1931
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-09-19feat: add configurable pane screen and scrollback clearing (#4383)Can Celik
2026-09-18fix: preserve request ids in socket error responses (#4353)akbash
* fix: preserve request ids in socket error responses refs #4344 * docs: clarify socket error response limits refs #4344 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-13feat: add ctrl-hover highlighting and fix wrapped links (#4074)Can Celik
refs #1282
2026-09-06feat: manage multiple ssh machines from one client (#3670)Can Celik
2026-09-05fix: make Windows Codex prompt delay size-aware (#3552)JJ Liebig
refs #3187
2026-09-02feat: add stable client endpoint compatibility (#3509)Can Celik
* feat: add stable client endpoint compatibility * fix: keep portable-pty patch checks composable * ci: run maintenance checks in pull requests * fix: reject endpoint errors from terminal clients * feat: keep compatible servers running across updates
2026-09-01refactor: render the shell in the client (#3487)Can Celik
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations
2026-08-23fix(api): start lifecycle subscriptions from live events (#3134)Can Celik
refs #1270
2026-08-10fix(server): prioritize shutdown requests (#2624)Can Celik
refs #2612
2026-08-09feat(graphics): add direct pane frame streaming (#2523)Can Celik
* feat(graphics): add direct pane frame streaming * feat(graphics): expose pane visibility * test(graphics): preserve legacy terminal image output * fix(graphics): harden streaming lifecycle * fix(input): preserve mouse releases outside panes
2026-08-08feat(input): add per-pane right-click routing (#2504)Can 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-20feat: add plugin-driven agent views and startup hooksOgulcan Celik
2026-07-19feat: make agent automation a first-class cli primitiveOgulcan Celik
2026-07-17feat: harden named agent cli workflowsOgulcan Celik
refs #1525
2026-07-16fix: stop agent wait when pane closes (#1488)akbash
2026-07-15feat: add floating popup panesOgulcan Celik
refs #1125
2026-07-15feat: add isolated pane graphics streamingOgulcan Celik
2026-07-14test: shorten macos api socket fixture pathOgulcan Celik
2026-07-14fix: flush live handoff responses before exitOgulcan Celik
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-12fix: keep windows api connections openOgulcan Celik
refs #1279
2026-07-06feat: expose pane scroll stateOgulcan Celik
2026-07-03fix: keep windows wait connections openOgulcan Celik
refs #963
2026-06-30fix: keep remote sessions alive across disconnectsOgulcan Celik
2026-06-29feat: add session snapshot apiOgulcan Celik
2026-06-29refactor: route tui mutations through runtime authorityOgulcan 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-10feat: distribute agent detection manifestsOgulcan Celik
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-06feat: improve toast ergonomicsOgulcan Celik
refs #486
2026-06-06feat: expose pane zoom apiOgulcan Celik
2026-06-05feat: add pane navigation controlsOgulcan Celik
refs #421 refs #330 related discussions: https://github.com/ogulcancelik/herdr/discussions/422 https://github.com/ogulcancelik/herdr/discussions/438 https://github.com/ogulcancelik/herdr/discussions/442
2026-06-02feat: add preview update channelOgulcan Celik
2026-06-02feat: make claude codex opencode hooks session-onlyOgulcan Celik
2026-05-26feat: add pane metadata reportingOgulcan Celik
refs #36
2026-05-25feat: hand off ptys during updatesOgulcan Celik
2026-05-23feat: add worktree cli and socket apiOgulcan Celik
2026-05-21refactor: separate server client boundariesOgulcan Celik