Skip to content

fix(dashboard): settle remote sync button state#1343

Merged
christso merged 1 commit into
mainfrom
fix/dashboard-remote-sync-stuck
Jun 10, 2026
Merged

fix(dashboard): settle remote sync button state#1343
christso merged 1 commit into
mainfrom
fix/dashboard-remote-sync-stuck

Conversation

@christso

Copy link
Copy Markdown
Collaborator

Summary

The Dashboard remote sync toolbar now settles back to the current remote status after syncs overlap. Before this fix, a project could clear its pending remote metadata while the button stayed disabled as Syncing... until reload; now the sync response updates the remote-status cache and status refetches can move the toolbar back to Clean / Sync Project without a page reload.

Remote status polling now runs only while the server reports sync_status=syncing, so a blocked concurrent sync response does not leave the UI stranded on stale in-progress state.

Verification

  • (cd apps/dashboard && bun test src/lib/project-sync-status.test.ts) — 12 pass
  • bun --filter @agentv/dashboard test — 83 pass
  • bun --filter @agentv/dashboard build — pass; rebuilt Dashboard dist before browser UAT
  • bun run lint — pass
  • Push hook also ran bun --filter @agentv/core typecheck && bun --filter @agentv/phoenix-adapter typecheck && bun --filter agentv typecheck and biome check . — pass

Red/Green UAT Evidence

  • Red: original dogfood evidence on av-fis showed dashboard-project-after-sync-settled.png stuck on Syncing... despite /api/projects/av-fis-dashboard/remote/status returning sync_status=clean, dirty_paths=[].
  • Green: with this branch, a temp project/results repo with dirty metadata showed Sync Metadata; after clicking it, the UI settled to Clean / Sync Project without reload and /api/projects/project/remote/status returned sync_status=clean, dirty_paths=[].
  • Green screenshot path from this session: /tmp/age7-final-green-clean.png.

Post-Deploy Monitoring & Validation

  • Validation window: first 24 hours after deploy; owner: AgentV maintainers watching remote-sync dogfood/production feedback.
  • Watch browser/API reports for terms: Syncing..., sync_status=syncing, remote/sync, remote/status, Results repo sync is already in progress.
  • Healthy signals: after a remote sync POST completes or a status refetch returns clean, Dashboard project rows show Clean and the sync button is enabled with Sync Project without reload.
  • Failure signals: user reports or screenshots where remote/status is clean but the toolbar button remains disabled as Syncing... for more than one poll interval.
  • Mitigation: reload clears the UI state; if reports recur, temporarily increase status refetch visibility/logging around /remote/status and revert this PR if polling/cache hydration causes unexpected Dashboard load.

Compound Engineering
Codex

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying agentv with  Cloudflare Pages  Cloudflare Pages

Latest commit: 825e3fa
Status: ✅  Deploy successful!
Preview URL: https://3752a154.agentv.pages.dev
Branch Preview URL: https://fix-dashboard-remote-sync-st.agentv.pages.dev

View logs

@christso christso merged commit 245441f into main Jun 10, 2026
8 checks passed
@christso christso deleted the fix/dashboard-remote-sync-stuck branch June 10, 2026 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant