mirror of
https://github.com/stablyai/orca.git
synced 2026-11-14 01:47:24 +00:00
b83e76f01e66fa9d2467a2fb2fa12b5e1b7be62e
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
dc99281085 |
feat(source-control): resolve merge conflicts and complete merges from the phone (#36160)
* feat(source-control): resolve conflicts with one host operation shared by desktop and mobile * feat(mobile): resolve merge conflicts and complete merges from Source Control * test(mobile): pin Complete merge refusals and the older-desktop message * fix(source-control): only resolve paths Git still reports as conflicted * fix(source-control): refuse to keep a missing file and serialize conflict resolution per worktree * fix(source-control): resolve only the exact conflicted path * fix(source-control): match conflicted paths in Git's separator form on Windows and WSL * fix(source-control): accept only the resolutions the live conflict offers * fix(source-control): refuse to keep a both-modified file that is gone from disk * feat(mobile): translate the merge conflict actions * test(runtime): keep the mobile allowlist test under its line cap * fix(mobile): let VoiceOver reach conflict action buttons |
||
|
|
6b937c7e5f |
fix(source-control): resolve delete/modify conflicts and complete merges from the panel (#35347)
* fix(source-control): resolve delete/modify conflicts and complete merges from the panel * fix(source-control): address review findings on conflict resolution * fix(source-control): save every view of the file before marking a conflict resolved * fix(source-control): match unsaved conflict views by physical file only * test(source-control): prove completeMerge refuses with a commit template set * refactor(source-control): reuse autosave view matching and refresh only after a completed merge * fix(source-control): drop the untranslated Complete merge fallback text * fix(source-control): refuse Keep file when the file is gone and re-read unsaved views on retry * fix(source-control): let Keep file stage conflicted symlinks with missing targets * fix(source-control): run one conflict resolution per file at a time |
||
|
|
f1189be850 |
Offer Resolve with AI for paused merge, rebase, and cherry-pick (#28569)
* Offer Resolve with AI for paused merge, rebase, and cherry-pick A paused operation can need recovery after every conflict is staged, but the Resolve with AI action only appeared when unmerged paths remained. The operation banner now offers it whenever AI actions are visible and an operation is in progress. Starting an AI conflict-resolution agent is also blocked while a Git operation is running. The composer, the banner and card buttons, and the agent launch itself check the running-operation state, so a launch that began during agent detection cannot start while Git is still running. * Block paused-operation recovery only on Orca's own Git work The previous gate scanned the host's process table and refused "Resolve with AI" whenever it could not prove no Git process was running. That refused recovery on older paired hosts, on Windows whenever any Git process ran anywhere on the machine, and while a paged `git reflog` or `git grep` was open in a terminal. - The host tracks Orca's own mutating Git commands per worktree (including ones still queued) and reports them through `git.mutationInFlight`. Reads and fetch/push/ls-remote are not tracked. - Recovery is refused only when the host reports that work. Older hosts without the method keep today's behavior. - The gate applies only to launches from the paused-operation banner and conflict card, not every resolveConflicts launch, so the Checks panel's PR-conflict flow is unchanged. - The agent prompt now tells the agent to stop if index.lock exists or another git command is running, which covers Git started outside Orca on every host. With no unmerged files, the prompt asks the agent to find why Git paused instead of listing zero conflicts. * Preserve Git mutation state until terminated commands exit - Cancel stale recovery checks and agent launches when their dialog or scope closes - Guide rebase recovery agents to amend fixes after failed exec steps * Cover failed rebase exec recovery with real Git * Recognize global Git options in worktree mutation tracking |
||
|
|
a5796ec8eb |
refactor(runtime): split OrcaRuntimeService and compatibility tests (#17605)
* refactor(runtime): split OrcaRuntimeService into focused modules
* test(runtime): cover admission tiers and strict worktree reconciliation
* fix(runtime): preserve owner and structured session visibility
* fix(runtime): port post-extraction compatibility fixes
* fix(runtime): preserve skill-share cancellation barrier
* test(runtime): update identity inventory after extraction
* fix(runtime): preserve hook transport environment cleanup
* fix(runtime): consolidate idle probe imports
* test(runtime): retire split file process allowlist entry
* fix(runtime): route child process types through shared boundary
* test(runtime): preserve worktree host metadata precedence
* fix(runtime): update extracted test seams
* fix(runtime): gate the split's ts-nocheck set and restore the stop-confirmed contract
Audit follow-ups for the OrcaRuntimeService split:
- Freeze the 171 @ts-nocheck files behind a ratchet so no new file can disable
type checking. The split's linear mixin chain cannot express forward
references yet, so the existing suppressions are grandfathered; the baseline
may only shrink.
- Drop the stray @ts-nocheck at the end of orca-runtime-get-status.ts. It sat
after the first statement, where TypeScript ignores it, so the module was
already checked.
- Restore `retireRejectedPty(ptyId, stopConfirmed: boolean)` as a required
argument. The split widened it to optional and patched the resulting error
with `stopConfirmed === true`; an omitted argument would have silently taken
the unverified-stop path instead of failing to compile.
- Guard that every orca-runtime-tests fragment is imported by the compatibility
entrypoint. The fragments are .spec.ts, which no Vitest include glob matches,
so one left out of the list would silently stop running.
* fix(runtime): restore four behaviors the OrcaRuntimeService split dropped
Audit findings against the refactor's true base (
|