* Fix unnatural Japanese localization wording
- "Open in" submenu: bare で開く → アプリで開く
- "Assigned to me" filter: 私に割り当てられました → 私に割り当てられた Issue
- Use Latin "Issue" instead of katakana イシュー throughout (JP engineering convention)
- Terminal/theme cursor settings: render the screen cursor as カーソル, not the
Cursor product. The brand-protection revert (Cursor→カーソル→Cursor) now exempts
these keys/values so カーソル survives while the Cursor product stays Latin.
- GraphQL: グラフQL → GraphQL
- Assignee picker aria-label: {{value0}} に割り当てられました → {{value0}} に割り当て済み
Fixes are made in the locale repair policy (overrides / phrase fixes) and applied via
repair:ja-catalog so they persist across future catalog regeneration.
* Extract screen-cursor exemption into a focused module
Move the Cursor screen-vs-product discrimination (SCREEN_CURSOR_ENVALUES /
SCREEN_CURSOR_KEYS / isScreenCursorContext) out of locale-translation-policy.mjs
into locale-screen-cursor-exemptions.mjs to keep the policy file under the
max-lines limit. No behavior change.
* Fix PR/issue state badge wording in Japanese
"State: Closed" was 状態: 閉店 (a shop closing) — change to 状態: クローズ to match
how the Closed state is rendered elsewhere. Also align "State: Merged" (状態: 結合済み)
with the standard マージ済み used for git merges.
---------
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
- Limit worktree refresh concurrency to 5 parallel workers to prevent launching too many concurrent git scans during startup and activation.
- Record renderer breadcrumbs as tracer spans to provide durable pre-crash context for native main-process crashes.
- Log a breadcrumb when activating a worktree from the sidebar.
Change the button variant from solid destructive to outline destructive
in MergedReviewActions. This matches the styling of the sibling Reopen
control, signaling danger without having a solid red fill dominate the
PR summary panel.
Prevent the source selection popover from opening automatically during
dialog autofocus or other programmatic focus calls upon dialog mount.
Instead, defer opening the popover until the user actively interacts
with the name input (clicks or typing) or moves focus to it from another
control within the workspace composer.
* Show disabled Create PR button in header when branch is not ready
Ensure the source control toolbar does not look blank or shift
unexpectedly when the branch has no changes or cannot yet create
a pull request.
- Add helper to resolve disabled Create PR header actions with contextual
titles (e.g. commit in progress, no changes, unsynced commits)
- Keep the header button visible as a disabled anchor instead of hiding it
- Prevent the Create PR button from stretching across the toolbar when
visible without a hosted review
* Refactor Create PR flow with inline-composer toggle and direct-create pa
Co-authored-by: Orca <help@stably.ai>
* Streamline Create PR UX and format git pull policy errors
Simplify the source control review-creation flow by removing the
collapsible composer state and corresponding toolbar buttons, always
rendering the PR composer directly when available.
Additionally, add a specialized notice component for divergent branch
errors that parses git pull policy issues and provides quick-copy
buttons for configuring merge, rebase, or fast-forward behaviors.
* Add loading state to Create PR and tooltip to disabled AI button
- Display a disabled loading state for the Create PR action while review eligibility is fetching to avoid layout flashing.
- Use aria-disabled and Tooltip for the AI commit message generator button to ensure tooltips are viewable when disabled.
---------
Co-authored-by: Orca <help@stably.ai>
Introduce a `fileContentReloadNonce` on open files and a new
`forceContentReload` option for `openFile`. When terminal links or file-open
actions re-open an existing clean tab, increment the nonce to trigger a
refetch of the file content. This provides a manual recovery path for when
remote file watchers miss external writes.
Restore the quieter abort-merge styling that was accidentally reverted
during the host-context merge repair in #5071. Abort merge and abort
rebase now match the Review conflicts outline button treatment.
* Refactor SourceControl header into extracted, testable subcomponents
Co-authored-by: Orca <help@stably.ai>
* Extract branch context stats into dedicated module with upstream status
Co-authored-by: Orca <help@stably.ai>
* Refine source control header layout and add branch comparison i18n
* Right-align branch status stats in the context row and left-align the base ref button to optimize space usage.
* Make the expanded filter input occupy the full toolbar width, hiding PR links and overflow menus when active, to prevent squeezed input.
* Add translation keys and localizations for commits "behind" and "even with" the base branch.
---------
Co-authored-by: Orca <help@stably.ai>
* Make Create PR intent resilient to worktree switching
Co-authored-by: Orca <help@stably.ai>
* Restrict PR creation sidebar actions to foreground worktrees
- Prevent switching tabs and opening the PR URL when a background
worktree's PR creation finishes.
- Extract commit eligibility checking into a dedicated module and
disable the commit message textarea during operations or when
ineligible.
- Fix flakiness in the remote runtime request connection test.
* Abort Create PR if branch changes during details generation
If the branch changes within the active worktree while review details
are being generated, the Create PR flow now aborts and shows a muted
notice prompting the user to retry.
- Allows worktree navigation during PR details generation without
treating it as an intent conflict.
- Adds localized strings for the new retry notice.
- Uses platform-independent paths in tests for cross-platform support.
---------
Co-authored-by: Orca <help@stably.ai>
Prevent Radix Dialog's scroll lock from canceling mouse wheel events
inside the search results list by manually handling wheel events. Also,
add flex and max-height constraints to the dialog layout to support
clean scrolling behavior.
* Redesign mobile emulator callout arrow with CSS triangle and improve dar
Co-authored-by: Orca <help@stably.ai>
* Improve styling and theme adaptability of emulator intro callout
Use theme variables (--border and --foreground) instead of hardcoded
black and white opacities to ensure borders adapt properly to different
color themes.
Additionally:
- Align the horizontal position of the callout arrow pseudo-elements.
- Update JSX classes to use token-based rounding and borders.
---------
Co-authored-by: Orca <help@stably.ai>
* Enable pushing to configured push targets for existing fork reviews
* Resolve push targets using branch.pushRemote, remote.pushDefault,
and URL-valued remotes normalized to matching named remotes.
* Support this push target resolution on both local and relay/SSH
git handlers to prevent drift in SSH worktrees.
* Offer "Push" instead of "Publish Branch" in the Source Control UI
when a linked review exists and a valid push target is available.
* Prevent pushing a feature branch's base branch (e.g. main) directly
to a fork via remote.pushDefault.
* Keep fork push target when contributor branch matches base branch name
Ensure that a fork push target is not incorrectly discarded when its
branch name matches the base branch name on another remote (for example,
targeting fork/main while the base is origin/main).
Previously, the matching logic only compared the branch leaf name, which
treated different remotes as identical and disabled the push target. We
now qualify the ref comparison with the remote name to differentiate them.
Instead of relying solely on transient live usage snapshots to determine
status bar visibility, incorporate durable settings configuration (e.g.,
managed accounts, OAuth enablement, or session cookies).
This keeps provider items in a pending/fetching state during initial
hydration or transient failures, preventing UI flickering and ensuring
the setup CTA does not prematurely display before settings load.
* Resolve and fetch the review target branch (compareBaseRef) during PR and MR worktree creation.
* Persist this ref on worktree metadata instead of pinning the head SHA.
* Dynamically repair existing worktrees with stale commit SHA compare bases in the Source Control UI using linked review metadata.