agent-orchestrator/backend/internal
Laxman 7ba860741c
fix: add terminal controls and restore copy/scroll (#372)
* fix(frontend): add terminal controls and reliable copy

* chore: format with prettier [skip ci]

* fix(frontend): preserve terminal mouse scrolling

* fix(backend): enable zellij wheel scrolling

* fix(frontend): forward xterm scroll input

* fix(frontend): restore terminal drag selection copy

* fix(frontend): make terminal wheel scroll zellij scrollback

zellij 0.44.x with mouse-mode true acts on SGR wheel reports written to
its stdin and scrolls the focused pane, but it does not enable host mouse
reporting. xterm therefore never reports the wheel itself (protocol stays
NONE) and, with scrollback:0, converts the wheel into cursor-arrow keys,
which move the agent's cursor/history instead of scrolling.

Synthesize SGR wheel reports from a custom wheel handler and send them
through the existing input pipe; accumulate pixel deltas into line counts
to match xterm's native scroll feel. Ctrl/Cmd wheel is left for the
font-size zoom handler. Drag-copy is unaffected (separate selection path).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: format with prettier [skip ci]

* fix(frontend): handle line/page wheel modes for cross-platform scroll

The wheel-to-SGR translation only divided pixel deltas by row height,
which is the deltaMode browsers emit for trackpads and normalized wheels
(macOS). Many Linux/Windows mouse wheels report whole lines (deltaMode 1)
or pages (deltaMode 2) with small deltaY, which truncated to zero lines
and never scrolled. Mirror xterm's getLinesScrolled across all three
modes so scroll works on every platform.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Harshit Singh Bhandari <dev@theharshitsingh.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 02:26:54 +05:30
..
adapters fix: add terminal controls and restore copy/scroll (#372) 2026-06-22 02:26:54 +05:30
agentlaunch feat(windows): ConPTY terminal, zellij discovery, agent launcher trampoline, codex shim resolution (#310) 2026-06-18 21:51:05 +05:30
cdc feat: ao session claim-pr + spawn --claim-pr wiring (#101) 2026-06-06 00:01:03 +05:30
cli feat: surface SCM summaries in desktop (#263) 2026-06-22 00:35:00 +05:30
config feat: require explicit project agents (#355) 2026-06-21 06:07:53 +05:30
daemon fix(review): notify worker on changes_requested instead of relying on SCM poll (#337) (#340) 2026-06-21 19:52:46 +05:30
daemonmeta fix(cli): verify daemon ownership before stop signal 2026-06-01 01:45:04 +05:30
domain feat: surface SCM summaries in desktop (#263) 2026-06-22 00:35:00 +05:30
httpd feat: add desktop notifications v1 (#262) 2026-06-22 01:14:04 +05:30
integration feat: require explicit project agents (#355) 2026-06-21 06:07:53 +05:30
legacyimport feat(import): rewrite-side legacy → rewrite first-boot import (#314) 2026-06-18 19:54:51 +05:30
lifecycle fix(lifecycle): sanitize CI logs and reviewer comments before PTY paste (#323) 2026-06-20 10:27:52 +05:30
notify feat: add notifications v1 (#181) 2026-06-14 20:02:32 +05:30
observe fix(session): make worker branch namespace child-safe (#309) 2026-06-18 20:00:15 +05:30
ports Feat/backend telemetry v0 (#307) 2026-06-18 22:00:25 +05:30
processalive refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30
review fix(review): notify worker on changes_requested instead of relying on SCM poll (#337) (#340) 2026-06-21 19:52:46 +05:30
runfile refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30
service feat: add desktop notifications v1 (#262) 2026-06-22 01:14:04 +05:30
session_manager fix(session-manager): terminate sessions even when handle is missing (#360) 2026-06-21 14:30:00 +05:30
storage/sqlite feat: add desktop notifications v1 (#262) 2026-06-22 01:14:04 +05:30
telemetrymeta Feat/posthog error tracking redaction (#329) 2026-06-21 18:50:47 +05:30
terminal fix: keep terminal mux persistent across navigation (#325) 2026-06-21 06:07:32 +05:30