Skip to content

Keep diff mode and Git status refresh responsive#127

Merged
yaacovcorcos merged 14 commits into
mainfrom
fix/upstream-diff-refresh-20260725
Jul 26, 2026
Merged

Keep diff mode and Git status refresh responsive#127
yaacovcorcos merged 14 commits into
mainfrom
fix/upstream-diff-refresh-20260725

Conversation

@yaacovcorcos

@yaacovcorcos yaacovcorcos commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

User impact

  • Switching the diff viewer between split and stacked mode now takes effect immediately and consistently.
  • Git status no longer enters a stale invalidation loop while repository discovery resolves.
  • Git mutations fail closed if the branch changes after the user sees status, and in-process mutations for linked worktrees are serialized by their common Git directory.
  • Non-repository projects avoid unnecessary status polling while active repository status and diffs remain responsive.

Upstream provenance and disposition

  • Synara donor: 807acfe3c784b41229b81c4b78957681ec8e6cb2.
  • Disposition: Adapt. Scient reimplements the useful interaction and reliability behavior on its existing diff, Git React Query, Git service, checkpoint, automation, and provider seams.
  • The adaptation adds a Scient-owned shared RPC authority overlay requiring expectedBranch for pull and stacked actions. It does not change the immutable released transport-contract source.
  • No donor identity, storage, credential, telemetry, publication, updater, or release authority is imported.

Exact candidate

  • Base: 1e03f8d638d991ad6e7c88c900f20d8a3ad27894
  • Head: a46809b73fcf0f318209e258bbce0a5a81c40e9a
  • Current main was incorporated by a normal conflict-free merge; no rebase or force push.

Verification at the exact head

  • Focused web and transport: 168 passed.
  • Shared mutation RPC: 2 passed.
  • Focused server Git, manager, checkpoint, automation, and provider-reactor: 315 passed.
  • bun run scient:upstream-check --intake: identity, format, lint with zero errors, all typechecks, complete bun run test, web/desktop/CLI builds, release smoke, and clean certification passed.
  • Full web tests: 3,106 passed. Scripts: 215 passed, 4 skipped. Full server/CLI suite passed.
  • Stable Chromium: 353 passed, 19 skipped. Geometry: 19 passed.
  • git diff --check passed and the worktree remained clean.

Independent final reviews

Exactly three fresh read-only reviews inspected this exact head:

  1. Correctness, reliability, concurrency, lifecycle, performance, and regression risk: no P0-P2 code findings.
  2. Security, privacy, data loss, destructive Git behavior, RPC authority, credentials, migrations, updater, and release safety: no P0-P2 findings.
  3. Architecture, maintainability, ownership, donor lineage, product design, UI coherence, responsive behavior, and accessibility: no P0-P2 code findings. The stale hosted-head/body P2 is resolved by this exact-head push and body update; hosted CI remains the final proof.

Nonblocking P3 limitations: direct pull branch-interleaving lacks a dedicated deterministic regression; the public frozen NativeApi type does not expose the stronger overlay even though production callers do; repository semaphores are retained for the server lifetime and long stacked operations can queue sibling-worktree mutations; no manual screenshot, keyboard, or screen-reader acceptance was performed.

Safety and rollback

  • Pull remains fast-forward-only. Every UI-triggered pull or stacked action carries the caller-observed branch, which is revalidated server-side.
  • Direct Git mutations, checkpoints, automation worktree operations, and provider branch rename/publish share common-directory serialization.
  • No persistence migration, credential/session change, updater change, packaging change, or release-control change.
  • Rollback is a single-PR revert.

Related intake PRs

Adapted from Synara 807acfe3c784b41229b81c4b78957681ec8e6cb2.

Remount the third-party diff renderer when its mount-time view mode changes, use the shared menu radio primitive, and prevent branch-discovery races or non-repo workspaces from starting a permanent Git-status invalidation loop. Add focused regression coverage for each boundary.
@yaacovcorcos

Copy link
Copy Markdown
Contributor Author

Final integration refresh (2026-07-25): current main dab9b6d was merged normally into this branch; no rebase or force-push. Exact hosted head: 11a086a. Focused Git and diff reliability suites 116/116 passed. git diff --check passes and the task worktree is clean. Fresh hosted CI run https://github.com/ScientFactory/scient-desktop/actions/runs/30160244357 completed successfully, including format, lint, typecheck, full bun run test, stable browser, Linux geometry, desktop build/preload, release smoke, Linux and Windows HTML-preview smoke, and Windows process regression. No unresolved review threads remain. Existing documented manual limitations are unchanged and non-blocking. This candidate is integration-ready against main dab9b6d; this is not merge or release authorization.

@yaacovcorcos
yaacovcorcos marked this pull request as ready for review July 25, 2026 14:04
@github-actions github-actions Bot added size:L and removed size:M labels Jul 25, 2026
@github-actions github-actions Bot added size:XL and removed size:L labels Jul 26, 2026
@yaacovcorcos
yaacovcorcos merged commit 50a784f into main Jul 26, 2026
10 checks passed
@yaacovcorcos
yaacovcorcos deleted the fix/upstream-diff-refresh-20260725 branch July 26, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant