Skip to content

fix(sandbox): supervise preview source sync - #213

Merged
iamjr15 merged 1 commit into
mainfrom
fix/sandbox-preview-sync-liveness
Aug 10, 2026
Merged

fix(sandbox): supervise preview source sync#213
iamjr15 merged 1 commit into
mainfrom
fix/sandbox-preview-sync-liveness

Conversation

@iamjr15

@iamjr15 iamjr15 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Why

A transient Daytona FUSE read denial could terminate the durable-to-native source synchronizer while the Vite child stayed healthy. Process reuse then saw a live port and returned a permanently stale preview.

What changed

  • Retry transient durable-source read failures immediately and within a bounded grace period.
  • Treat the app and synchronizer as one managed process unit; a dead synchronizer terminates the app so the existing bounded supervisor restarts both.
  • Extend immutable snapshot smoke checks to cover transient recovery, live source propagation, and sync-child failure.
  • Document the managed-preview liveness contract at the sandbox and agent-worker boundaries.

Verification

  • pnpm lint
  • pnpm typecheck
  • pnpm turbo build --force
  • pnpm deadcode
  • pnpm architecture:check
  • pnpm turbo skills:build
  • Local lifecycle smoke: simulated the observed EPERM, verified source recovery, verified live update propagation, killed the sync child, and confirmed the preview parent exited non-zero.

All repository commands ran with Node 24.18.0 and pnpm 11.15.0. Production browser QA follows immutable snapshot publication and promotion.

@iamjr15
iamjr15 merged commit 968af0d into main Aug 10, 2026
4 checks passed
@iamjr15
iamjr15 deleted the fix/sandbox-preview-sync-liveness branch August 10, 2026 11:45
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