Commit Graph
4 Commits
Author SHA1 Message Date
Raven Scott 7df3975bb0 feat(sync): show device hostnames in Linked devices table; document sync fully
CI / Build & Test (push) Successful in 4m20s
- Sync: use OS hostname for each device in Linked devices table; persist
  deviceNames in state and merge on save/apply so peers see each other's names
- Docs: expand SYNC.md (linked devices table, replace-state modal, multi-device,
  offline); NATIVE-HOST getSyncStatus (deviceId, syncGroupId, linkedDevices,
  deviceName/name); ARCHITECTURE sync-manager and autopass paths; README
  features/dashboard/file locations/doc link; BACKUP and SECURITY cross-refs
2026-03-15 02:22:11 -04:00
Raven Scott 90613511ed feat(sync): list all linked devices in Sync table
CI / Build & Test (push) Successful in 4m25s
- getSyncStatus() now iterates pass.base.activeWriters and returns
  linkedDevices: [{ id, isCurrent }] for each writer in the sync group
- Dashboard Linked devices table shows every device: "This device" plus
  "Device 2", "Device 3", etc. with their IDs; rows sorted by id
- Fallback to single "This device" row when activeWriters is missing
2026-03-15 02:03:37 -04:00
Raven Scott 925376a6bd fix(sync): stop sync loop; add link warning and linked-devices table
CI / Build & Test (push) Successful in 4m22s
- Await restorePersistedTunnels so applyingSync stays true for full restore,
  preventing saveState() during tunnel startup from pushing back and looping
- Debounce onRemoteUpdate (600ms) and skip apply when state unchanged
  (canonical fingerprint) to avoid redundant restarts
- Add confirm modal before "Link device": warns that current state will be
  replaced and suggests creating a backup first
- Add Linked devices table when linked: show This device ID (writerKey) and
  Sync group ID (discoveryKey); getSyncStatus returns deviceId and syncGroupId
2026-03-15 01:47:34 -04:00
Raven Scott 2595a01f65 feat: autopass-based cross-device sync for Holesail Browser
CI / Build & Test (push) Successful in 4m27s
- Native host: add autopass + corestore deps, sync-manager (createInvite, pairWithInvite, push/pull)
- Apply synced state via same flow as backup restore (state.json only, no certs)
- Holesail-manager: setOnStateSaved hook for sync push
- Extension: Sync dashboard page, getSyncStatus/createSyncInvite/pairWithInvite, syncApplied event
- Docs: NATIVE-HOST.md sync commands, SYNC.md
2026-03-15 01:31:51 -04:00