-
Notifications
You must be signed in to change notification settings - Fork 212
Comparing changes
Open a pull request
base repository: stablyai/orca
base: v1.4.19
head repository: stablyai/orca
compare: v1.4.20
- 14 commits
- 111 files changed
- 10 contributors
Commits on May 22, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 9a41f5b - Browse repository at this point
Copy the full SHA 9a41f5bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a509e6e - Browse repository at this point
Copy the full SHA a509e6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d8d815 - Browse repository at this point
Copy the full SHA 8d8d815View commit details -
Configuration menu - View commit details
-
Copy full SHA for 31859d4 - Browse repository at this point
Copy the full SHA 31859d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 81fcfea - Browse repository at this point
Copy the full SHA 81fcfeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c9a2ed - Browse repository at this point
Copy the full SHA 4c9a2edView commit details -
perf: Stabilize worktree sidebar activity inputs
Squashed from PR #2611.
Configuration menu - View commit details
-
Copy full SHA for 426272e - Browse repository at this point
Copy the full SHA 426272eView commit details -
fix(daemon): strip Electron node flag from PTYs
Strip ELECTRON_RUN_AS_NODE from daemon-spawned PTY environments so user shells do not inherit Electron's internal Node-mode flag. Adds regression coverage for the daemon PTY env boundary. Fixes #2414.
Configuration menu - View commit details
-
Copy full SHA for bd61398 - Browse repository at this point
Copy the full SHA bd61398View commit details -
Cancel native middle-click paste on tab mouseup (#2518)
On Linux with primary-selection paste enabled, middle-clicking a tab to close it triggered an unwanted primary-selection paste into whichever terminal became active after the close. The existing onMouseDown preventDefault on each tab blocks Chromium's middle-button auto-scroll but does not block the native paste pipeline, which is gated on mouseup. After the tab unmounts via onAuxClick → onClose, focus moves to xterm's hidden textarea on the newly active terminal, and the primary selection lands there. Add a small named helper preventMiddleButtonDefault and wire it as onMouseUp on SortableTab, BrowserTab, and EditorFileTab. Mirrors the preventDefault that usePrimarySelectionPaste's enabled=false branch already performs for non-tab surfaces. No platform branching: the mouseup cancel is a no-op on macOS and Windows because there is no native primary-selection paste pipeline to cancel. Fixes #2346
Configuration menu - View commit details
-
Copy full SHA for 8ae292e - Browse repository at this point
Copy the full SHA 8ae292eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d90dd4 - Browse repository at this point
Copy the full SHA 8d90dd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41a2d7b - Browse repository at this point
Copy the full SHA 41a2d7bView commit details -
Dock git history at the bottom of source control (#2608)
Co-authored-by: Orca <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 191c5b2 - Browse repository at this point
Copy the full SHA 191c5b2View commit details -
feat: surface dev-server URLs in the ports panel (#2534)
* Surface dev-server URLs in workspace ports panel Why: the OS scanner only sees `127.0.0.1:3001`, so clicking a Vite port in the panel opens the wrong host/protocol when the dev server binds with a custom hostname or HTTPS (e.g. `https://local.getmontecarlo.com:3001/`). We now watch PTY output for advertised origins and prefer them at display, copy, and open time. Falls back to the OS-derived address. The watcher taps the central `runtime.onPtyData` path so it sees local, daemon-backed, and SSH PTYs uniformly. URL candidates are validated with `new URL()`, sanitized to origin only (no path/query/fragment/userinfo), and gated by listener-PID validation so stale entries get evicted when a different process reuses the port. SSH `DetectedPort` enrichment is out of scope here — that panel uses separate data shapes and port-forwarding may rewrite the local port, making naive URL reuse incorrect. Tracked as a follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * Extend advertised-URL enrichment to SSH ports Why: the first cut only enriched the local workspace ports panel. SSH worktrees use a separate panel with `DetectedPort` and `PortForwardEntry` shapes scanned by the remote relay, so the same dev-server banners that flow through Orca's SSH PTYs were captured by the watcher but never surfaced. The renderer-side SSH scanner doesn't know which worktreeId the watcher keyed an entry under, so a small helper walks the store to find every worktree attached to a given connection and asks the watcher for the best match per port (custom DNS host > loopback > LAN IP, https and recency as tie-breakers). Enrichment runs at every broadcast and list site in src/main/ipc/ssh.ts. For a forwarded SSH port, the open action now uses `advertisedProtocol://customHost:localPort`. We deliberately reuse the local forward port — the remote port number is not reachable from the local machine — and we only reuse the host when it's a custom DNS name (IP literals and the remote's `localhost` get ignored, falling back to 127.0.0.1 like before). Loopback advertisements from the remote box are a no-op because they don't translate to the local browser. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * Address Codex review of advertised-URL enrichment Four findings from the post-implementation review: - Watcher rejects wildcard advertised hosts (`0.0.0.0`, `::`, `*`). The OS scanner already normalizes wildcards to localhost for the connect host; if a dev server prints `http://0.0.0.0:3000/` verbatim we keep that sensible default instead of letting the watcher overwrite it with a host the browser can't open. - Pre-bind pending buffer is now capped at 32 distinct PTY IDs with LRU eviction. Spawn-failure paths could otherwise leave never-bound entries forever — per-PTY 16 KiB bound was the only guard. - `clearProviderPtyState` now calls `advertisedUrlWatcher.unbindPty`. SSH reattach failures, `clearPtyOwnershipForConnection`, and daemon spawn-failure cleanup bypass `runtime.onPtyExit`; routing through the central provider teardown plugs those holes (and is idempotent with the existing `onPtyExit` hook for natural exits). - `lookupBest` accepts an optional current listener PID and runs the same pin-then-evict logic as `lookup`. `enrichSshDetectedPorts` threads `DetectedPort.pid` through so a stale advertised URL gets evicted on remote port reuse. Forward enrichment stays best-effort (forwards are persisted config, not observed listeners — detected enrichment is the eviction path). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix: refresh SSH ports when advertised URLs change Co-authored-by: Orca <[email protected]> * fix: show advertised URLs in port rows Co-authored-by: Orca <[email protected]> * fix: address advertised URL review issues Co-authored-by: Orca <[email protected]> * fix: tighten advertised URL cache handling Co-authored-by: Orca <[email protected]> * fix: align advertised URL edge cases Co-authored-by: Orca <[email protected]> * fix: handle advertised URL cache invalidation Co-authored-by: Orca <[email protected]> * fix: show status port action tooltips Co-authored-by: Orca <[email protected]> * fix: keep port action tooltips above popover Co-authored-by: Orca <[email protected]> * fix: clear port action focus after click Co-authored-by: Orca <[email protected]> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> Co-authored-by: Jinwoo-H <[email protected]> Co-authored-by: Orca <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ca6828 - Browse repository at this point
Copy the full SHA 5ca6828View commit details -
Configuration menu - View commit details
-
Copy full SHA for b926490 - Browse repository at this point
Copy the full SHA b926490View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.4.19...v1.4.20