mirror of
https://github.com/stablyai/orca.git
synced 2026-10-18 00:03:20 +00:00
* Suggest enabling local-main freshness when a new workspace finds it stale Adds a "Keep Local Main Up to Date" suggestion path: when the setting is off and a new workspace's local base branch is behind its remote, Orca surfaces a one-time, dismissible toast nudging the user to enable it. The toast is sticky (no auto-expire) so it can't be missed, with explicit Turn On / Dismiss actions; dismissing (button, close X, or swipe) persists localBaseRefSuggestionDismissed so the nudge — and its backend probe — never runs again. Also refactors the refresh logic so the advisory and mutating paths share one fast-forward-safety evaluator, adds an SSH relay RPC for the ref mutation, and fixes remote-tracking base parsing for fully-qualified refs. Co-authored-by: Orca <help@stably.ai> * fix: restore update-ref fast-forward for un-checked-out local base ref The refactor that split refresh into evaluate + mutate dropped the non-owner case: a local base branch checked out in no worktree was left stale (return undefined) instead of fast-forwarded. Restore it across all three layers — local evaluator/mutator, SSH evaluator, and relay handler (which also removes the dead duplicated throw) — using the expected-old-OID compare-and-swap form of update-ref so a concurrent ref move is a no-op. The suggestion toast now also fires for this case. Co-authored-by: Orca <help@stably.ai> * refactor: restore resultBase spread in local-base-ref mutators The evaluate/mutate split spelled out { baseRef, localBranch, status } literally in the mutating paths; main used a resultBase spread. Restore that pattern in both the local and SSH mutators — behavior-preserving, collapses two identical skipped_error returns. Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: Orca <help@stably.ai>