Commit Graph

38 Commits

Author SHA1 Message Date
Neil 283fdc6805
Bound PTY batch flushes to reduce typing latency spikes (#2724)
* Bound PTY batch flushes

* Add PTY batch flush benchmark

* Reduce PTY runtime ingress work

* Fix PTY benchmark lint
2026-05-23 20:01:06 -07:00
Jinwoo Hong 3861d65a17
Fix Linux package icon sizes (#2538)
Co-authored-by: Orca <help@stably.ai>
2026-05-21 13:54:31 -07:00
Jinjing ac10c4075f
Show sleeping workspaces by default (#2514)
- Add a narrow SSH relay RPC for refreshing remote-tracking refs without
  reopening generic fetch execution
- Resolve SSH connection context from composite worktree IDs during startup
  before worktree discovery completes
- Make the sleeping workspace filter negative-form and reset to the new visible
  default
- Tolerate transient xterm scroll restoration failures during layout
- Restore macOS Electron framework symlinks after copying the dev app
2026-05-21 02:12:22 -07:00
Neil 8b77dffec2
Fix macOS notification settings recovery
Open the current app's macOS notification settings entry and stop reporting test notification success until Electron confirms the native notification was shown.
2026-05-20 22:39:18 -07:00
Jinjing e0104372da
Squashed commits (#2485)
- Fix workspace space cache and git status cleanup checks

- Treat browser tabs as workspace delete blockers

- Move deletion readiness into shared presentation logic so tests cover it
- Preserve explicit empty git status entries for clean worktrees

- Add package manager cache cleanup to space manager

- Detect npm, pnpm, Yarn, and Bun caches from lockfiles during scans
- Add explicit cleanup IPC for safe and aggressive cache actions
- Support local, SSH, and Windows command execution paths safely
- Tighten workspace deletion decisions with git, editor, agent, and terminal state
2026-05-20 22:09:35 -07:00
Jinjing a1f9e16ccb
Rebuild stale macOS dev Electron app copies (#2479)
- Detect missing Chromium framework resources before reusing the copied app
- Prevent interrupted copies from leaving `pn dev` with a blank Electron window
2026-05-20 20:16:56 -07:00
Neil 54a2547ff6
Clean up styled scrollbar guard 2026-05-20 10:38:23 -07:00
Neil ed23e04073
Fix styled scrollbar guard cn handling 2026-05-20 02:53:40 -07:00
Neil db4199e91a
Enforce styled scrollbars in renderer 2026-05-19 23:12:37 -07:00
Jinwoo Hong 8a4d558c1d
Skip initial dev web client build (#2273)
Co-authored-by: Orca <help@stably.ai>
2026-05-18 14:30:36 -07:00
Jinwoo Hong 4d2a435bb0
Fix Windows native rebuild EPERM devex (#2159) 2026-05-18 13:44:57 -07:00
Jinwoo Hong 4b7c9b7213
Improve remote client runtime parity (#1975)
Co-authored-by: Orca <help@stably.ai>
2026-05-17 22:24:38 -07:00
Jinjing d603242766
fix: address review findings (#2130) 2026-05-16 17:13:01 -07:00
Jinjing 52e737e7db
fix: guard native module ABI rebuilds (#2118) 2026-05-16 15:56:47 -07:00
Jinwoo Hong b8de007f03
Fix Windows setup hook script (#2106) 2026-05-16 17:44:42 -04:00
Neil c017229149
Simplify dev Dock instance naming (#2111) 2026-05-16 14:36:46 -07:00
Neil 2ead67c650
Label macOS dev Dock instances by branch (#2068)
* fix: label macOS dev Dock instances

* fix: keep dev badge visible in Dock labels

* chore: clean up dev identity plumbing

* feat: add stable-name dev command
2026-05-15 22:46:13 -07:00
Neil c0884f5f21
Fix release-cut draft RC recovery (#1942)
* fix: recover stuck draft RC releases

* fix: address release recovery lint
2026-05-15 11:33:05 -07:00
Jinwoo Hong 618f39d179
Add web runtime client support 2026-05-15 05:44:25 -04:00
Neil 322eab0f83 fix: expect debian release artifact name 2026-05-14 19:37:04 -07:00
Neil 2d9cf72084 fix: verify macOS entitlements before release 2026-05-14 19:02:37 -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 e361b4339e
fix(release): harden prerelease update fallback checks (#1793)
Co-authored-by: Orca <help@stably.ai>
2026-05-13 21:45:33 -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
Jinjing e0851ec722
feat: onboarding flow for new users (#1596)
* wip

* WIP: Changes before auto-review fixes

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

* WIP: Changes before auto-review fixes

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

* WIP: Changes before auto-review fixes

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

* fix: address auto-review findings (iteration 1)

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

* fix: address auto-review findings (iteration 2)

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

* fix: archive review context and improve agent detection on wizard mount

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

* fix: address CI lint failures and split use-onboarding-flow.ts

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

* fix: mock ./onboarding in register-core-handlers test

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

* fix: also toggle light class on documentElement so onboarding e2e theme wait resolves

The onboarding e2e calls waitForFunction(() => classList.contains('dark') || classList.contains('light')) before snapshotting the starting theme. applyDocumentTheme only toggled 'dark', so on a host that resolves system to light the wait timed out (CI Linux headless). Toggle 'light' as the inverse class so consumers can observe the resolved theme symmetrically; Tailwind keys only on 'dark' so styling is unchanged.

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

* fix: add braces to Landing menu close-on-outside-click handler

oxlint config requires braces for all if statements.

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

* chore: trigger CI

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-08 14:17:50 -07:00
Brennan Benson c0801b9aef
chore(dev): auto-expose a CDP port from `pn dev` (#1511)
Co-authored-by: Orca <help@stably.ai>
2026-05-06 14:14:51 -07:00
Brennan Benson f90da6ea37
ci(telemetry): inject ORCA_POSTHOG_WRITE_KEY + ORCA_BUILD_IDENTITY at release build time (#1418)
Co-authored-by: Orca <help@stably.ai>
2026-05-04 21:43:22 -07:00
Neil ae2958ace0
fix(install): regenerate cpu-features buildcheck.gypi before rebuild (#1387)
* fix(install): regenerate cpu-features buildcheck.gypi before rebuild

cpu-features@0.0.10 ships without buildcheck.gypi and relies on its
own install script to generate it via `node buildcheck.js` before
node-gyp runs. @electron/rebuild with force:true calls node-gyp
directly and bypasses that hook, so a missing gypi (fresh install,
store prune, or prior failed run) aborts postinstall with
"buildcheck.gypi not found".

Generate the file ourselves for every cpu-features copy under .pnpm/
before invoking @electron/rebuild on platforms where cpu-features is
not in ignoreModules.

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

* fix(install): satisfy oxlint curly rule

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-04 00:49:15 -07:00
Jinwoo Hong 000d4dc08b
Revert sparse checkout worktree creation (#1290) 2026-04-30 15:47:40 -07:00
Colin Chambachan 79faafcc98
Add sparse checkout worktree creation (#1131)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-04-30 00:43:00 -07:00
Neil 4318f3bfa7
chore: reduce root-directory clutter (#1275)
Co-authored-by: Orca <help@stably.ai>
2026-04-30 00:09:46 -07:00
Jinwoo Hong c9391e203f
feat(orchestration): add inter-agent orchestration system (#1188)
Co-authored-by: Orca <help@stably.ai>
2026-04-28 12:21:31 -07:00
Jinwoo Hong 1ea2a6d768
fix: strip ELECTRON_RUN_AS_NODE from dev script environment (#769) 2026-04-17 13:14:40 -07:00
Neil b2c31b6536
speed up release workflow (#584) 2026-04-13 00:25:30 -07:00
Neil 424ceea07e
Speed up release workflow (#579)
* speed up release workflow

* fix lint in manifest merge helper

* remove release preflight gate

* update CI to node 24
2026-04-12 23:41:44 -07:00
Neil 8d3f640e67
Fix macOS dev Electron shutdown on Ctrl+C (#435) 2026-04-09 23:50:23 -07:00
Jinjing c908bdfbb2
fix: default LANG to UTF-8 for terminal character display (#423)
* fix: address review findings

* fix: improve error handling in terminal e2e helper JSON parsing

* fix: remove unused catch parameter in terminal e2e helper

* fix: use nullish coalescing assignment for LANG default in PTY spawn

The object spread approach ({LANG: default, ...process.env}) produced
undefined on CI (Ubuntu/Node 22) despite working locally. Switch to
explicit ??= assignment after the spread for reliable cross-platform
behavior.
2026-04-09 14:02:02 -07:00
Jinjing bced9b5308
refactor: reorganize project structure for build assets and scripts (#419)
Move build resources to resources/build/, icon source files to
resources/icon-source/, scripts to config/scripts/, and patches
to config/patches/ for a cleaner top-level directory layout.
2026-04-09 12:28:52 -07:00