Commit Graph

4480 Commits

Author SHA1 Message Date
Jinwoo Hong bed394ca11
Send OpenCode source-control prompts over stdin (#4859)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:00:20 -07:00
Jinjing 4a3db11e16
feat: show persistent underline on PR link buttons in review headers (#4861) 2026-06-07 20:51:04 -07:00
Jinjing 468244d6dc
Improve markdown review card sizing, quoting, and note grouping (#4856)
* Improve markdown review card sizing, quoting, and note grouping

- Narrow the annotation rail and editor padding to reduce visual weight
- Replace webkit line-clamp quote truncation with single-line nowrap; shorten MAX_CARD_QUOTE_LENGTH to 60
- Remove FileText icon from the quote block
- Tone down active card border/background highlight opacity
- Always reserve quote height in stacked layout (cards show a fallback excerpt even without selected text)
- Group multiple markdown review notes per file under a single header in the formatted prompt

* fix test
2026-06-07 20:40:49 -07:00
Jinwoo Hong 880fd964ac
Fix issue workspace names with apostrophes (#4848)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:57:52 -07:00
Jinwoo Hong bed624573d
Fix orchestration waits waking on heartbeats (#4858)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:57:21 -07:00
Kaylee 528a887ab5
Target the fork branch from fork-PR worktrees (#4394)
Creating a worktree from a cross-repository (fork) PR previously named the
local branch with the maintainer's branch prefix (e.g. `me/866`) and pushed to
origin instead of the contributor's fork, so maintainer edits never reached the
PR. Fork PRs now adopt the contributor's branch name (matching same-repo PRs)
and resolve a fork push target, with a non-blocking warning when the PR
disables maintainer edits and an indicator showing where a push will land.

- pr-start-point: return branchNameOverride/headSha/maintainerCanModify for
  cross-repo PRs (previously only same-repo PRs received these)
- github client: surface maintainer_can_modify alongside the fork push target
- composer: warn (but still allow) when "Allow edits from maintainers" is off
- source control: show the fork push target (owner:branch) before pushing
- extract fork-remote cleanup and setup into dedicated, unit-tested modules

Adds unit suites for the cleanup multi-fork matrix, fork-remote setup,
push-target resolution, the warning decision, and the push-target label.

Note: pre-commit react-doctor hook bypassed — its warnings in useComposerState
are pre-existing (identical count on base) and not enforced by CI.

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-06-07 19:51:36 -07:00
Jinjing a67afb5a04
fix: address review findings (#4853) 2026-06-07 19:50:05 -07:00
Jinjing 93f9f86823
Slim terminal scrollbar with xterm option and rounded thumb (#4857)
Set xterm scrollbar width to 7px for a slimmer scrollbar, round the DOM thumb via CSS, and add default slider colors with better contrast. Hide the overview ruler border that enabling the scrollbar width activates.
2026-06-07 19:48:16 -07:00
Jinwoo Hong 3ef63c972a
Persist agent session metadata for workspace resume (#4706)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:41:25 -07:00
Jinjing f0945c7aa2
allow agy to be one of the commit agent (#4852) 2026-06-07 19:39:23 -07:00
Jinwoo Hong e35deb9720
Fix serve-created mobile terminals on desktop
* Fix serve-created mobile terminals on desktop

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

* Address headless mobile terminal merge review

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

* Document headless mobile merge invariants

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:51:49 -04:00
Lesley Murfin 3d013e48e8
fix(windows): slow launch + keystroke stalls — main process synchronously spawns powershell to re-harden env-store ACLs (#4840)
* fix(windows): stop synchronous powershell ACL spawns blocking the main thread

markEnvironmentUsed re-hardened the env-store on every runtime round-trip,
spawning powershell.exe ~5x synchronously (~1-1.5s each) and freezing the
Windows UI on launch and every keystroke. Throttle the non-security lastUsedAt
write (60s window; runtimeId changes bypass) and make path hardening idempotent
per process. ACL hardening is preserved; post-rename credential hardening still
always runs. ~14.0s -> ~6.8s launch; main thread 95.7% blocked -> 99.0% idle.

* Fix secure-file hardening cache retries

---------

Co-authored-by: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com>
2026-06-07 21:47:54 -04:00
Neil 102cbdbda2
Make terminal scroll pressure benchmark diagnose responsive paths (#4846)
* Instrument terminal scroll pressure attempts

* Trace terminal scroll input timing

* Reduce PTY renderer in-flight window

* Revert "Reduce PTY renderer in-flight window"

This reverts commit 86775aeb68968e88b98c3a4c1b710eed5b0833b3.

* Probe alternate scroll paths after slow wheel

* Gate scroll pressure on responsive terminal path

* Address scroll benchmark review cleanup
2026-06-07 18:16:53 -07:00
Jinjing 675376023f
Display Linear issue link in sidebar card while loading, fetch from all (#4844)
- Construct fallback Linear URL from workspace info so users can navigate
  to the issue even while the API request is in flight
- Use `all` workspace scope to find issues across all Linear workspaces
  rather than only the currently selected one
2026-06-07 18:03:43 -07:00
Jinjing 1826609215
Scope worktree sidebar under dedicated `--worktree-sidebar` color tokens (#4845)
* Use a distinct background token for the worktree sidebar panel

- Adds `--worktree-sidebar` and `--worktree-sidebar-foreground` CSS tokens (light: #f5f5f5, dark: #212121) so the sidebar can be visually lighter than the default `--sidebar` value
- Applies `bg-worktree-sidebar` to the sidebar container

* Lighten worktree sidebar and scope its color tokens under `--worktree-si

- Dark mode panel lifted from `#212121` to `#2a2a2a` so it reads clearly above the `#0a0a0a` canvas.
- Added `--worktree-sidebar-accent`, `--worktree-sidebar-border`, and `--worktree-sidebar-ring` tokens in both color schemes.
- Migrated all sidebar components from shared `sidebar-*` tokens to the scoped `worktree-sidebar-*` tokens, preventing bleed when the two layers diverge.

* Use worktree-sidebar tokens in settings sidebar instead of generic theme

- Replaces `bg-accent`, `text-muted-foreground`, `border-border/50`, and `bg-card/40` with dedicated worktree-sidebar CSS custom properties
- Enables independent styling of the settings sidebar separate from the main panel theme
2026-06-07 18:01:45 -07:00
Jinwoo Hong 76cb846d68
Harden computer use runtime and CLI (#4705)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 17:49:01 -07:00
Jinjing 401fc1e43e
Remove "Needs response" classification and badge from checks panel (#4842)
Drops the hosted-review classification logic that computed whether a PR/MR
needs a response and displayed it as a badge. The inputs (viewer, author,
requested-reviewer) aren't wired into this component yet, so the
classification was incomplete and the badge misleading.
2026-06-07 17:25:11 -07:00
github-actions[bot] 25a8adb9e3 release: v1.4.51-rc.7 2026-06-08 00:22:32 +00:00
Neil d9de84063b
Stabilize main for v1.4.51 release (#4841)
* test: target terminal viewport for scroll perf probe

* Revert "Make Smart New Tab launcher the default (remove experimental flag) (#4834)"

This reverts commit c32e2dc7cb.

* test: stabilize release e2e expectations

* test: stabilize release e2e gates

* test: make terminal scroll probe deterministic

* test: keep flaky scroll probe informational
2026-06-07 17:10:45 -07:00
Jinjing dd302d3e91
Remove H1/H2/H3 badges from markdown TOC (#4832)
* Remove H1/H2/H3 badges from markdown TOC

Replace heading level badges with pure indentation for visual hierarchy.

- Remove 'H1', 'H2', 'H3' badge spans from MarkdownTocRow
- Increase indentation per depth level for clearer visual distinction
- Remove unused .markdown-toc-level CSS class

Design doc: docs/remove-h1-h2-prefix-from-toc.md

Fixes #4821

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

* Include h1 headings in markdown table of contents

Previously h1 headings were excluded, treating them as a document-level root.
Now h1 entries appear as TOC items alongside h2/h3, giving users a more
complete and consistent navigation outline.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-07 16:45:18 -07:00
Jinwoo Hong aa0d2ff461
Add OpenAI cloud speech transcription (#4707)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 16:22:16 -07:00
Jinjing e934029e0e
Combine Settings and Help buttons into a single sidebar dropdown menu (#4838) 2026-06-07 16:20:27 -07:00
Jinwoo Hong 8feb63901d
Address CodeRabbit follow-ups from #4825 (#4831)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:08:41 -07:00
Jinjing e57d7c33cb
Add edit and delete actions for PR conversation comments (#4837) 2026-06-07 15:54:02 -07:00
Jinjing c32e2dc7cb
Make Smart New Tab launcher the default (remove experimental flag) (#4834)
- Remove `experimentalUnifiedNewTabLauncher` flag and gate; the unified
  launcher is now always enabled
- Drop the settings toggle from ExperimentalPane and search index
- Update placeholder/aria text to "Open any file, URL, agent, ..."
- Restyle the input: borderless, flush with dropdown edge, no search icon
- Update test fixtures to include agent-detection state fields now
  unconditionally read by TabBarCreateEntry
2026-06-07 15:34:49 -07:00
Brennan Benson ee43304b0a
Move auto-name branch settings into the Git AI Author pane (#4725)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 15:30:54 -07:00
Neil f75dfc1e14
Improve hidden terminal restore under PTY backpressure (#4833)
* Defer inactive hidden terminal restores

* Reserve active PTY delivery headroom

* fix: guard deferred hidden terminal restores
2026-06-07 15:28:18 -07:00
github-actions[bot] 57c967eed3 release: v1.4.51-rc.6 [rc-slot:2026-06-07-15] 2026-06-07 22:27:27 +00:00
Jinwoo Hong da98a93089
Fix cursor-agent notification spam on shell tool hooks (#4835) 2026-06-07 15:24:15 -07:00
github-actions[bot] 3b41d45c90 release: v1.4.51-rc.5 2026-06-07 21:17:33 +00:00
Jinwoo Hong 7850cfa16f
Fix web remote client workspace switching loop (#4771) (#4825)
* Fix web remote client workspace switching and terminal wake regressions.

Stop activation echo loops between paired web clients and the host runtime, and harden web terminal overlay sizing so slept workspaces wake with full-width PTY dimensions.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web agent tab close and update tests for host-backed worktree selection.

Route agent quick launches through the host in paired web clients so tab close works, and align runtime/web IPC tests with setActiveWorktree plus notifyHostRuntime: false.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix typecheck for host-backed agent launches and address review feedback.

Guard null tab ids from web host routing, narrow runtime environment ids for tab close, and respect mobile resize locks in web refit retries.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web tab close and respawn terminals when waking slept workspaces.

Route tab close through host-backed vs local fallback logic, scope title tooltips away from the close button, and create host terminals when woke workspaces still have dead PTY rows.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web terminal fit on worktree switch and harden paired tab lifecycle.

Guard against sub-minimum xterm fits during overlay resume, route agent tab closes through unified/runtime helpers, and dedupe wake-time terminal respawns.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:51:10 -04:00
Neil 7cf445778d
Slice synthetic OpenCode pane injection (#4827) 2026-06-07 13:19:48 -07:00
Neil 13c31fdce1
Expose terminal perf workflow profile knobs (#4826) 2026-06-07 12:48:46 -07:00
Neil eb62cb6c7a
Preserve terminal perf reports under Playwright cleanup (#4824) 2026-06-07 12:05:41 -07:00
Neil 008d336e26
Schedule terminal scale perf report gate (#4823) 2026-06-07 11:50:26 -07:00
Neil f1ca69b423
Gate terminal scale perf reports (#4818) 2026-06-07 11:40:14 -07:00
Neil 4f1d57272f
Test terminal perf report budget checker (#4816) 2026-06-07 11:27:07 -07:00
Jinjing 5cfeaa34c0
fix: address review findings (#4814) 2026-06-07 11:18:43 -07:00
Neil de7e32c41c
Add terminal perf report budget checker (#4813) 2026-06-07 11:17:28 -07:00
Jinwoo Hong 2b29acb87b
Fix stale diff views not refreshing on file or tree changes (#4731)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 11:04:52 -07:00
Jinjing bb40dcd028
fix: recover missing worktree deletes (#4811) 2026-06-07 11:01:26 -07:00
Neil f9e8616bb6
Scale hidden real PTY pressure benchmarks (#4812) 2026-06-07 11:01:02 -07:00
Lu 129b4c755f
Show Kimi Code subscription usage in the status bar (#4641)
* Show Kimi Code subscription usage in the status bar

Add a read-only rate-limit fetcher for Kimi Code that reads the OAuth token from ~/.kimi-code/credentials (honoring KIMI_CODE_HOME) and queries Kimi's usages endpoint, surfacing the 5h session window and weekly quota in the existing status-bar rate-limit UI alongside Claude/Codex/Gemini. Gated on the kimi CLI being detected, with a settings toggle.

Read-only by design: the fetcher never refreshes or writes credentials — rotating Kimi's refresh token would log out the user's live CLI session — and never calls Kimi's completion endpoint. It only reads the existing token and the usages quota endpoint, mirroring how the CLI itself reads managed usage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Harden Kimi usage status handling

Preserve cached quota on transient Kimi credential/API failures and migrate the default status-bar item for existing users.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 13:58:29 -04:00
Trevin Chow 8aa5b53148
feat(browser): persist default browser zoom (#4765) 2026-06-07 13:49:38 -04:00
Neil d7aff06e10
Guard renderer backlog under PTY pressure (#4810) 2026-06-07 10:49:07 -07:00
Neil f6a576d09c
Measure renderer terminal backlog pressure (#4809) 2026-06-07 10:36:26 -07:00
Neil 7ac509ed62
Scale real PTY pressure benchmarks (#4808) 2026-06-07 10:18:39 -07:00
Neil 9c92e3d47b
Measure terminal scroll under PTY pressure (#4807) 2026-06-07 09:59:55 -07:00
Neil 6d4065cae5
Measure hidden PTY restore latency (#4806) 2026-06-07 09:49:03 -07:00
Neil 66a561e18b
Add hidden real PTY pressure benchmark (#4805) 2026-06-07 09:40:30 -07:00