Commit Graph
63 Commits
Author SHA1 Message Date
abkslmandnucleic 4c9158337b Adjust Notification Content
Nucleic-Session: 4C62E994-D013-454A-B051-7D91EECFB69A
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:36:46 -07:00
abkslmandnucleic cac35159d1 Adjust Notification Content
Nucleic-Session: 4C62E994-D013-454A-B051-7D91EECFB69A
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:36:42 -07:00
abkslmandnucleic f12502fe85 Adjust Notification Content
Nucleic-Session: 4C62E994-D013-454A-B051-7D91EECFB69A
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:36:28 -07:00
abkslmandnucleic a3d1398729 Adjust Notification Content
Nucleic-Session: 4C62E994-D013-454A-B051-7D91EECFB69A
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:36:18 -07:00
abkslmandnucleic bc8133e3b1 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:05:15 -07:00
abkslmandnucleic 651a3bf4bc Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:05:03 -07:00
abkslmandnucleic 89c29b0f1b Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:02:36 -07:00
abkslmandnucleic 33dedfd7a6 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:02:24 -07:00
abkslmandnucleic 547047a641 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:02:18 -07:00
abkslmandnucleic 7afeeb8ff7 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:02:10 -07:00
abkslmandnucleic 8c4efb1507 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 14:02:00 -07:00
abkslmandnucleic 97c2b0b797 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 13:45:52 -07:00
abkslmandnucleic 409485e75b Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 13:43:19 -07:00
abkslmandnucleic 2a7a8c3fc7 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 13:43:12 -07:00
abkslmandnucleic 1bdbf00b32 Launch Activity Logic
Nucleic-Session: EBB24271-3AB2-4CBD-A47A-59FC73500371
Co-authored-by: Nucleic <[email protected]>
2026-07-06 13:43:05 -07:00
abkslmandnucleic 2921682091 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:51:39 -07:00
abkslmandnucleic a88758c66d Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:51:27 -07:00
abkslmandnucleic b1ecfa83e3 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:51:08 -07:00
abkslmandnucleic 0d706f2237 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:51:00 -07:00
abkslmandnucleic e4670bc42c Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:54 -07:00
abkslmandnucleic fd626eb19b Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:49 -07:00
abkslmandnucleic c0e52dc1e9 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:39 -07:00
abkslmandnucleic 95a615e2c3 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:35 -07:00
abkslmandnucleic 1f82f83aca Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:31 -07:00
abkslmandnucleic defa217bf1 Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:22 -07:00
abkslmandnucleic 4579f6c34b Adjust Push Notification Logic
Nucleic-Session: 0F065CD6-20FE-4941-ACF5-C57A4572A5A3
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:50:10 -07:00
abkslmandnucleic 33b554e982 iOS Live Activity Updates
Nucleic-Session: 665980BA-E8A5-4E84-9DF4-1757CF792353
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:49:46 -07:00
abkslmandnucleic 274369d5f3 iOS Live Activity Updates
Nucleic-Session: 665980BA-E8A5-4E84-9DF4-1757CF792353
Co-authored-by: Nucleic <[email protected]>
2026-07-06 12:49:14 -07:00
abkslmandnucleic 1928e9de0b Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:40:36 -07:00
abkslmandnucleic 8e0f7b6a9b Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:40:13 -07:00
abkslmandnucleic b2cd62ccfb Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:40:04 -07:00
abkslmandnucleic fd6523ec81 Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:39:57 -07:00
abkslmandnucleic b8baa7ec8a Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:39:50 -07:00
abkslmandnucleic 1746238050 Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:39:42 -07:00
abkslmandnucleic add3c817e4 Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:37:50 -07:00
abkslmandnucleic 5a5035289a Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:37:37 -07:00
abkslmandnucleic 2dba30538a Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:37:01 -07:00
abkslmandnucleic 23637a2f6a Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:36:55 -07:00
abkslmandnucleic 3b5d0ee44c Live Activity Refresh Delay
Nucleic-Session: 8C954A45-A16B-4E91-B9E6-9865809096D7
Co-authored-by: Nucleic <[email protected]>
2026-07-06 01:36:46 -07:00
abkslmandnucleic 4a495502ad nvrsion: Add: Chat: Chat View Refinement to modernize session chat interface by removing vertical space for selectors, Fix: Chat: Remove Face ID Permission Text, Refactor: Chat: Live Activity Content Density to open app directly into waiting sessions when tapped, Refactor: Chat: Live Activity Content Density to refresh live activity info significantly faster, Fix: Chat: Live Activity Content Density to refresh live activity info significantly faster, Fix: Chat: Live Activity Content Density to refresh live activity info significantly faster, Fix: Chat: Network Type Transition Optimization to reduce delay during network type switches, Feature Enhancement Planning: All devices in a mesh group should see and be aware of each other; “pair” reframed into “join”; scanning, Fix: Chat: Session Transcript Sync to show only current frame’s transcript when opening a session on another Mac, Build: Push-update path to stay fresh while locked.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-05 01:00:03 -07:00
abkslm 428e2ec0d7 update nucleic-edge/wrangler.jsonc 2026-07-04 17:56:36 -07:00
abkslmandClaude Fable 5 7e80a45ddc Mesh + session transfer: P1 done, P2 core, P4 foundation
Multi-device mesh + session-transfer program (docs/MESH_TRANSFER.md).

P1 (multi-select connection methods, Mac): SyncTransportSet with legacy
migration; CompositeSyncListener partial-failure tolerant + per-method health;
AppStore listens on all enabled methods; HostInfo.hostID = DeviceIdentity.hostID
(key hash, not display name); Settings 3 method toggles + LAN-only recommendation
banner.

P2 core (relay hardening, security-critical, tested): nucleic-edge relayEnroll.ts
X25519 proof-of-possession enroll + server-side roomId derivation; room.ts
role-routed per-peer forwarding with deviceId-tag envelope + frame cap +
one-host-per-room eviction; host-bearer minting bound to the PoP room. Swift
cross-stack contracts pinned to test vectors: RelayEnrollment (PoP proof),
RelayEnvelope (routing tag), PairingPayload relay fields. Socket transport +
iOS un-gating remain deploy-gated.

P4 foundation (peer model + listPeers, tested): PeerTypes (PeerKind/
PeerCapabilities/PeerSummary); Hello.deviceKind+clientCaps;
WireCapabilities.canListPeers; ClientMsg.listPeers -> HostMsg.peerList;
PairedDevice.kind+capabilities (decode-defaulted); ConnectionHandler records
kind at pairing; SyncHost.connectedDeviceIDs(); AppStore.peerSummaries();
SyncClient .peerList event; iOS RemoteStore.meshPeers. PeerClient + Mac<->Mac
pairing UI remain.

All additive + capability-gated; SyncProtocol.version stays 1; pre-mesh stores
and clients unaffected. Swift 724 core + 91 protocol tests green; edge 50 green.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-04 00:39:30 -07:00
abkslmandnucleic 2c3535c3f9 nvrsion: Add: Adjust side padding on “Update available” card in sidebar to match session entries’ padding, fix internal tester invitation workflow for rapid Canary channel releases, and create a “trusted tester” system requiring approval to join internal testing groups.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-03 17:40:28 -07:00
abkslmandClaude Fable 5 e93fc14c9b relay: host self-enrollment — no admin secret in the app; push is one toggle
The admin bearer must not ship in a distributed build, so hosts no
longer use it at all. A Mac self-enrolls with the relay on first use
(POST /v1/host/enroll) and receives its own scoped credential (only
the SHA-256 is stored server-side; the credential lives in the login
Keychain). Register and notify are now authorized per host: a host
can wake only devices it registered itself (admin remains an
operator-only override); room-registered records are owner-tagged
with the DO id and refused out-of-band. Each device record's APNS
environment now wins over the global APNS_ENV secret, so mixed
sandbox/production fleets work.

Settings ▸ Remote's section is now just "Relay" with a single
"Push notifications" toggle that takes effect immediately; the relay
URL and APNS-environment overrides appear only in local dev builds.
PushRelayConfig reduces to enabled + baseURL (built-in production
default) + apnsEnv (production default). PUSH_SETUP.md §3/§4 updated;
stale dotted-bundle-id comments in env.ts/wrangler.jsonc fixed.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 17:21:38 -07:00
abkslmandClaude Fable 5 717e87e2ae ios: notifications, actionable approvals, Live Activity, and the relay push path
Brings the phone's ambient surfaces (UX_IOS §5/§8) to maturity:

- Notification pipeline (NotificationRouter): local notifications for
  approvals and needs-input transitions while backgrounded; low-risk
  approvals are actionable from the banner (Allow requires device
  auth, high-risk must open the app's Face ID gate); taps deep-link
  to the session; app-icon badge = NEEDS YOU count; resolutions
  withdraw the notification (first-responder-wins). The relay's
  content-free approval.pending tickle localizes via
  Localizable.strings.
- Live Activity: new NucleicRemoteWidgets extension target (lock
  screen + Dynamic Island) rendering one aggregate Activity —
  N running / M waiting + the most urgent session — started/updated/
  ended by LiveActivityManager as session state changes.
- Out-of-band push path: nucleic-edge gains POST /v1/push/register
  (admin) so the host can upload tokens for LAN-only pairings; the
  host's new PushRelayClient (config-gated on NUCLEIC_RELAY_URL +
  NUCLEIC_RELAY_ADMIN_SECRET) mirrors Hello.pushToken to the relay
  and wakes non-connected phones when an approval arrives, throttled
  per device. Everything stays off until the relay is provisioned.

Worker tests (23) and Swift suites pass apart from the pre-existing
fixture gaps and nvrsion flake. Simulated APNs delivery is blocked in
this environment (notification auth can't be granted headlessly).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:33 -07:00
abkslmandnucleic 72b2a648e7 nvrsion: recovered uncommitted work after restart
Nucleic-Recovery: 1
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:16:12 -07:00
Nucleic 45e836d770 Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:24:05 -07:00
Nucleic 757ad3b42d Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:23:54 -07:00
Nucleic 530cf9e6a5 Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:23:45 -07:00
Nucleic 8d32e487e1 Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:23:38 -07:00