Commit Graph
965 Commits
Author SHA1 Message Date
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
abkslm d493464b88 Merge branch 'dev' into nucleic/trunk 2026-07-02 19:34:09 -07:00
abkslmandNucleic 397f153b57 Login Button Icon Adjustment
Nucleic-Session: AAAE9114-6E8D-4DFF-A876-CA91340A686E
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:33:56 -07:00
abkslmandNucleic 6353da5dc8 Adjust Stat Card Layout
Nucleic-Session: 0112C718-2A09-4547-9C71-C6C8A08BA385
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:33:50 -07:00
abkslmandNucleic 07cf01b4e6 nvrsion: Add review feature access for iOS remote: Enable reviewers to test all features in App Store (or TestFlight) reviews by updating BUILD.md, docs/APP_REVIEW_NOTES.md, RemoteStore.swift, RemoteApp.swift, BuildBanner.swift, and SettingsView.swift.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:26:43 -07:00
abkslm f6b12e92a0 Merge branch 'dev' into nucleic/trunk 2026-07-02 19:26:43 -07:00
abkslmandNucleic 828be033d7 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:25:40 -07:00
abkslmandNucleic 7353b8dc68 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:25:08 -07:00
abkslmandNucleic a5a89d1aa0 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:21:15 -07:00
abkslmandNucleic bc96b9c056 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:21:11 -07:00
abkslmandNucleic eb6875a662 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:20:54 -07:00
abkslmandNucleic 62d9b3e768 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:20:49 -07:00
abkslmandNucleic f1f455b2f2 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:20:34 -07:00
abkslmandNucleic 4e1f0ec9da Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:20:11 -07:00
abkslmandNucleic 3c2774d140 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:19:40 -07:00
abkslmandNucleic 49ad2ed25f Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:19:28 -07:00
abkslmandNucleic 360e359613 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:19:09 -07:00
abkslmandNucleic 0a551a37eb Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:18:24 -07:00
abkslmandNucleic d6633f6b7f Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:18:13 -07:00
abkslmandNucleic 976bb0e066 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:18:09 -07:00
abkslmandNucleic 2d74ed1d78 Review Feature Access
Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:18:00 -07:00
abkslmandNucleic 936329e1a4 nvrsion: Add Chat: Create TestFlight Versions to Info.plist.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:09:08 -07:00
abkslm d047d52ea0 Merge branch 'dev' into nucleic/trunk 2026-07-02 19:09:08 -07:00
abkslmandNucleic 2671e9a1c7 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 19:08:51 -07:00
abkslm e24e6e7952 release(ios/canary): v0.1.0 (build 1) 2026-07-02 18:53:22 -07:00
abkslm 14cf2964e6 resolve trunk promotion conflict 2026-07-02 18:39:41 -07:00
abkslmandNucleic 7e2c32d702 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 18:24:17 -07:00
abkslm 459d8d7bcd modified xcodeproj for iOS 2026-07-02 17:38:25 -07:00
abkslm c495c29650 Merge branch 'dev' into nucleic/trunk 2026-07-02 16:48:51 -07:00
abkslmandNucleic 36b2ca27d5 nvrsion: Add iOS version bump logic with two TestFlight versions (normal public beta and canary) to align with desktop releases, starting with “0.1.0” via Makefile, VERSION file, and scripts.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:48:51 -07:00
abkslmandNucleic bc585d6b0f Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:46:53 -07:00
abkslmandNucleic 9fd6cba6ab Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:34 -07:00
abkslmandNucleic 57d9d79720 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:31 -07:00
abkslmandNucleic d52e0d1404 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:29 -07:00
abkslmandNucleic 2d85bc185c Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:25 -07:00
abkslmandNucleic 65416449e5 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:20 -07:00
abkslmandNucleic 7e29b18a2e Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:18 -07:00
abkslmandNucleic d890029e28 Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:15 -07:00
abkslmandNucleic 1908bbcf1c Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:08 -07:00
abkslmandNucleic 42397d0de8 Makefile Entry Creation
Nucleic-Session: 68BC2F7D-7E9C-45FD-BA8B-CAD374976C8F
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:32:17 -07:00
abkslm 38e58964ea Merge branch 'claude/competent-pasteur-a5bb90' into HEAD 2026-07-02 16:07:16 -07:00
abkslmandClaude Fable 5 256418c028 docs: PUSH_SETUP runbook; wire aps-environment entitlements into the build
docs/PUSH_SETUP.md lists the manual steps left to light up push /
Live Activities end-to-end: APNS key, the one-click Xcode Push
capability, Cloudflare provisioning + secrets (with the bundle-id
topic gotcha: xyz.blakeslee.nucleic-remote, not .remote), host relay
config, and the on-device verification checklist. Also adds
CODE_SIGN_ENTITLEMENTS so the existing entitlements file actually
signs into the app.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:33 -07:00
abkslmandClaude Fable 5 761dca5f1d 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
abkslmandClaude Fable 5 480b29207f sync: project quota, provider status, todo triage, and full diffs to the phone
Four Mac surfaces the iOS remote couldn't render now ride the wire,
forward-compatibly (decodeIfPresent defaults; unknown HostMsg tags
already decode to .unknown):

- DashboardSnapshot gains `usage` (WireSubscriptionUsage — the Mac's
  5-hour/weekly quota gauges) and `statusFeeds` (WireStatusFeed —
  active provider incidents); the host re-pushes the dashboard when a
  poll changes either.
- WireTodo gains `triage` (raw TriageLevel name); the phone renders
  the Mac's TriageBadge honoring the encouraging/classic label
  setting.
- ClientMsg.fetchDiff / HostMsg.sessionDiff deliver the full worktree
  patch on demand (capped at 512 KB with a truncated flag), gated on
  the new WireCapabilities.canFetchDiff so a new phone never sends it
  to an old host. iOS renders a file list + colored unified patch,
  falling back to the diffstat summary against older hosts.

Round-trip and legacy-decode tests cover the new fields; the full
suite passes apart from the pre-existing fake-backend fixture gaps
and the flaky nvrsion lock-domain test (same failure rate on the
base commit).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:32 -07:00