Commit Graph
758 Commits
Author SHA1 Message Date
abkslmandClaude Fable 5 94a962bd20 Add Tailscale (Tailnet) as a sync transport between Mac and iPhone
Settings ▸ Remote gains a "Connect via" picker — LAN (default), Tailscale
(tailnet), or Relay (disabled, coming soon). On Tailnet, both devices run an
embedded tsnet node via TailscaleKit (tailscale/libtailscale) and sync frames
flow over the user's tailnet, so the phone can connect from anywhere the
tailnet reaches; Noise E2EE runs above the transport unchanged.

- NucleicTailnet (new target, macOS + iOS): TailnetNode wraps TailscaleKit's
  node lifecycle (auth-key login, generation-fenced start/stop since up() is
  un-cancellable) and drops to the framework's public C API for the data path
  — tailscale_dial/listen/accept hand back full-duplex socketpair fds, wrapped
  by FDFrameChannel (DispatchIO) into the shared FrameChannel seam. The Swift
  wrapper's one-way connection actors can't carry a bidirectional stream.
- Host: TailnetListener adopts SyncListener; startSyncServer is single-flight
  and honors toggle-off/picker changes at the commit point; pairing QRs carry
  transport + tailnet IP/port hints (PairingPayload additive optional fields,
  forward/backward compatible over CBOR).
- iPhone: pair/reconnect dial over whichever transport the pairing recorded;
  Settings gains a Tailscale auth-key field (Keychain, committed on editing
  end); connectivity chip shows "Connected · Tailnet".
- TailscaleKit has no SwiftPM distribution: scripts/build-tailscalekit.sh
  builds a pinned libtailscale commit into an untracked local xcframework;
  Package.swift links it only when present (everything builds without it, the
  picker then reports Tailscale support as not built in), and the script
  clears SwiftPM's content-keyed manifest cache so the toggle is picked up.
- iOS floor 17.0 → 18.1 (TailscaleKit requires the iOS 18 Swift runtime);
  package-app.sh embeds the framework in the .app like Sparkle.

703-test suite: no new failures (the 7 fake-claude/fake-grok staging issues
reproduce identically on an untouched checkout — pre-existing, tracked
separately). New coverage: FDFrameChannel over socketpairs, pairing-payload
version-skew both directions, transport-setting resolution.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-03 03:50:45 -07:00
abkslmandNucleic 22d0752329 nvrsion: Add fix for QR Code Scan Failure in AppStore, Sync, and Tests; explore connection failures over local network; update Info.plist, Models, and SettingsView.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 01:42:40 -07:00
abkslmandNucleic 2c634e7db6 QR Code Scan Failure
Nucleic-Session: 80E30D7B-70A8-479A-A9A8-7E267486EAE1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 01:41:42 -07:00
abkslmandNucleic 308fc28448 QR Code Scan Failure
Nucleic-Session: 80E30D7B-70A8-479A-A9A8-7E267486EAE1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 01:41:04 -07:00
abkslmandNucleic 701bd6e6ab QR Code Scan Failure
Nucleic-Session: 80E30D7B-70A8-479A-A9A8-7E267486EAE1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 01:40:53 -07:00
abkslmandNucleic 16da64da3b QR Code Scan Failure
Nucleic-Session: 80E30D7B-70A8-479A-A9A8-7E267486EAE1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 01:40:46 -07:00
abkslm 60eea6ece2 release(ios/canary): v0.2.0 (build 5) 2026-07-02 22:50:41 -07:00
abkslm cb6976baa4 release(ios/beta): v0.2.0 (build 4) 2026-07-02 22:32:37 -07:00
abkslm 48732940d3 Merge branch 'canary' into staging 2026-07-02 22:23:13 -07:00
abkslm 572262c224 Merge branch 'dev' into canary 2026-07-02 22:23:03 -07:00
abkslm bc006e4e40 Merge branch 'canary' into staging 2026-07-02 22:15:20 -07:00
abkslm 1a9eff585e Merge branch 'dev' into canary 2026-07-02 22:13:52 -07:00
abkslm cce6a0c4d9 Merge branch 'dev' into nucleic/trunk 2026-07-02 22:12:16 -07:00
abkslmandNucleic f668a204ab nvrsion: Add: Adjust iOS beta channel release targets to “Nucleic Remote (Beta)” in BUILD.md, Makefile, app-logo-beta.icon/icon.json, ios/NucleicRemote/NucleicRemote.xcodeproj/project.pbxproj, scripts/ios-release.sh, signing/README.md.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 22:12:15 -07:00
abkslmandNucleic 65a7897233 iOS Beta Target Adjustment
Nucleic-Session: B5F39681-AF29-4F9A-8666-16E1FD5009A3
Co-authored-by: Nucleic <[email protected]>
2026-07-02 22:04:54 -07:00
abkslmandNucleic 528f1b08db iOS Beta Target Adjustment
Nucleic-Session: B5F39681-AF29-4F9A-8666-16E1FD5009A3
Co-authored-by: Nucleic <[email protected]>
2026-07-02 22:04:47 -07:00
abkslmandNucleic 137ca12a4d iOS Beta Target Adjustment
Nucleic-Session: B5F39681-AF29-4F9A-8666-16E1FD5009A3
Co-authored-by: Nucleic <[email protected]>
2026-07-02 22:04:40 -07:00
abkslmandNucleic 962a6014d8 iOS Beta Target Adjustment
Nucleic-Session: B5F39681-AF29-4F9A-8666-16E1FD5009A3
Co-authored-by: Nucleic <[email protected]>
2026-07-02 22:04:34 -07:00
abkslmandNucleic b10b26ba37 nvrsion: Add: Align iOS remote banner cases (beta, canary, etc) to desktop version to fix divergence in build number hash.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:58:03 -07:00
abkslm 423a356fe2 Merge branch 'dev' into nucleic/trunk 2026-07-02 21:58:03 -07:00
abkslmandNucleic e960e6e4d5 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:57:48 -07:00
abkslmandNucleic 7b5bdc9d0b nvrsion: Add: Adjust Canary Build Auto-Update to run every hour, fix Keychain permission audit by updating files: ControlAuth.swift, GitHubCredentials.swift, HeartbeatReporter.swift, KeychainOwnedAccess.swift, HostIdentityStore.swift, PushRelayClient.swift, refactor Remote Build Icon to use “bell.and.waves.left.and.right.fill” in ios/NucleicRemote/NucleicRemote/Views/BuildBanner.swift, add a Remote Release Channel Check in AppStore.swift, Sync/ConnectionHandler.swift, Sync/SyncHostBridge.swift, Sync/ReleaseChannel.swift, Sync/SyncClient.swift, Sync/WireMessages.swift, tests/SyncHostTests.swift, tests/SyncTestSupport.swift, and align build number hash in ios/NucleicRemote/NucleicRemote.xcodeproj/project.pbxproj, ios/NucleicRemote/NucleicRemote/Info.plist, ios/NucleicRemote/NucleicRemote/Views/BuildBanner.swift.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:54:40 -07:00
abkslm 1f11f6f330 Merge branch 'dev' into nucleic/trunk 2026-07-02 21:54:40 -07:00
abkslmandNucleic 36083dc4e3 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:53:46 -07:00
abkslmandNucleic 7379bfba49 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:53:23 -07:00
abkslmandNucleic aa38f931e1 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:52:27 -07:00
abkslmandNucleic 41ee43aa75 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:52:14 -07:00
abkslmandNucleic 9bc685aa3f Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:52:07 -07:00
abkslmandNucleic 159d7636a2 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:52:00 -07:00
abkslmandNucleic 1ec8871536 Build Number Hash Alignment
Nucleic-Session: F8E9CC32-59CC-4022-B42C-0B0694C57F42
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:51:55 -07:00
abkslm 33e0459451 release(ios/beta): v0.1.0 (build 3) 2026-07-02 21:45:51 -07:00
abkslmandNucleic c6175b7185 Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:42:08 -07:00
abkslmandNucleic d3cc7796dd Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:41:33 -07:00
abkslmandNucleic a06c2c58ad Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:41:06 -07:00
abkslmandNucleic 51b5820a81 Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:40:59 -07:00
abkslmandNucleic d3515605f7 Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:40:54 -07:00
abkslmandNucleic 566135ae89 Add Remote Release Channel Check
Nucleic-Session: 7D1A5F60-CF2F-44E6-B060-51C4C2EA79D1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:40:49 -07:00
abkslmandNucleic f7db53d5e9 Update Remote Build Icon
Nucleic-Session: E79EC03D-CA77-4899-9DCC-85A053633105
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:37:42 -07:00
abkslm 63b754b2dd release(ios/canary): v0.1.0 (build 2) 2026-07-02 21:21:47 -07:00
abkslm 7e75880eb5 Merge branch 'dev' into canary 2026-07-02 21:09:54 -07:00
abkslmandNucleic 535c092fcc nvrsion: Add: Update Info.plist to reflect no encryption requirement for TestFlight versions.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:09:09 -07:00
abkslm 91b059a2bd Merge branch 'dev' into nucleic/trunk 2026-07-02 21:09:09 -07:00
abkslmandNucleic 2b97633b99 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 21:08:54 -07:00
abkslm 36e2d4ff04 Merge branch 'dev' into canary 2026-07-02 20:10:30 -07:00
abkslmandNucleic 1bf1f4e658 nvrsion: Add “To-do” count stat card to iOS app.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:37:45 -07:00
abkslm f1c1452a24 Merge branch 'dev' into nucleic/trunk 2026-07-02 19:37:45 -07:00
abkslmandNucleic 62b242da5f Adjust Stat Card Layout
Nucleic-Session: 0112C718-2A09-4547-9C71-C6C8A08BA385
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:37:34 -07:00
abkslmandNucleic b53864f5d0 Adjust Stat Card Layout
Nucleic-Session: 0112C718-2A09-4547-9C71-C6C8A08BA385
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:37:27 -07:00
abkslmandNucleic 04c9d08f58 Adjust Stat Card Layout
Nucleic-Session: 0112C718-2A09-4547-9C71-C6C8A08BA385
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:37:20 -07:00
abkslmandNucleic 4493c03de0 nvrsion: Add horizontal layout adjustment to Stat Cards on HomeView for better visibility, fix iOS pair screen banner position on the pair screen, and adjust Login Button Icon placement.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:34:09 -07:00