Commit Graph
1251 Commits
Author SHA1 Message Date
Jinwoo-HandOrca 53b31acd99 Fix GitHub client test lint after rebase
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:46 -04:00
Jinwoo-HandOrca dcebb81503 Preserve checks cache on refresh failures
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:04 -04:00
Jinwoo-HandOrca 581cfee01b Handle PR refresh fallback errors
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:04 -04:00
Jinwoo-HandOrca 93bf77f271 Optimize PR refresh queue usage
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:03 -04:00
Jinwoo-HandOrca 4aca41adfe Close PR refresh stale-state gaps
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:03 -04:00
Jinwoo-HandOrca 8d0a11b4ee Remove sidebar PR refresh adornments
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:50:03 -04:00
Jinwoo-HandOrca 37511c80eb Make active PR refresh immediate
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:38 -04:00
Jinwoo-HandOrca 20319c277c Refresh PR state on worktree activation
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:38 -04:00
Jinwoo-HandOrca 169ab144fb Fix GitHub refresh review follow-ups
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:38 -04:00
Jinwoo-HandOrca e8b6ccf23b Close GitHub refresh review gaps
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:16 -04:00
Jinwoo-HandOrca 8305f5c471 Tighten GitHub refresh UI and pacing
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:16 -04:00
Jinwoo-HandOrca 62f465e5bf Reduce PR refresh queued indicator noise
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:16 -04:00
Jinwoo-HandOrca 7612ee31ad Fix stuck PR refresh queued indicator
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:16 -04:00
Jinwoo-HandOrca 85b3319fea Improve GitHub PR refresh freshness
Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:49:16 -04:00
Jinwoo HongandOrca 1948458fb0 Add local automations workflow (#1806)
* Add local automations

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

* Add local automations workflow

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-14 02:31:52 -04:00
Jinjing 17aef50c82 fix: handle non-git worktree paths (#1805) 2026-05-13 22:22:51 -07:00
Jinjing d08a1b9525 fix: route terminal file drops by tab (#1804) 2026-05-13 22:15:46 -07:00
Jinjing c003a88777 feat: group activity threads by status (#1803) 2026-05-13 22:12:28 -07:00
Brennan BensonandOrca ba0a5b47ed feat(ssh): agent-status over SSH (#1702)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 22:09:32 -07:00
Jinjing e7bdd18e2f fix: address review findings (#1800) 2026-05-13 22:06:03 -07:00
buf0-bot[bot]andorca-bug-scan-bot 3c21e08781 fix: pr-bug-scan validated finding from #1751 (#1790)
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-05-13 22:02:57 -07:00
Brennan BensonandOrca 6e28df60d7 fix(updater): pin stable feed before download (#1797)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 22:01:49 -07:00
Jinjing bfd365afa5 fix: stop file explorer drag edge scroll (#1798) 2026-05-13 21:53:14 -07:00
Brennan BensonandOrca e361b4339e fix(release): harden prerelease update fallback checks (#1793)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 21:45:33 -07:00
Brennan BensonandOrca 70ec7c0603 Activity agent response previews (#1795)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 21:37:39 -07:00
ac7ac81137 feat(main): Add droid to AgentHooks and sidebar agents status (#1695)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: brennanb2025 <brennankbenson@gmail.com>
2026-05-13 21:30:13 -07:00
Jinwoo HongandOrca 3d07c2a28a Add floating terminal orchestration setup (#1763)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 20:10:53 -07:00
Neil 75d5a65633 Add notebook preview support (#1725)
* Add notebook preview support

* Fix notebook reopen and browser routing

* Add editable runnable notebooks

* Restore notebook highlighting and defer source serialization

* Mark notebook editor beta

* Fix notebook Python syntax highlighting

* Improve notebook cell controls and dark editing

* Fix notebook focus and save shortcuts

* Fix restored notebook file loads

* Harden notebook perf and output rendering

* Fix notebook source toggle shutdown noise

* Harden notebook execution trust prompt
2026-05-13 19:28:19 -07:00
Brennan BensonandOrca 5e9f54808a Show Codex permission requests as waiting (#1788)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 18:53:52 -07:00
NeilandJinjing 638b7e07bb Rename Activity tab to Agent View (#1773)
* rename Activity tab label to Agent View

Renames the user-visible tab label from 'Activity' to 'Agent View' in
the sidebar nav and the activity-page titlebar (plus matching tooltip
and aria-label). Internal view ID, store slice names, and component
filenames remain 'activity' to avoid behavioral risk — this is a pure
copy change.

* rename activity view labels to agents

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-05-13 18:35:18 -07:00
Neil f3d8f59567 Focus floating terminal on hotkey toggle (#1775) 2026-05-13 17:52:10 -07:00
Neil a04964630e Fix relative Codex file links in terminal (#1779) 2026-05-13 17:36:25 -07:00
Brennan BensonandOrca 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 BensonandOrca 6e482a00d7 fix(terminal): set paneKey env on CLI-spawned terminals so agent status surfaces (#1727)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 16:20:59 -07:00
Neil 07210ae24c Fix floating terminal default migration (#1767)
* Fix floating terminal default migration

* Add floating terminal icon context menu
2026-05-13 16:18:22 -07:00
Jinjing 5a6b2994ea fix: address review findings (#1770) 2026-05-13 16:14:50 -07:00
Brennan BensonandOrca 575b1d42ed Fix live Activity thread metadata (#1760)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 16:02:32 -07:00
Brennan BensonandOrca be7825adb9 Make Activity default-on (#1765)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 15:39:45 -07:00
Jinjing c8d97f3b98 fix: include gitignored files in quick open (#1762) 2026-05-13 14:29:30 -07:00
Jinwoo HongandOrca a076656ff8 Update Orca Mobile Android release link (#1759)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 13:59:05 -07:00
Prateek RungtaandJinjing 74373c2deb Drop the per-workspace AGENTS toggle in the sidebar (#1738)
* Drop the per-workspace AGENTS toggle in the sidebar

The chevron header above each card's inline agent list re-litigated a
decision the global "inline-agents" view option already controls, and
sat one row above the agent it labelled — so aiming for the agent and
hitting the chevron collapsed the section the user wanted to interact
with. Collapsed state was session-only, so there was no payoff for the
misclick.

Always render the inline agent list when the global toggle is on; never
render it when it's off. The wrapper keeps a stopPropagation handler so
clicks on the empty row gutter don't reach WorktreeCard's outer
activate/edit-meta handlers, plus role="group" + aria-label="Agents" so
screen-reader users still get a labeled region.

Also drops the leading pl-1 on DashboardAgentRow so the freed row gets
a touch more horizontal room. DashboardAgentRow's only call site is
this inline list, so there's no asymmetry to fix elsewhere.

* Added more tests

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-05-13 13:34:28 -07:00
Jinjing 0273e38240 Fix start-from-PR display refresh (#1751) 2026-05-13 13:08:45 -07:00
Jinwoo HongandOrca e0b5a544a8 Improve Orca Mobile discoverability (#1758)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 12:41:10 -07:00
Jinwoo Hong abcd2d5836 fix: harden Windows computer use runtime (#1757) 2026-05-13 12:37:47 -07:00
Brennan BensonandOrca 2d5fb175d7 Show running agents in Activity threads (#1754)
* fix: show running agents in activity threads

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

* polish activity thread prompt alignment

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

* polish activity thread controls

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

* match activity thread agent state icons

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

* polish activity thread state icon size

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-13 12:33:41 -07:00
Brennan BensonandOrca f4009fdaa9 fix(activity): polish thread-row hover and widen list (#1750)
* fix(activity): polish thread-row hover, restore stable layout, widen list

The activity thread list had several hover regressions: the cursor wasn't
indicating clickability, hovering shifted the row contents because the
bell-toggle replaced the timestamp under the cursor, and the timestamp
tooltip could get stuck open after the trigger faded out (Radix didn't
dismiss because opacity:0 left it interactable). The Jump-to-workspace
button in the right pane header also read as easy-to-miss chrome.

Surface per-card actions on hover (Open + Mark-unread) in a reserved
slot so the worktree-name's flex width doesn't reflow when the buttons
appear. Drop the redundant header button. Bump the default thread list
width 340 → 480px (range 320–720) and let prompts wrap to 3 lines so
the cards work as the primary surface — the terminal is supplementary.

Mark-unread only appears for already-read threads (selecting an unread
thread auto-marks it read, so a "mark read" button would be redundant).
The remove-events-count badge change was already staged locally and is
included to keep the row chrome consistent with the new layout.

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

* fix(activity): replace 'Open' label with ExternalLink icon-only button

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

* fix(activity): move Mark-unread into the bell slot on hover

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

* fix(activity): match WorktreeCard bell pattern in thread rows

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

* fix(activity): drop AGENTS heading, add overflow menu with Mark all read

The 'AGENTS' uppercase header was redundant — the activity titlebar
already names the surface. The 'Mark all read' button was also stuck in
the titlebar far from the threads it acts on.

Drop the heading and surface 'Mark all read' as a per-list overflow menu
(MoreVertical) next to the Filter input + unread-only toggle. The action
disables when there's nothing unread to mark.

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-13 12:13:18 -07:00
Jinwoo HongandOrca 96f35dcfaf Enable Floating Terminal by default (#1752)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 11:52:48 -07:00
Brennan BensonandOrca d0f4246807 fix(tasks): remove duplicate top band on Tasks page (#1749)
* fix(tasks): remove duplicate top band on Tasks page

The Activity-page work in #1703 tightened App.tsx's `workspaceActive` to
require `activeView === 'terminal'`, so App.tsx now keeps its full-width
titlebar on the Tasks page. TaskPage's own `workspaceActive` was still
just `activeWorktreeId !== null`, so it kept rendering its own 36px
placeholder strip below the App titlebar — producing the doubled band.

TaskPage only mounts when `activeView === 'tasks'`, where App.tsx never
hides its titlebar, so the placeholder strip is always redundant. Drop
it along with the now-unused `sidebarOpen` / `activeWorktreeId` reads.

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

* fix(tasks): remove stale titlebar comment

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-13 11:31:09 -07:00
Brennan BensonandOrca 77871a06c1 feat(activity): isolate the agent's pane in the activity view (#1740)
* feat(activity): isolate the agent's pane in the activity terminal view

When the activity page hosts a tab that has split panes, only the agent's
specific pane should be visible — not the whole tab. Implemented as a
transient layout override using the existing applyExpandedLayoutTo helper
with a separate snapshot ref, so it never touches the user-facing
expanded-pane state or the persisted layout snapshot. Closing the
activity page restores the original split layout untouched.

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

* fix(activity): pass isolatedPaneId from the live tab-group render path

TabGroupPanel renders the actual TerminalPane in tab-group mode (the
default modern path); Terminal.tsx is the legacy single-group fallback.
Without this, isolatedPaneId never reached TerminalPane, so the activity
view kept showing all split panes side-by-side.

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

* fix(activity): refit terminals when isolation override is removed

The activity-isolation useLayoutEffect only called safeFit on the apply
path, so removing isolation (or hitting the early-return when
applyExpandedLayoutTo returned false) left xterm sized for the
single-pane geometry until an unrelated event triggered another fit.
Extract scheduleRefit() and run it from all three branches.

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-13 00:50:52 -07:00
Jinwoo HongandOrca fa769edb8d Move mobile settings to beta section (#1741)
* Move mobile settings to beta section

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

* Add mobile setup guidance

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

* Use global App Store URL for mobile

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

---------

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