Commit Graph

79 Commits

Author SHA1 Message Date
Brennan Benson 94f3d34a94
Fix terminal Set Title input disappearing (#2306)
Co-authored-by: Orca <help@stably.ai>
2026-05-19 10:29:45 -07:00
Brennan Benson cf614b5f4f
Fix agent completion notification dedupe (#2304)
Co-authored-by: Orca <help@stably.ai>
2026-05-19 00:28:55 -07:00
Brennan Benson cdd40f117e
Fix E2E completed onboarding profile for restarts (#2299)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 20:42:59 -07:00
Brennan Benson daa72ca33e
Fix E2E onboarding setup (#2292)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 19:09:21 -07:00
Brennan Benson ffc7d77dbe
Keep Mac awake while agents run (#2227)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 14:09:21 -07:00
Jinwoo Hong b25ea6b5bd
Fix Windows right sidebar titlebar overlap (#2266) 2026-05-18 16:09:31 -04:00
Brennan Benson 108a764c09
Fix slept child workspace status (#2219)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 11:01:42 -07:00
Neil db8af09f86
Fix flaky e2e rename and onboarding skip (#2235) 2026-05-18 01:05:24 -07:00
Neil 82372fbbdb
fix: stabilize e2e assertions (#2217) 2026-05-17 21:51:50 -07:00
Brennan Benson c78b8bde55
Improve child workspace card UI (#2213)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 21:24:03 -07:00
Brennan Benson 956a6a2b03
fix: require project setup in onboarding (#2177)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 21:15:50 -07:00
Brennan Benson 0b07a8d6e6
Fix terminal Set Title during agent title updates (#2184)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 21:00:47 -07:00
Neil d89fdd0ab8
Fix shifted Russian input in kitty terminal mode
Fixes shifted non-ASCII keyboard input when kitty keyboard reporting is active, including keyup release handling.
2026-05-17 20:52:28 -07:00
Brennan Benson 5642277aaf
Update agent awake setting copy (#2183)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 16:55:44 -07:00
Neil 10b63bd1a0
Fix onboarding E2E drift (#2170) 2026-05-17 15:13:12 -07:00
Jinwoo Hong 102ca09a38
Fix Windows dev terminal PATH and shell icons (#2152) 2026-05-17 15:43:53 -04:00
Brennan Benson a9fbcbc0f6
Add feature tour Help menu hint (#2150)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 10:58:50 -07:00
Neil 0c794f790a
Fix collapsed sidebar titlebar control overlap (#2087)
* fix: separate collapsed sidebar titlebar controls

* fix: stabilize collapsed titlebar e2e
2026-05-16 11:50:26 -07:00
Jinwoo Hong 13e11d1450
Remove mobile lock terminal scrim (#2074)
Co-authored-by: Orca <help@stably.ai>
2026-05-16 02:21:24 -07:00
Jinwoo Hong 86192ef53d
Fix inactive terminal bar cursor rendering (#2058)
* Fix inactive terminal bar cursor rendering

Co-authored-by: Orca <help@stably.ai>

* Test inactive cursor over prompt glyph

Co-authored-by: Orca <help@stably.ai>

* Test inactive prompt cursor rendering

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-16 03:05:50 -04:00
Neil 6eae8fa540
ci: shard electron e2e workflow (#2070) 2026-05-15 23:52:37 -07:00
Jinjing 9a15841a21
fix: enable remote agent hooks by default (#2066) 2026-05-15 22:06:00 -07:00
Brennan Benson 013f740023
Show agent rows for nested workspace children (#2008)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 18:43:13 -07:00
Brennan Benson 4614b8629d
Fix pane key acknowledgement migration (#1998) 2026-05-15 17:31:21 -07:00
Brennan Benson bf85d51bc1
Add workspace lineage grouping (#1885)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 17:21:00 -07:00
Jinwoo Hong bce3ef1776
Add OpenCode usage analytics (#1986)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 16:33:15 -07:00
Jinjing b93849a577
Add inline diff note edit E2E coverage (#1951)
* Add inline diff note edit coverage

* test: add diff note edit coverage
2026-05-15 13:41:30 -07:00
Brennan Benson e5c394b09b
Add pull request creation flow (#1960)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 13:36:06 -07:00
Jinwoo Hong 79838275a4
Improve Claude and Codex usage tracking (#1968)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 13:16:55 -07:00
Brennan Benson 60fdd11114
Migrate agent pane identity to stable leaf ids (#1909)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 12:10:06 -07:00
Prateek Rungta e42c78107c
Mobile: replace presence-lock banner with loud overlay + collapsible chip (#1899)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-05-15 11:47:13 -07:00
Brennan Benson e7833d8d17
Fix Droid native title completion notifications (#1944)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 11:34:01 -07:00
Brennan Benson fd813e7639
Keep computer awake while agents run (#1937)
Co-authored-by: Orca <help@stably.ai>
2026-05-15 11:19:19 -07:00
Leynier Gutiérrez González b030257c3b
feat(source-control): AI commit message generation (#1487)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-05-15 02:18:46 -07:00
Brennan Benson 2cadcbc4e1
Support agent status hooks over SSH (#1865)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 16:06:23 -07:00
Brennan Benson 2e5ac1c8eb
Add onboarding feature setup checklist (#1853)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 15:21:30 -07:00
Brennan Benson be72e64a47
Improve source control discard flow (#1870)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 15:20:53 -07:00
Brennan Benson fdf7d9e97a
feat(onboarding): add feature wall tour (#1772)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 15:20:49 -07:00
Brennan Benson 28a5acb931
feat(sidebar): redesign Smart worktree sort around hook-reported agent state (#1701)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 12:20:57 -07:00
Brennan Benson 727226fed9
fix(agent-hooks): write managed hook script to shared ~/.orca path (#1546)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 11:57:48 -07:00
Brennan Benson ba0a5b47ed
feat(ssh): agent-status over SSH (#1702)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 22:09:32 -07:00
Jinwoo Hong 9964d98107
Fix e2e worker teardown cleanup (#1785)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 19:39:05 -07:00
Jinjing 14953089a2
fix: restore dead terminal setup e2e hook (#1787) 2026-05-13 18:48:14 -07:00
Brennan Benson 29e8eae70e
perf(session): prune local terminal scrollback from persisted sessions (#1753)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 16:34:44 -07:00
Brennan Benson 180b5c29a7
test(e2e): make terminal-attention BEL emission PATH-independent (#1771)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 16:32:33 -07:00
Jinwoo Hong abcd2d5836
fix: harden Windows computer use runtime (#1757) 2026-05-13 12:37:47 -07:00
Jinwoo Hong 954fb9f316
Add multi-select worktree actions (#1732)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 00:18:17 -07:00
Brennan Benson daaea6acaa
Fix terminal output lag from background panes (#1699)
* Fix terminal output lag from background panes

Co-authored-by: Orca <help@stably.ai>

* Fix scheduler edge cases: replay ordering, foreground gate, dispose race

- Drain queued background bytes before replay/snapshot writes so the
  scheduler's deferred drain cannot land older bytes on top of the replay.
- Gate foreground on isVisibleRef only — visible-but-inactive split panes
  should not be throttled; only hidden panes (background tabs) should be.
- Catch writes to disposed terminals in the drain loop so a late PTY ping
  after pane.terminal.dispose() drops the dead entry instead of crashing
  the scheduler for other panes still draining.
- Update App.tsx comment to drop stale agentStatusEpoch reference; epoch
  no longer ticks on every PTY event after the agent-status slice change.
- Guard e2e Math.max(...drainWrites) against empty array to avoid a
  vacuous pass.

Co-authored-by: Orca <help@stably.ai>

* Fix flaky e2e: put background marker after burst payload

The terminal-output-scheduler e2e test asserts that a background marker
appears in the terminal buffer after switching to that tab. getTerminalContent
returns only the last 4000 chars of the serialized buffer; with the marker
prefixed before a 50000-char x-burst, the marker is always evicted and the
final assertion always fails.

Move the marker to the END of the burst so it survives tail truncation. The
burst itself remains the same length, so the chunked-drain invariants the
test exercises are unchanged.

Co-authored-by: Orca <help@stably.ai>

* Add terminal scheduler regression coverage

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-11 17:00:44 -07:00
Jinwoo Hong 0f54103dda
Add native computer-use automation (#1683)
Co-authored-by: Orca <help@stably.ai>
2026-05-11 14:20:08 -07:00
Brennan Benson 1f43346c5f
fix(resource-usage): hydrate pty-registry at boot; render `· remote` only for SSH repos (#1667)
* WIP: Changes before auto-review fixes

Co-authored-by: Orca <help@stably.ai>

* fix: address auto-review-fix-multi-agent findings

- Replace local ORCA_WORKTREE_ID_SEPARATOR with shared WORKTREE_ID_SEPARATOR
- Make hydrateLocalPtyRegistryAtBoot idempotent (one-shot per process,
  but stays retry-eligible until daemon provider is available)
- Strengthen daemon-pty-adapter strict-parser test to actually exercise
  the new short-circuit (test would have passed under the old loose
  parser too without the change)
- Add eslint-disable max-lines directive to oversized merge test file

Co-authored-by: Orca <help@stably.ai>

* chore: archive auto-review context to .context/

Co-authored-by: Orca <help@stably.ai>

* fix: address auto-review-fix findings

Drop the destructive reconcileOnStartup call from boot-time PTY registry
hydration: a transient listRepoWorktrees failure (returns [] and only
warns) would otherwise let the reconcile pass kill live local sessions.
The boot path is now read-only against the daemon — listSessions() only.

Also: tighten parsePtySessionId to reject degenerate `::` halves; replace
stale pty.ts:1005 references and a misleading local-unknown comment in
the hydrate module; narrow Store dependency to Pick<Store, 'getRepos'>;
log adapter listSessions failures instead of silently swallowing them;
re-anchor design-doc references on stable symbols and align §1b/§1c/§1d
with the implementation.

Co-authored-by: Orca <help@stably.ai>

* docs(resource-usage): update remote badge spec

Co-authored-by: Orca <help@stably.ai>

* test(resource-usage): cover boot hydration failure modes + warm-reattach e2e

Adds the regression coverage flagged in PR #1667's test plan that wasn't
already locked down.

vitest (`hydrate-local-pty-registry.test.ts`):
  - daemon offline at first call → no-op, hasHydrated stays false so a
    later macOS dock re-activation can retry.
  - listSessions rejection caught and logged, does not throw.
  - pid-write ordering: a pre-existing registry entry with pid=12345 is
    not clobbered by a stale `pid: null` from listSessions (§1d).
  - SSH-gate: a session whose repo has a non-null connectionId stays out
    of the registry, mirroring the spawn-time gate in pty.ts.
  - Happy-path: a local session is registered with the daemon's pid.

Playwright e2e (`resource-usage-warm-reattach.spec.ts`):
  Full quit→relaunch cycle against the same userDataDir; asserts that
  on the second launch the snapshot includes the warm-reattached PTY
  with a real pid before any pane mount, and that the seeded repo
  resolves as local (no connectionId). Mirrors the existing
  terminal-restart-persistence pattern.

Co-authored-by: Orca <help@stably.ai>

* fix(test): satisfy Pick<Store, 'getRepos'> in hydrator vitest

CI typecheck failed because FakeStore's getRepos returned objects missing
Repo's required fields (path, displayName, badgeColor, addedAt). Fill with
placeholder values; the hydrator only reads id + connectionId, but the
type signature still has to line up.

Co-authored-by: Orca <help@stably.ai>

* chore(resource-usage): drop bug-doc files; strip dead doc refs from comments

Remove docs/resource-usage-remote-mislabel.md (new in this PR) and revert
docs/resource-usage-merge-spec.md to the PR-base state. Strip the
matching `docs/...md §N` pointers from code/test comments, keeping the
surrounding "why" explanations intact so readers still get the
warm-reattach mislabel context.

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-10 17:17:52 -07:00