Skip to content

Add USB pairing and restore flow for desktop backup - #79

Merged
ultraelectronica merged 27 commits into
mainfrom
versionF
Sep 7, 2026
Merged

ultraelectronica merged 27 commits into
mainfrom
versionF

Conversation

@ultraelectronica

Copy link
Copy Markdown
Member

Summary

Adds USB pairing for the desktop backup companion, a full desktop restore flow (pairing mode, controller, restore setup screen, keybundle install/rewrap), and a tap-to-approve USB handshake.

Changes

USB Pairing

  • Add UsbLink service for USB desktop pairing
  • Add USB connection option to restore setup
  • Add USB connection mode to desktop backup screen
  • Add USB pairing approval endpoint (/api/pair/allow) with usbApproved/usbPending status
  • Replace adb forward with adb reverse for USB pairing
  • Add POST /usb-hello loopback handshake
  • Test loopback URL for USB-forwarded sessions
  • Add desktop USB link tests

Restore Flow

  • Add restore mode to pairing session, receiver, and web UI
  • Add restore pairing mode with sidebar SettingsDialog
  • Add restore setup screen for desktop backup
  • Add desktop restore controller
  • Add restore flow to desktop backup screen and option
  • Add PairInfo fields and settings glyph
  • Complete restore keybundle install with verification and one-shot re-wrap
  • Add restored keybundle install and rewrap logic (verifies original vault password via GCM)

Other

  • Add thumbnail display toggle and web assets
  • Switch favicon to PNG
  • Document USB tap-to-approve and mark P6.3/P6.4 done
  • Add SettingsDialog and Dialog components
  • Await setPendingCredential and rename vault helpers

`installRestoredKeybundle` verifies the original vault password via GCM
before writing storage and arms a one-shot re-wrap.
`setPendingCredential`
now performs that re-wrap with the new device credential.
Replace `adb forward` with `adb reverse` for USB pairing. Add
`POST /usb-hello` loopback handshake and `/api/pair/allow` for
tap-to-approve. Mark P6.3 and P6.4 complete; P6.5 deferred.
Add /api/pair/allow endpoint for desktop owner to approve or deny
tap-to-approve USB requests. Include usbApproved and usbPending in
pair status.
@ultraelectronica ultraelectronica self-assigned this Sep 7, 2026
@ultraelectronica
ultraelectronica merged commit f04419f into main Sep 7, 2026
1 check passed
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