Commit Graph

8 Commits

Author SHA1 Message Date
sudacode 8c97b48721 fix(sync-ui): quit reliably after standalone sync window closes
- Re-issue post-cleanup quit via setImmediate so Electron doesn't drop it while unwinding the prevented quit
- Use requestAppQuit (not app.quit) on sync window close for forced-exit fallback coverage
- Settle cancelled/timed-out runs immediately when child already exited to avoid hanging on close held open by descendants
2026-07-12 23:59:20 -07:00
sudacode 32d0c79edd fix(sync-ui): preserve headless child arguments 2026-07-12 23:21:51 -07:00
sudacode 806c56a99b refactor(sync): collapse 11 sync args into forwarded token array
- Replace syncHost/syncSnapshotPath/… with syncCliTokens: string[] passed verbatim to --sync-cli sync
- Move sync CLI validation from launcher to parseSyncCliTokens (app-side single owner)
- Extract resolveImmersionDbPath to shared db-path.ts importable by both launcher and app
- Delete driver.ts; inline types into libsql-driver.ts and hard-wire openLibsqlSyncDb
- Drop OpenSyncDb injection from mergeSnapshotIntoDb and createDbSnapshot
2026-07-12 22:31:59 -07:00
sudacode 344a8b44c0 fix(sync): settle launcher client only after terminal NDJSON on exit
- `runSyncLauncher`: defer exit settlement until result event parsed; handle exit-before-stdout race
- AppImage sync commands now run in Node-only mode (`ELECTRON_RUN_AS_NODE=1 -e ...`) so remote sync needs no display server
- Update docs and changelog to reflect both changes
2026-07-12 20:11:14 -07:00
sudacode 5d8673f299 fix(sync): harden detached launch, bounded --check probes, and pipe-clos
- `sync --ui` now launches detached; closing standalone Sync window exits app
- `--check` uses BatchMode + ConnectTimeout + 15s timeoutMs on all SSH calls
- `runSyncLauncher` settles on `exit` (not just `close`) for Electron pipe inheritance
- Added `timeoutMs` to `runSyncLauncher`; check-host passes 30s deadline
- `handleSyncCliAtEntry` wraps exit deps for testability; fixes Linux AppImage GUI fallthrough
- `config-settings-window` gains optional `onClosed` hook
- Added preload-syncui bundle to `build:syncui` script
2026-07-12 19:42:34 -07:00
sudacode cd046b310a feat(sync-ui): sync window self-spawns the app, dropping the local launcher/bun requirement
resolveSyncLauncherCommand now returns process.execPath + --sync-cli
(with the app path prepended in dev runs) instead of hunting for bun and
the bundled launcher script. Same NDJSON child protocol, so the sync
window, checks, and auto-sync scheduler are unchanged.
2026-07-11 20:25:48 -07:00
sudacode 187437b681 feat(sync-ui): sync window renderer, snapshots in /tmp/subminer-db-snapshots, docs + changelog 2026-07-11 18:28:21 -07:00
sudacode 97aaf44b3c feat(sync-ui): main-process runtime, window, tray entry, CLI wiring for sync window 2026-07-11 18:07:48 -07:00