You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from #158, which added `res.ok` checks to asset upload/download in `packages/sync/src/sync.ts`. Throwing there is correct, but no call site catches:
A single failed asset aborts `sync()` before `writeSyncState`, so all file pushes/pulls from that run go unrecorded and get redone next run.
In `hubble cloud watch`, sync runs via `void scheduler.enqueue(...)` (`packages/cli/src/index.ts`) with no catch. One transient 500 on an asset fetch becomes an unhandled rejection that kills the watcher process. This crash path predates fix: harden editor and sync edge cases #158 (any backend error hits it), but the new throws make it much more reachable.
Suggested fix:
Per-asset try/catch in `sync()` that records the failure in `result` and continues.
Catch inside the CLI scheduler loop so watch mode logs and keeps running.
Follow-up from #158, which added `res.ok` checks to asset upload/download in `packages/sync/src/sync.ts`. Throwing there is correct, but no call site catches:
Suggested fix: