From 9789ac4b9e781b158aaac63e9a870a7ba1260f06 Mon Sep 17 00:00:00 2001 From: martinappberg Date: Thu, 25 Jun 2026 12:42:52 -0700 Subject: [PATCH 01/15] Add live HR/HRV path, real-time dashboard, Rust C-ABI core, and native iOS app Reverse-engineering / client: - Discover the working live-HR mechanism on Ring 4 (fw 2.12): the CONNECTED_LIVE push stream does not exist; instead SetNotification(0x3f) + daytime-HR CONNECTED_LIVE forces the green-LED measurement, which records 0x80 green_ibi_quality events (hr_bpm + per-beat IBI) that are drained incrementally. - oura-link: add request_until (bounded, stream-safe single-response) and drain_events_live (stream-safe incremental drain that tolerates the ~50 Hz ACM stream); rewrite `live-hr` onto the force-measure + 0x80 drain path; add a `measure` diagnostic. - oura-cli: new `live` web dashboard (HR/HRV from IBIs, motion, SpO2, battery) over SSE, with a single-writer poll loop. oura-ffi: new Rust staticlib exposing a small C ABI (AES auth + event decoders) for reuse on other platforms. iOS app (ios/): native SwiftUI client over CoreBluetooth, reusing the Rust core via an XCFramework. Tabs: Today / Live / Sleep / Settings. Features: scan/connect, app-auth, native Pair flow (SetAuthKey) + key import, live HR/HRV/motion, history sync + on-device hypnogram, a connection guide (place ring on charger pad), and silent auto-reconnect + auto-sync via a no-timeout pending connect. Docs: CLAUDE.md (feature map, live-HR findings, smart-alarm plan, iOS notes) and ios/README.md. Personal identifiers kept out; key.hex and oura.db are gitignored. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 8 + CLAUDE.md | 242 ++++++++ Cargo.lock | 8 + Cargo.toml | 1 + crates/oura-cli/src/live.html | 188 ++++++ crates/oura-cli/src/live.rs | 315 ++++++++++ crates/oura-cli/src/main.rs | 202 ++++++- crates/oura-ffi/Cargo.toml | 14 + crates/oura-ffi/src/lib.rs | 74 +++ crates/oura-link/src/client.rs | 218 +++++-- ios/OpenOura/BLE/OuraProtocol.swift | 94 +++ ios/OpenOura/BLE/OuraRing.swift | 690 ++++++++++++++++++++++ ios/OpenOura/Core/HealthData.swift | 62 ++ ios/OpenOura/Core/KeyStore.swift | 58 ++ ios/OpenOura/Core/OuraDecode.swift | 43 ++ ios/OpenOura/Info.plist | 38 ++ ios/OpenOura/OpenOuraApp.swift | 19 + ios/OpenOura/Views/Components.swift | 63 ++ ios/OpenOura/Views/ConnectGuideView.swift | 139 +++++ ios/OpenOura/Views/LiveView.swift | 58 ++ ios/OpenOura/Views/RootView.swift | 50 ++ ios/OpenOura/Views/SettingsView.swift | 81 +++ ios/OpenOura/Views/SleepView.swift | 73 +++ ios/OpenOura/Views/TodayView.swift | 65 ++ ios/OuraFFI/include/module.modulemap | 4 + ios/OuraFFI/include/ouraffi.h | 22 + ios/README.md | 79 +++ ios/build-rust.sh | 26 + ios/project.yml | 32 + 29 files changed, 2925 insertions(+), 41 deletions(-) create mode 100644 CLAUDE.md create mode 100644 crates/oura-cli/src/live.html create mode 100644 crates/oura-cli/src/live.rs create mode 100644 crates/oura-ffi/Cargo.toml create mode 100644 crates/oura-ffi/src/lib.rs create mode 100644 ios/OpenOura/BLE/OuraProtocol.swift create mode 100644 ios/OpenOura/BLE/OuraRing.swift create mode 100644 ios/OpenOura/Core/HealthData.swift create mode 100644 ios/OpenOura/Core/KeyStore.swift create mode 100644 ios/OpenOura/Core/OuraDecode.swift create mode 100644 ios/OpenOura/Info.plist create mode 100644 ios/OpenOura/OpenOuraApp.swift create mode 100644 ios/OpenOura/Views/Components.swift create mode 100644 ios/OpenOura/Views/ConnectGuideView.swift create mode 100644 ios/OpenOura/Views/LiveView.swift create mode 100644 ios/OpenOura/Views/RootView.swift create mode 100644 ios/OpenOura/Views/SettingsView.swift create mode 100644 ios/OpenOura/Views/SleepView.swift create mode 100644 ios/OpenOura/Views/TodayView.swift create mode 100644 ios/OuraFFI/include/module.modulemap create mode 100644 ios/OuraFFI/include/ouraffi.h create mode 100644 ios/README.md create mode 100755 ios/build-rust.sh create mode 100644 ios/project.yml diff --git a/.gitignore b/.gitignore index a5a90c1f..a2d4ef6b 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,8 @@ reverse/android/jadx-main/ # Auth keys generated by `oura pair`. *.key +*.hex +key.hex # Personal data exports and local working notes (kept off the repo). *.csv @@ -38,3 +40,9 @@ notes/ # mitmproxy-captured tokens (local only) tools/oura_tokens.txt + +# iOS build artifacts (generated by xcodegen / build-rust.sh) +ios/OpenOura.xcodeproj/ +ios/OuraFFI/OuraFFI.xcframework/ +ios/build/ +ios/DerivedData/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..ad38471e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,242 @@ +# CLAUDE.md — open_oura + +Guidance for Claude Code (and humans) working in this repo. Read this first, then +the docs it points to. The deep protocol reference lives in `docs/`; this file is +the orientation map, the **feature inventory** (what we can actually read from a +ring), and the **smart-alarm / iPhone-app** plan that motivates current work. + +## What this project is + +A **cloud-free** Oura ring client. We reverse-engineered the ring's BLE protocol +and talk to it directly — pair, authenticate, sync history events, read live-ish +signals — with no Oura account. See `README.md` for the pitch and `docs/` for the +protocol internals. + +## Build / run + +```bash +cargo build --release +./target/release/oura scan # find rings +./target/release/oura --name "Oura ..." --key-file key.hex pair # factory-reset ring only +./target/release/oura --key-file key.hex info # firmware/serial/battery/caps +./target/release/oura --key-file key.hex sync # drain history events -> oura.db +./target/release/oura --key-file key.hex live # NEW: real-time health dashboard +./target/release/oura --key-file key.hex viz # 3D motion visualizer (accel) +``` + +Auth key is a 16-byte hex file (`key.hex`, gitignored). It is installed once on a +**factory-reset** ring (`pair`) and re-sent each connection. macOS: grant the +terminal Bluetooth permission. + +## Crate layout + +`crates/` is split by concern (see `docs/architecture.md`): +- `oura-protocol` — packet framing, request builders, event-body decoders (`events.rs`), auth. +- `oura-link` — BLE transport (`ble.rs`), the high-level `OuraClient` (`client.rs`). +- `oura-analysis` — ported on-device metric algorithms (HRV, temperature, sleep, …). +- `oura-store` — SQLite persistence (events + scalar `readings`). +- `oura-cli` — the `oura` binary; web UIs (`live.rs`, `viz.rs`, `game.rs`) share `motion_server.rs` plumbing. + +## The device on hand (important for live behavior) + +`info` reports `Hardware: ORE_06`, `Firmware: 2.12.0`. Per `docs/firmware-update.md`, +the **`oreo` codename = Gen 4 / Ring 4**, so `ORE_*` is a Ring 4. The repo's other +test devices were a Ring 3 Horizon (`BLB_03`, fw 3.x) and a Ring 5. **Pair, auth, +battery, history-event sync, and the accelerometer stream all work on this Ring 4** +— the GATT layout, framing, and auth flow are shared across generations. Live HR is +where firmware behavior diverges (below). A factory reset wipes the auth key and +user data but does **not** change firmware; new firmware only comes via Oura's +signed OTA (needs the official app/cloud — `docs/firmware-update.md`). + +## Feature inventory — what a ring actually gives us + +Three layers (full detail: `docs/data-recovery-map.md`): + +### 1. Live / real-time over BLE (only while connected) + +| Signal | Mechanism | Status on this Ring 4 | +| --- | --- | --- | +| **Accelerometer** | `SetRealtime(ACM)` → ~50 Hz x/y/z indications (tag `0x33`) | ✅ **Works** — true stream (powers `viz`, `game`, `live`) | +| **Heart rate + HRV** | force-measure → ring records `0x80` events → drain them | ✅ **Works** — see below | +| **SpO2** | enable SpO2 + drain `0x6f`-family events | ◐ needs long stillness; rarely fires | +| **Skin temp** | recorded as `0x46`/`0x69`/`0x75` during measurement | ◐ occasional | +| **Battery / charging** | poll `0x0c` | ✅ reliable (works on charger) | + +**Key empirical finding — how live HR actually works (the "no beats" answer).** +The decompiled app suggests `SetFeatureMode(DAYTIME_HR, CONNECTED_LIVE)` makes the +ring *push* IBI notifications (`0x2f`/sub-tag `0x28`). **It does not.** Confirmed +empirically on this Ring 4 (fw 2.12.0): + +- `CONNECTED_LIVE` is ACK'd (`2f03230200`) and forces `state=idle → measuring`, but + **no** `0x2f`/`0x28` push frames ever arrive — even with notifications enabled. +- `GetFeatureLatestValues(DAYTIME_HR)` returns `result=0 state=2` but the IBI field + stays `00 00` on this firmware (the Ring 3 Horizon populated it; 2.12.0 doesn't). + +The path that **works** (and is what the app's "Measure pulse" does): + +1. `SetNotification(0x3f)` — the load-bearing handshake step our CLI was skipping; + without it the ring won't emit async notifications (`sync` works without it only + because event-drain is a pull, and ACM works because it's explicitly armed). +2. `SetFeatureMode(DAYTIME_HR, CONNECTED_LIVE)` — forces the green-LED measurement. +3. The ring **records** `0x80 green_ibi_quality_event`s into the history stream + (~one every 3–8 s), each carrying `{hr_bpm:[…], ibi_ms:[7 beats], quality:[…]}`. +4. **Incrementally drain** those events (`OuraClient::drain_events_live`) and decode + them → live bpm + per-beat IBI (→ **HRV/RMSSD**). "Live" = rapid event-sync, not + a raw push stream. + +Confirmed reading (resting): `0x80 {"hr_bpm":[73,71,78,74,71,73], +"ibi_ms":[828,820,834,763,802,845,818],"quality":[0,1,1,1,1,1,1]}` → ~73 bpm. Note +the `quality` byte is unreliable for gating (clean resting beats showed `0/1`, +noisy moving beats `2/3`); filter IBIs by physiological range instead (400–1300 ms). + +`oura live-hr` and `oura live` both use this path. The throwaway `oura measure` +command is the diagnostic that nailed it (before/after event-diff). + +### 2. History events (synced after the fact — the real data) — `oura sync` + +This is where the rich data lives. The ring records and summarizes on-device; we +drain it incrementally (`docs/sync-orchestration.md`). Decoders: `events.rs`. + +**Raw sample events:** `ibi`/`ibi_and_amplitude` (`0x44`/`0x60`/`0x71`, per-beat +IBI → HR + HRV), `temp` (`0x46`/`0x69`/`0x75`, skin °C), `motion` (`0x47`/`0x6b`), +`spo2` (`0x6f`/`0x70`/`0x77`), `raw_ppg`, `on_demand_meas` (`0x62`, spot +HR/HRV/breath/temp). **HRV** as 5-min avg RMSSD + HR (`0x5d`, `hrv_event`). + +**Ring-computed summaries:** `sleep_summary_1..4` (`0x49`/`0x4c`/`0x4f`/`0x58` — +bedtime, stage durations, lowest HR), **`sleep_phase_*`** (`0x4b`/`0x4e`/`0x5a` — +the **hypnogram**: 2-bit DEEP/LIGHT/REM/AWAKE per epoch), `activity_information` +(`0x50`, 13 MET-level bins + steps), `wear`/`state_change`. + +So **sleep staging and MET binning happen on the ring** and sync down as events. + +### 3. RData bulk raw (`0x03`) — research opt-in + +Full-rate raw PPG/ACM/gyro/temp via a flash session. Heavy, gated, mandatory +teardown. Not used in normal pulls. `oura rdata state|stop|clear`. + +### What we *cannot* reproduce cloud-free + +The 0–100 **scores** (Readiness/Sleep/Activity/Stress) and workout +auto-classification. Correction from later RE (`docs/algorithms/README.md`): the +scores are actually computed **on-phone** by the native `ecore` engine, not the +cloud — and are being ported into `oura-analysis` (calibration-fit where the +`.rodata` tables won't read back). The genuine blocker is the **sleep hypnogram +model** (`SleepNet`, an encrypted PyTorch `.pt.enc` whose AES-GCM key is +**server-delivered** — `docs/algorithms/sleepnet.md`). But note: the **ring already +emits its own hypnogram** as `sleep_phase_*` events, so we get stages without +SleepNet — just not Oura's exact phone-side restaging. + +## The `oura live` dashboard (current work) + +`crates/oura-cli/src/live.rs` + `live.html`. A self-contained web health dashboard +(no CDN). One BLE connection; **Start** enters live mode, **Stop** (or closing the +tab) returns the ring to normal (`AUTOMATIC` modes, realtime off). + +Architecture worth knowing before editing: +- **One writer task** (`spawn_poll_loop`) owns *all* protocol writes so they never + race. HTTP `/start`/`/stop` only flip an `AtomicBool`; the loop acts on the edge. +- On Start it does `SetNotification(0x3f)` + force daytime-HR `CONNECTED_LIVE`, + baseline-drains to position an event cursor at "now", then arms the ACM stream. +- A **parser task** turns raw accel notifications into `accel` JSON over SSE. +- HR/temp/SpO2 come from `OuraClient::drain_events_live` (new) — a **stream-safe** + incremental event drain (bounded per-batch wait, ignores accel frames) that pulls + freshly-recorded `0x80`/temp/SpO2 events while the ~50 Hz accel stream is live. + (The quiet-window `transact`/`request` would hang forever during that stream; + `request_until` is the bounded single-response variant used for battery.) +- The page draws hand-rolled canvas charts for HR / motion / temp / SpO2 / battery, + computes **HRV (RMSSD)** from the streamed IBIs, and shows live **restlessness %**. + +## Long-term goal: a Sleep-Cycle-style smart alarm, in our own app + +The user's target: a "wake in your optimal window" alarm (e.g. wake me between +08:00–08:30 at the lightest point of my sleep). Feasibility from the feature map: + +**We have the right signals — and richer than a phone-only app.** Sleep-Cycle-class +apps stage sleep almost entirely from **accelerometer movement** (phone on the +mattress). We get, from the ring, all of: per-beat **HR** + **HRV** (autonomic tone +— HR drops and HRV rises in deep sleep, both shift before/at wake), **motion/MAD** +(restlessness, the classic wake signal), **skin temperature**, and the ring's own +**hypnogram** (`sleep_phase_*`). That's a strong multi-signal basis for detecting +light-sleep / near-wake windows. + +**The architecture question is *when* the signals are available:** +- During sleep the ring is **not connected** to the phone — it records to flash and + syncs on the next connection. So a naive "read live HR at 08:00 and decide" won't + work: live HR is unreliable anyway (above), and the ring isn't streaming overnight. +- **Two viable designs:** + 1. **Wake-window polling:** a few minutes before the earliest alarm time, the app + connects to the ring and **syncs the recent history events** (they're already + recorded), reconstructs the last ~30–60 min of HR/HRV/motion/stages, and picks + the lightest moment to fire the alarm. This is the realistic path — it uses the + reliable history channel, not the flaky live channel. + 2. **Continuous-ish motion during the window:** in the final window, also arm the + **accelerometer stream** (which *does* work live) and watch movement in real + time as the immediate trigger, blended with the synced stage history. +- We do **not** need Oura's cloud or the SleepNet model: the ring emits its own + stages, and we have the raw signals to run our own light/deep classifier if we + want independence from the firmware's staging. + +**On-demand fresh HR/HRV is proven** (the live-HR work above): in the wake window +the app can connect, force a green-LED measurement, and within ~10–20 s pull fresh +`0x80` events → current HR + HRV — *plus* the live accelerometer for movement. So at +decision time we have real-time HR, HRV and motion, not just stale history. That's a +strong trigger basis. + +**Open research questions (probe these with `oura live` + `oura sync`):** +- How fresh is the synced history near "now"? What's the event latency/granularity + for HR/HRV/motion in the last few minutes before a connect? +- Does arming the accelerometer stream while worn-and-asleep stay stable for the + ~30-min window without waking the user / draining battery? +- How long does a green-LED measurement take to lock a stable beat overnight (skin + contact differs from daytime)? Tune the force-measure → first-`0x80` latency. +- Validate our own light-vs-deep classifier against the ring's `sleep_phase_*`. + +## iPhone app — `ios/` (built) + +A native SwiftUI app exists under `ios/` (see `ios/README.md`). Architecture: + +- **`crates/oura-ffi`** — a Rust `staticlib` exposing a tiny C ABI over the tested + core: `oura_encrypt_nonce` (AES auth) + `oura_decode_event`/`oura_event_name` + (the `events.rs` decoders). Built into `OuraFFI.xcframework` by `ios/build-rust.sh` + (device `aarch64-apple-ios` + sim `aarch64-apple-ios-sim`). Nothing async crosses + the boundary. +- **Swift** (`ios/OpenOura`) does the rest natively: `OuraProtocol.swift` (GATT + UUIDs, `tag|len|payload` framing, request builders), `OuraRing.swift` + (CoreBluetooth + the request/response primitives — `transact`, `requestUntil`, + `drainEventsLive` — auth, pair, live mode, history sync), SwiftUI tabs + (Today/Live/Sleep/Settings), Keychain key store. +- **Pairing**: `OuraRing.pairNewRing()` mirrors `oura pair` — generate a random + 16-byte key, `SetAuthKey` (factory-reset ring only), store in Keychain. The paste + path is a secondary "import existing key" for a ring already paired via the CLI. +- **Project**: generated by `xcodegen` from `ios/project.yml` (set your own + `DEVELOPMENT_TEAM` — a free Personal Team works, a paid team avoids the 7-day + expiry). Compile-check without signing: `xcodebuild -project + ios/OpenOura.xcodeproj -scheme OpenOura -sdk iphoneos26.5 build + CODE_SIGNING_ALLOWED=NO`. Device deploy needs the iOS platform component installed + (Xcode → Settings → Components) + `-allowProvisioningUpdates`. +- **Auto-reconnect/sync**: `OuraRing.autoReconnect()` uses a no-timeout CoreBluetooth + pending connect on the saved peripheral id, so the app silently reconnects when the + ring wakes (and auto-syncs); toggles in Settings. +- The Simulator has **no Bluetooth** — ring features only work on a real device. +- **Connecting gotchas** (verified on device): the ring must be **awake** to accept a + connection — off-charger-and-not-worn it deep-sleeps and `connect()` hangs with no + `didConnect` (iOS sees a stray advert but can't grab a connectable window). On the + **charging pad** (or worn) it connects immediately. Also BLE is one-central: a Mac + with the ring bonded auto-reconnects and steals the slot — `blueutil -p 0` on the + Mac (or "Forget" the ring) while testing the phone. The app surfaces these via a + `ConnectGuideView` onboarding sheet (place ring on pad → Connect, with live state) + and a connect timeout that fails loudly instead of hanging. +- iOS BLE background modes (`bluetooth-central`, already in Info.plist) allow a + timed wake-window connect for the smart alarm. + +## Conventions / gotchas + +- Prefer passive, read-only requests. reset / DFU / factory-reset / flight-mode are + danger-gated — never send during normal use. +- Multi-byte ints are little-endian; extended ops ride outer tag `0x2f` with the + first payload byte as the ext op. +- During a live accel stream, **don't** use the quiet-window `request`/`transact` — + use `request_until` (bounded, stream-safe). +- Never commit keys or captures (`key.hex`, `captures/`, `reverse/` are gitignored). +- The store retains raw event bodies, so new decoders apply retroactively via + `oura redecode` / `Store::redecode` (no re-sync needed). diff --git a/Cargo.lock b/Cargo.lock index aaf2154e..fd8c3343 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -774,6 +774,14 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "oura-ffi" +version = "0.1.0" +dependencies = [ + "oura-protocol", + "serde_json", +] + [[package]] name = "oura-link" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 67f2a326..fc0a529e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ members = [ "crates/oura-analysis", "crates/oura-store", "crates/oura-cli", + "crates/oura-ffi", ] [workspace.package] diff --git a/crates/oura-cli/src/live.html b/crates/oura-cli/src/live.html new file mode 100644 index 00000000..f73f4239 --- /dev/null +++ b/crates/oura-cli/src/live.html @@ -0,0 +1,188 @@ + + + +Oura — live health dashboard + + +
+

Oura · live health dashboard

+ + + idle + + +
+ +
+
+

Heart rate

+
-- bpm
+
HRV -- ms · 0 beats
+
press Start, then wait ~10–20 s for the first reading…
+ +
+ +
+

Motion

+
-- g
+
0 Hz · restless 0%
+
accelerometer — live stream
+ +
+ +
+

Skin temperature

+
-- °C
+
recorded during measurement
+ +
+ +
+

Blood oxygen

+
-- % SpO₂
+
needs long stillness to measure
+ +
+ +
+

Battery

+
-- %
+
+ +
+
+ +
+ How this works: pressing Start enables notifications and forces the green-LED + HR measurement; the ring records 0x80 HR events (bpm + per-beat IBI + + quality) which we sync every ~2 s — that's your live HR, and the IBIs give + HRV (RMSSD). Motion is a true ~50 Hz accelerometer stream. Skin temp + appears when the ring records it; SpO₂ needs long stillness. Press Stop to + return the ring to its normal background mode. +
+ + + diff --git a/crates/oura-cli/src/live.rs b/crates/oura-cli/src/live.rs new file mode 100644 index 00000000..9adb8b42 --- /dev/null +++ b/crates/oura-cli/src/live.rs @@ -0,0 +1,315 @@ +//! Real-time **health dashboard** (`oura live`). +//! +//! "Live mode" holds one BLE connection and pushes every signal the ring will +//! give in real time to a self-contained web page (no CDN/external scripts): +//! +//! - **Motion** — the accelerometer is the only true high-rate BLE stream +//! (~50 Hz), armed with `SetRealtime(ACM)`. Rock solid; the load-bearing signal +//! for movement/restlessness. +//! - **Heart rate** — this firmware never pushes an IBI stream, so we hold daytime +//! HR in `CONNECTED_LIVE` (forcing the optical sensor on) and *poll* +//! `GetFeatureLatestValues`. A value appears only when the ring locks a beat +//! (intermittent by design); the dashboard shows ring state meanwhile. +//! - **SpO2** — polled the same way (needs long stillness to produce a value). +//! - **Battery / charging** — polled on a slow timer; reliable even on the charger. +//! +//! Pressing **Stop** (or closing the tab) returns the ring to normal: realtime +//! off, features back to `AUTOMATIC` (the ring's own periodic background mode). + +use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; +use std::sync::Arc; +use std::time::{Duration, Instant}; + +use anyhow::Result; +use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::net::{TcpListener, TcpStream}; +use tokio::sync::broadcast; + +use oura_link::ble::BleTransport; +use oura_link::client::AcmSample; +use oura_link::transport::Transport; +use oura_link::OuraClient; +use oura_protocol::protocol::{self, feature, feature_mode, req_set_feature_mode, req_set_notification}; + +type Client = Arc>; + +/// Serve the dashboard at `127.0.0.1:port`. `minutes` is how long each realtime +/// arming lasts before the poll loop re-arms it (the ring auto-stops otherwise). +pub async fn run(client: OuraClient, port: u16, minutes: u16) -> Result<()> { + let client: Client = Arc::new(client); + let (tx, _) = broadcast::channel::(1024); + let live = Arc::new(AtomicBool::new(false)); + let clients = Arc::new(AtomicUsize::new(0)); + + spawn_parser(&client, &tx); + spawn_poll_loop(client.clone(), tx.clone(), live.clone(), minutes); + + let listener = TcpListener::bind(("127.0.0.1", port)).await?; + println!("Ready — open http://127.0.0.1:{port} (press Start in the page)"); + + loop { + tokio::select! { + _ = tokio::signal::ctrl_c() => { + live.store(false, Ordering::SeqCst); + restore_normal(&client).await; + println!("\nStopped live mode, exiting."); + break; + } + accept = listener.accept() => { + if let Ok((sock, _)) = accept { + let rx = tx.subscribe(); + let c = client.clone(); + let lv = live.clone(); + let cl = clients.clone(); + tokio::spawn(async move { + let _ = handle(sock, rx, c, lv, cl, port).await; + }); + } + } + } + } + Ok(()) +} + +/// Background task: raw ring notifications -> typed JSON messages for the page. +fn spawn_parser(client: &Client, tx: &broadcast::Sender) { + let mut rx = client.transport().subscribe(); + let tx = tx.clone(); + tokio::spawn(async move { + loop { + match rx.recv().await { + Ok(frame) => { + // Accelerometer indications (the high-rate live stream). + for s in AcmSample::parse_frame(&frame) { + let _ = tx.send(format!( + "{{\"t\":\"accel\",\"x\":{},\"y\":{},\"z\":{}}}", + s.x, s.y, s.z + )); + } + } + Err(broadcast::error::RecvError::Lagged(_)) => continue, + Err(_) => break, + } + } + }); +} + +/// The single writer task. All protocol writes happen here so they never race; +/// the HTTP handlers only flip the `live` flag. +fn spawn_poll_loop( + client: Client, + tx: broadcast::Sender, + live: Arc, + minutes: u16, +) { + tokio::spawn(async move { + let mut was_live = false; + let mut armed_at: Option = None; + let mut hr_cursor: u32 = 0; + let mut tick: u64 = 0; + let rearm_after = Duration::from_secs((minutes.max(1) as u64) * 60 - 20); + + loop { + let now_live = live.load(Ordering::SeqCst); + + // Rising edge: enter live mode. Enable async notifications + force the + // green-LED HR measurement, then position the event cursor at "now" so + // we only stream HR events recorded from here on. + if now_live && !was_live { + let _ = tx.send("{\"t\":\"status\",\"live\":true}".into()); + let _ = client.transport().write(&req_set_notification(0x3f)).await; + let _ = client + .transport() + .write(&req_set_feature_mode(feature::DAYTIME_HR, feature_mode::CONNECTED_LIVE)) + .await; + let _ = client + .transport() + .write(&req_set_feature_mode(feature::SPO2, feature_mode::AUTOMATIC)) + .await; + // Baseline drain (no UI output) to find the newest event timestamp. + if let Ok(out) = client + .drain_events_live(0, Duration::from_millis(2500), |_| {}) + .await + { + hr_cursor = out.next_cursor; + } + arm_acm(&client, minutes).await; + armed_at = Some(Instant::now()); + } + // Falling edge: back to normal. + if !now_live && was_live { + restore_normal(&client).await; + armed_at = None; + let _ = tx.send("{\"t\":\"status\",\"live\":false}".into()); + } + was_live = now_live; + + if !now_live { + tokio::time::sleep(Duration::from_millis(400)).await; + continue; + } + + // Re-arm the accelerometer before its timer lapses. + if armed_at.map(|t| t.elapsed() > rearm_after).unwrap_or(true) { + arm_acm(&client, minutes).await; + armed_at = Some(Instant::now()); + } + + // Drain freshly-recorded events (stream-safe) and forward HR / SpO2. + // 0x80 green_ibi_quality_event carries {hr_bpm, ibi_ms, quality}. + if let Ok(out) = client + .drain_events_live(hr_cursor, Duration::from_millis(1500), |ev| match ev.tag { + 0x80 => { + if let Some(d) = &ev.decoded { + let _ = tx.send(format!("{{\"t\":\"hr80\",\"d\":{d}}}")); + } + } + 0x6f | 0x70 | 0x77 => { + if let Some(d) = &ev.decoded { + let _ = tx.send(format!("{{\"t\":\"spo2e\",\"d\":{d}}}")); + } + } + 0x46 | 0x69 | 0x75 => { + if let Some(d) = &ev.decoded { + let _ = tx.send(format!("{{\"t\":\"temp\",\"d\":{d}}}")); + } + } + _ => {} + }) + .await + { + hr_cursor = out.next_cursor; + } + + // Battery roughly every ~15s. + if tick % 6 == 0 { + if let Ok(Some(b)) = client.battery_live(Duration::from_millis(700)).await { + let charging = if b.charging_progress > 0 { "true" } else { "false" }; + let _ = tx.send(format!( + "{{\"t\":\"batt\",\"pct\":{},\"charging\":{charging}}}", + b.percent + )); + } + } + + tick += 1; + tokio::time::sleep(Duration::from_millis(2000)).await; + } + }); +} + +async fn arm_acm(client: &Client, minutes: u16) { + let _ = client + .transport() + .write(&protocol::req_set_realtime(protocol::realtime::ACM, minutes, 0)) + .await; +} + +/// Return the ring to its normal background state: realtime off, features auto. +async fn restore_normal(client: &Client) { + let _ = client.transport().write(&protocol::req_realtime_off()).await; + let _ = client + .transport() + .write(&req_set_feature_mode(feature::DAYTIME_HR, feature_mode::AUTOMATIC)) + .await; +} + +fn header<'a>(req: &'a str, name: &str) -> Option<&'a str> { + req.lines().find_map(|l| { + let (k, v) = l.split_once(':')?; + k.trim().eq_ignore_ascii_case(name).then(|| v.trim()) + }) +} + +async fn handle( + mut sock: TcpStream, + mut rx: broadcast::Receiver, + _client: Client, + live: Arc, + clients: Arc, + port: u16, +) -> Result<()> { + let mut buf = [0u8; 2048]; + let n = sock.read(&mut buf).await?; + let req = String::from_utf8_lossy(&buf[..n]); + let path = req.split_whitespace().nth(1).unwrap_or("/"); + + // Same loopback + CSRF defences as the motion server. + let host_ok = header(&req, "host") + .is_some_and(|h| h == format!("127.0.0.1:{port}") || h == format!("localhost:{port}")); + if !host_ok { + return forbidden(&mut sock).await; + } + if matches!(path, "/start" | "/stop") { + if header(&req, "x-oura-viz").is_none() { + return forbidden(&mut sock).await; + } + let origin_ok = header(&req, "origin").is_none_or(|o| { + o == format!("http://127.0.0.1:{port}") || o == format!("http://localhost:{port}") + }); + if !origin_ok { + return forbidden(&mut sock).await; + } + } + + match path { + "/stream" => { + sock.write_all( + b"HTTP/1.1 200 OK\r\nContent-Type: text/event-stream\r\n\ + Cache-Control: no-cache\r\nConnection: keep-alive\r\n\r\n", + ) + .await?; + clients.fetch_add(1, Ordering::SeqCst); + loop { + match rx.recv().await { + Ok(line) => { + if sock.write_all(format!("data: {line}\n\n").as_bytes()).await.is_err() { + break; + } + } + Err(broadcast::error::RecvError::Lagged(_)) => continue, + Err(_) => break, + } + } + // Last viewer gone: leave live mode so we stop draining the battery. + if clients.fetch_sub(1, Ordering::SeqCst) == 1 { + live.store(false, Ordering::SeqCst); + } + } + "/start" => { + live.store(true, Ordering::SeqCst); + ok(&mut sock, "started").await?; + } + "/stop" => { + live.store(false, Ordering::SeqCst); + ok(&mut sock, "stopped").await?; + } + _ => { + let resp = format!( + "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\n\ + Cache-Control: no-store\r\nContent-Length: {}\r\n\r\n{}", + INDEX_HTML.len(), + INDEX_HTML + ); + sock.write_all(resp.as_bytes()).await?; + } + } + Ok(()) +} + +async fn ok(sock: &mut TcpStream, msg: &str) -> Result<()> { + let resp = format!( + "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nContent-Length: {}\r\n\r\n{}", + msg.len(), + msg + ); + sock.write_all(resp.as_bytes()).await?; + Ok(()) +} + +async fn forbidden(sock: &mut TcpStream) -> Result<()> { + sock.write_all(b"HTTP/1.1 403 Forbidden\r\nContent-Length: 0\r\n\r\n").await?; + Ok(()) +} + +const INDEX_HTML: &str = include_str!("live.html"); diff --git a/crates/oura-cli/src/main.rs b/crates/oura-cli/src/main.rs index e20510d6..e5faaa31 100644 --- a/crates/oura-cli/src/main.rs +++ b/crates/oura-cli/src/main.rs @@ -9,10 +9,12 @@ use anyhow::{anyhow, Context, Result}; use clap::{Parser, Subcommand}; use oura_link::ble::{self, BleTransport}; +use oura_link::transport::Transport; use oura_store::storage::Store; use oura_link::OuraClient; mod game; +mod live; mod motion_server; mod viz; @@ -70,6 +72,13 @@ enum Command { #[arg(long)] raw: bool, }, + /// Diagnostic: actively probe the on-demand "measure pulse" path. Arms the + /// realtime ON_DEMAND bit (and exercise HR) and dumps raw frames so we can see + /// what the ring emits during an active measurement. Wear the ring, hold still. + Measure { + #[arg(long, default_value_t = 20)] + seconds: u64, + }, /// Show stored event counts from the database (offline). Events, /// Re-run decoders over already-stored raw event bodies (offline). @@ -96,6 +105,16 @@ enum Command { #[arg(long, default_value_t = 5)] minutes: u16, }, + /// Real-time health dashboard (web UI): HR, motion, SpO2 and battery streamed + /// live while worn. "Start" arms live mode; "Stop" returns the ring to normal. + Live { + /// Local HTTP port to serve the dashboard on. + #[arg(long, default_value_t = 8090)] + port: u16, + /// Minutes the ring streams per arming (auto re-armed while live). + #[arg(long, default_value_t = 5)] + minutes: u16, + }, /// Tilt-controlled asteroid game (web UI) — steer a ship by tilting the ring. Game { /// Local HTTP port to serve the game on. @@ -235,6 +254,7 @@ async fn main() -> Result<()> { Command::Sync { sync_time } => cmd_sync(&cli, &key, *sync_time).await, Command::Latest => cmd_latest(&cli, &key).await, Command::LiveHr { seconds, raw } => cmd_live_hr(&cli, &key, *seconds, *raw).await, + Command::Measure { seconds } => cmd_measure(&cli, &key, *seconds).await, Command::Accel { seconds } => cmd_accel(&cli, &key, *seconds).await, Command::SleepAnalyze { force } => cmd_sleep_analyze(&cli, &key, *force).await, Command::Viz { port, minutes } => { @@ -242,6 +262,11 @@ async fn main() -> Result<()> { maybe_auth(&client, &key).await?; viz::run(client, *port, *minutes).await } + Command::Live { port, minutes } => { + let client = connect(&cli).await?; + maybe_auth(&client, &key).await?; + live::run(client, *port, *minutes).await + } Command::Game { port, minutes } => { let client = connect(&cli).await?; maybe_auth(&client, &key).await?; @@ -640,24 +665,187 @@ async fn cmd_live_hr(cli: &Cli, key: &Option<[u8; 16]>, seconds: u64, raw: bool) let store = Store::open(&cli.db).ok(); println!("Streaming live heart rate for {seconds}s (Ctrl-C to stop early)..."); + + // This firmware never pushes an IBI stream. The path that works (and that the + // app uses): enable notifications, force daytime HR into CONNECTED_LIVE so the + // ring measures via the green LED and *records* `0x80` green_ibi_quality events, + // then incrementally drain those events. Each carries hr_bpm + per-beat IBI. + use oura_protocol::protocol::{feature, feature_mode, req_set_feature_mode, req_set_notification}; + let _ = client.transport().write(&req_set_notification(0x3f)).await; + let _ = client + .transport() + .write(&req_set_feature_mode(feature::DAYTIME_HR, feature_mode::CONNECTED_LIVE)) + .await; + // Position the cursor at the newest existing event so we only show fresh beats. + let mut cursor = client + .drain_events_live(0, Duration::from_millis(2500), |_| {}) + .await + .map(|o| o.next_cursor) + .unwrap_or(0); + let mut count = 0u32; + let deadline = std::time::Instant::now() + Duration::from_secs(seconds); + while std::time::Instant::now() < deadline { + if let Ok(out) = client + .drain_events_live(cursor, Duration::from_millis(1500), |ev| { + if ev.tag == 0x80 { + if let Some(d) = &ev.decoded { + if raw { + println!(" 0x80: {d}"); + } + if let Some(bpm) = d + .get("hr_bpm") + .and_then(|a| a.as_array()) + .and_then(|a| a.iter().rev().find_map(|x| x.as_u64())) + { + count += 1; + println!(" {bpm} bpm"); + if let Some(store) = &store { + let _ = store.insert_reading(&serial, "heart_rate_live", bpm as f64, "bpm"); + } + } + } + } + }) + .await + { + cursor = out.next_cursor; + } + tokio::time::sleep(Duration::from_millis(1500)).await; + } + let _ = client + .transport() + .write(&req_set_feature_mode(feature::DAYTIME_HR, feature_mode::AUTOMATIC)) + .await; + + if count == 0 { + println!( + "No HR captured. Keep the ring snug + still + within ~2 m of the Mac, and give\n\ + it 10–20 s to lock a beat (the green-LED measurement is contact-sensitive)." + ); + } + let _ = client.transport().disconnect().await; + Ok(()) +} + +/// Probe the active "measure pulse" path. Tests the strongest hypotheses first +/// (exercise HR returns a direct bpm), dumping full payloads so we can read the +/// firmware's actual field layout. Every write is timeout-guarded so a BLE range +/// drop can't wedge the process. Keep the ring snug + close to the Mac + still. +async fn cmd_measure(cli: &Cli, key: &Option<[u8; 16]>, seconds: u64) -> Result<()> { + use oura_protocol::protocol::{ + feature, feature_mode, realtime, req_feature_latest, req_realtime_off, req_set_feature_mode, + req_set_realtime, + }; + let _ = (realtime::ON_DEMAND, feature::EXERCISE_HR, req_set_realtime, req_realtime_off, req_feature_latest); + let client = connect(cli).await?; + maybe_auth(&client, key).await?; + + // HR-bearing event tags: if a forced measurement records data, these appear. + // 0x80 = green_ibi_quality_event (the Ring 4/5 green-LED HR; decodes to hr_bpm). + let is_hr_tag = |t: u8| matches!(t, 0x44 | 0x55 | 0x5d | 0x60 | 0x62 | 0x63 | 0x71 | 0x80); + + println!("Keep the ring snug, close to the Mac, and still.\n"); + + // 1) Baseline: what events already exist (so we can spot the fresh ones). + println!("── baseline drain (recording existing events) ..."); + let mut before: std::collections::HashSet<(u8, u32)> = std::collections::HashSet::new(); + let mut max_before: u32 = 0; client - .live_heart_rate(Duration::from_secs(seconds), raw, |s| { - count += 1; - println!(" {} bpm (IBI {} ms)", s.bpm, s.ibi_ms); - if let Some(store) = &store { - let _ = store.insert_reading(&serial, "heart_rate_live", s.bpm as f64, "bpm"); + .drain_events(0, |ev| { + before.insert((ev.tag, ev.timestamp)); + max_before = max_before.max(ev.timestamp); + }) + .await?; + println!(" baseline: {} events, newest ring_ts={max_before}", before.len()); + + // 2) Force a measurement: enable async notifications + daytime HR live mode. + println!("\n── enabling notifications + daytime HR CONNECTED_LIVE; measuring {}s ...", seconds * 2); + guarded_write(&client, &oura_protocol::protocol::req_set_notification(0x3f)).await; + guarded_write(&client, &req_set_feature_mode(feature::DAYTIME_HR, feature_mode::CONNECTED_LIVE)).await; + tokio::time::sleep(Duration::from_secs(seconds * 2)).await; + guarded_write(&client, &req_set_feature_mode(feature::DAYTIME_HR, feature_mode::AUTOMATIC)).await; + + // 3) Drain again from the previous high-water mark; report only fresh events. + println!("\n── post-measurement drain (looking for fresh HR data) ..."); + let mut fresh: Vec<(u8, u32, Option)> = Vec::new(); + let mut fresh_other: std::collections::BTreeMap = std::collections::BTreeMap::new(); + client + .drain_events(max_before.saturating_sub(1), |ev| { + if before.contains(&(ev.tag, ev.timestamp)) { + return; + } + if is_hr_tag(ev.tag) { + fresh.push((ev.tag, ev.timestamp, ev.decoded.clone())); + } else { + *fresh_other.entry(ev.tag).or_default() += 1; } }) .await?; + guarded_write(&client, &oura_protocol::protocol::req_set_notification(0x00)).await; - if count == 0 { - println!("No beats captured. Make sure the ring is worn."); + println!("\n── RESULT"); + if fresh.is_empty() { + println!(" No fresh HR-bearing events recorded during the measurement window."); + } else { + println!(" {} fresh HR-bearing events:", fresh.len()); + for (tag, ts, dec) in fresh.iter().take(20) { + let j = dec.as_ref().map(|v| v.to_string()).unwrap_or_else(|| "".into()); + println!(" {:#04x} {} ts={ts}: {j}", tag, oura_protocol::events::event_name(*tag)); + } + } + if !fresh_other.is_empty() { + println!(" other fresh events:"); + for (tag, n) in &fresh_other { + println!(" {:#04x} {} ×{n}", tag, oura_protocol::events::event_name(*tag)); + } } + let _ = poll_feature; // (poll path still available; not used in this test) let _ = client.transport().disconnect().await; Ok(()) } +/// Timeout-guarded write: a wedged BLE link (e.g. out of range) fails fast instead +/// of hanging the process forever. +async fn guarded_write(client: &OuraClient, bytes: &[u8]) { + let _ = tokio::time::timeout(Duration::from_secs(2), client.transport().write(bytes)).await; +} + +/// Poll one feature's latest values for `seconds`, dumping the full payload and the +/// parsed bpm/SpO2 each tick. Increments `got` for every reading that yields a bpm. +async fn poll_feature( + client: &OuraClient, + feature_id: u8, + seconds: u64, + got: &mut u32, +) { + use oura_protocol::protocol::req_feature_latest; + let deadline = std::time::Instant::now() + Duration::from_secs(seconds); + while std::time::Instant::now() < deadline { + if let Ok(Some(p)) = client + .request_until(&req_feature_latest(feature_id), 0x2f, Some(0x25), Duration::from_millis(900)) + .await + { + let result = p.payload.get(2).copied().unwrap_or(255); + let status = p.payload.get(3).copied().unwrap_or(255); + let state = p.payload.get(4).copied().unwrap_or(255); + let v = oura_link::client::parse_latest_values(feature_id, p.payload.get(7..).unwrap_or(&[])); + println!( + " [{}] result={result} status={status} state={state} bpm={:?} spo2={:?}", + hex::encode(&p.payload), + v.bpm, + v.spo2_percent + ); + if v.bpm.is_some() { + *got += 1; + } + } else { + println!(" (no response — link slow or out of range)"); + } + tokio::time::sleep(Duration::from_millis(1500)).await; + } +} + async fn cmd_sleep_analyze(cli: &Cli, key: &Option<[u8; 16]>, force: bool) -> Result<()> { let client = connect(cli).await?; maybe_auth(&client, key).await?; diff --git a/crates/oura-ffi/Cargo.toml b/crates/oura-ffi/Cargo.toml new file mode 100644 index 00000000..bcdb4c14 --- /dev/null +++ b/crates/oura-ffi/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "oura-ffi" +version.workspace = true +edition.workspace = true +license.workspace = true + +# Static library for linking into the iOS app (and any other C ABI consumer). +[lib] +name = "ouraffi" +crate-type = ["staticlib"] + +[dependencies] +oura-protocol = { path = "../oura-protocol" } +serde_json = "1" diff --git a/crates/oura-ffi/src/lib.rs b/crates/oura-ffi/src/lib.rs new file mode 100644 index 00000000..e7a52811 --- /dev/null +++ b/crates/oura-ffi/src/lib.rs @@ -0,0 +1,74 @@ +//! C ABI over the tested Oura protocol core, for linking into the iOS app. +//! +//! We expose only the byte-level pieces that are genuinely hard to reproduce — +//! the AES auth and the event-body decoders — as pure, synchronous functions. +//! BLE transport, packet framing (trivial `tag|len|payload`), the request +//! builders (tiny byte arrays), and the connect/sync orchestration are all done +//! natively in Swift, so nothing async crosses the FFI boundary. + +use std::ffi::{c_char, CString}; +use std::slice; + +use oura_protocol::auth::encrypt_nonce; +use oura_protocol::events::{decode_event_body, event_name}; + +/// Encrypt a ring auth nonce (AES-128/ECB/PKCS7) into `out` (must hold 16 bytes). +/// `key` must be exactly 16 bytes; `nonce` is typically 15. Returns 0 on success, +/// negative on bad arguments. +#[no_mangle] +pub extern "C" fn oura_encrypt_nonce( + key: *const u8, + key_len: usize, + nonce: *const u8, + nonce_len: usize, + out: *mut u8, +) -> i32 { + if key.is_null() || nonce.is_null() || out.is_null() || key_len != 16 { + return -1; + } + // SAFETY: caller guarantees the pointers are valid for the given lengths. + let key_slice = unsafe { slice::from_raw_parts(key, 16) }; + let nonce_slice = unsafe { slice::from_raw_parts(nonce, nonce_len) }; + let mut k = [0u8; 16]; + k.copy_from_slice(key_slice); + let res = encrypt_nonce(&k, nonce_slice); + unsafe { std::ptr::copy_nonoverlapping(res.as_ptr(), out, 16) }; + 0 +} + +/// Decode an event body for `tag` into a JSON C string, or null if the tag has no +/// decoder / the body is malformed. The returned string is owned by the caller and +/// must be released with [`oura_string_free`]. +#[no_mangle] +pub extern "C" fn oura_decode_event(tag: u8, body: *const u8, body_len: usize) -> *mut c_char { + let body: &[u8] = if body.is_null() || body_len == 0 { + &[] + } else { + // SAFETY: caller guarantees `body` is valid for `body_len` bytes. + unsafe { slice::from_raw_parts(body, body_len) } + }; + match decode_event_body(tag, body) { + Some(v) => CString::new(v.to_string()) + .map(|s| s.into_raw()) + .unwrap_or(std::ptr::null_mut()), + None => std::ptr::null_mut(), + } +} + +/// Human-readable event name for `tag` (owned C string; release with +/// [`oura_string_free`]). +#[no_mangle] +pub extern "C" fn oura_event_name(tag: u8) -> *mut c_char { + CString::new(event_name(tag)) + .map(|s| s.into_raw()) + .unwrap_or(std::ptr::null_mut()) +} + +/// Release a C string previously returned by this library. +#[no_mangle] +pub extern "C" fn oura_string_free(ptr: *mut c_char) { + if !ptr.is_null() { + // SAFETY: `ptr` came from `CString::into_raw` in this library. + unsafe { drop(CString::from_raw(ptr)) }; + } +} diff --git a/crates/oura-link/src/client.rs b/crates/oura-link/src/client.rs index ad30dfb8..1f3e4ab4 100644 --- a/crates/oura-link/src/client.rs +++ b/crates/oura-link/src/client.rs @@ -111,6 +111,82 @@ impl OuraClient { Ok(frames.iter().filter_map(|f| Packet::parse(f)).collect()) } + /// Write `bytes` and return the first response packet matching `tag` (and + /// `ext_tag`, when given), ignoring everything else, with a hard `timeout`. + /// + /// Unlike [`Self::request`] this does *not* wait for a quiet window, so it is + /// safe to poll while a high-rate stream (e.g. live accelerometer) is active — + /// the quiet-window collector would otherwise never see the link go idle. + /// Returns `None` if no matching frame arrives before the timeout. + pub async fn request_until( + &self, + bytes: &[u8], + tag: u8, + ext_tag: Option, + timeout: Duration, + ) -> Result> { + let mut rx = self.transport.subscribe(); + while rx.try_recv().is_ok() {} + self.transport.write(bytes).await?; + + let deadline = tokio::time::Instant::now() + timeout; + loop { + let remaining = deadline.saturating_duration_since(tokio::time::Instant::now()); + if remaining.is_zero() { + return Ok(None); + } + match tokio::time::timeout(remaining, rx.recv()).await { + Ok(Ok(frame)) => { + if let Some(p) = Packet::parse(&frame) { + if p.tag == tag && (ext_tag.is_none() || p.ext_tag() == ext_tag) { + return Ok(Some(p)); + } + } + } + Ok(Err(tokio::sync::broadcast::error::RecvError::Lagged(_))) => continue, + _ => return Ok(None), + } + } + } + + /// Stream-safe poll of a feature's latest cached values (see + /// [`Self::feature_latest`]). Uses [`Self::request_until`] so it can run while + /// the live accelerometer stream is active. Returns defaults if no response. + pub async fn feature_latest_live( + &self, + feature_id: u8, + timeout: Duration, + ) -> Result { + match self + .request_until(&protocol::req_feature_latest(feature_id), 0x2f, Some(0x25), timeout) + .await? + { + Some(p) => Ok(parse_latest_values(feature_id, p.payload.get(7..).unwrap_or(&[]))), + None => Ok(LatestValues::default()), + } + } + + /// Stream-safe poll of battery state (see [`Self::battery`]). + pub async fn battery_live(&self, timeout: Duration) -> Result> { + Ok(self + .request_until(&protocol::req_battery(), 0x0d, None, timeout) + .await? + .and_then(|p| Battery::parse(&p))) + } + + /// Stream-safe poll of a feature's status (see [`Self::feature_status`]). + pub async fn feature_status_live( + &self, + feature_id: u8, + timeout: Duration, + ) -> Result> { + Ok(self + .request_until(&protocol::req_feature_status(feature_id), 0x2f, Some(0x21), timeout) + .await? + .as_ref() + .and_then(FeatureStatus::parse)) + } + fn find(packets: &[Packet], tag: u8) -> Option<&Packet> { packets.iter().find(|p| p.tag == tag) } @@ -265,6 +341,75 @@ impl OuraClient { }) } + /// Like [`Self::drain_events`] but **stream-safe**: each `GetEvent` batch is + /// collected with a bounded per-request timeout (waiting for the `0x11` summary) + /// instead of a quiet window, and accelerometer/control frames are ignored. Use + /// this to incrementally pull freshly-recorded events (e.g. live HR `0x80`) + /// while the accelerometer realtime stream is active — the quiet-window drain + /// would never see the link go idle. + pub async fn drain_events_live( + &self, + cursor: u32, + request_timeout: Duration, + mut on_event: F, + ) -> Result + where + F: FnMut(&RingEvent), + { + let mut rx = self.transport.subscribe(); + let mut start = cursor; + let mut total = 0u32; + for _ in 0..10_000 { + while rx.try_recv().is_ok() {} + self.transport + .write(&protocol::req_get_event(start, 255, -1)) + .await?; + + let mut summary: Option = None; + let mut max_ts = start; + let mut batch_events = 0u32; + let deadline = tokio::time::Instant::now() + request_timeout; + loop { + let remaining = deadline.saturating_duration_since(tokio::time::Instant::now()); + if remaining.is_zero() { + break; + } + match tokio::time::timeout(remaining, rx.recv()).await { + Ok(Ok(frame)) => { + let Some(p) = Packet::parse(&frame) else { continue }; + if p.tag == 0x11 { + summary = EventBatchSummary::parse(&p); + break; + } else if p.tag >= protocol::HISTORY_EVENT_PREFIX { + let ev = RingEvent::from_packet(&p); + max_ts = max_ts.max(ev.timestamp); + batch_events += 1; + total += 1; + on_event(&ev); + } + // ignore ACM (0x33), control ACKs (0x07), etc. + } + Ok(Err(tokio::sync::broadcast::error::RecvError::Lagged(_))) => continue, + _ => break, + } + } + + let bytes_left = summary.map(|s| s.bytes_left).unwrap_or(0); + let next = max_ts.saturating_add(1); + let progressed = batch_events > 0 && next > start; + if progressed { + start = next; + } + if bytes_left == 0 || !progressed { + break; + } + } + Ok(SyncOutcome { + events_synced: total, + next_cursor: start, + }) + } + // --- live / latest ----------------------------------------------------- /// Read a feature's latest cached values (HR / SpO2). Reflects the last @@ -277,40 +422,7 @@ impl OuraClient { .ok_or_else(|| Error::Protocol("no feature-latest response".into()))?; // payload: [0]=0x25,[1]=feature,[2]=result,[3]=status,[4]=state, // [5..7]=counter, [7..]=feature-specific data. - let data = p.payload.get(7..).unwrap_or(&[]); - let mut out = LatestValues::default(); - match feature_id { - feature::DAYTIME_HR => { - // data[0..2] = rr-corrected IBI (ms); bpm = 60000 / ibi. - if data.len() >= 2 { - let ibi = u16::from_le_bytes([data[0], data[1]]); - out.bpm = bpm_from_ibi(ibi); - } - } - feature::EXERCISE_HR => { - // data[4] = last HR value (bpm). - if let Some(&bpm) = data.get(4) { - if bpm > 0 { - out.bpm = Some(bpm as u16); - } - } - } - feature::SPO2 => { - // data[3] = SpO2 %, data[4] = HR bpm. - if let Some(&spo2) = data.get(3) { - if spo2 > 0 { - out.spo2_percent = Some(spo2); - } - } - if let Some(&bpm) = data.get(4) { - if bpm > 0 { - out.bpm = Some(bpm as u16); - } - } - } - _ => {} - } - Ok(out) + Ok(parse_latest_values(feature_id, p.payload.get(7..).unwrap_or(&[]))) } /// Trigger the ring's sleep analysis. Returns the `0x29` status byte. @@ -505,6 +617,44 @@ fn parse_acm_frame(frame: &[u8]) -> Vec { out } +/// Decode the feature-specific data tail of a `GetFeatureLatestValues` (`0x25`) +/// response into [`LatestValues`]. `data` is the payload after the 7-byte header. +pub fn parse_latest_values(feature_id: u8, data: &[u8]) -> LatestValues { + let mut out = LatestValues::default(); + match feature_id { + feature::DAYTIME_HR => { + // data[0..2] = rr-corrected IBI (ms); bpm = 60000 / ibi. + if data.len() >= 2 { + let ibi = u16::from_le_bytes([data[0], data[1]]); + out.bpm = bpm_from_ibi(ibi); + } + } + feature::EXERCISE_HR => { + // data[4] = last HR value (bpm). + if let Some(&bpm) = data.get(4) { + if bpm > 0 { + out.bpm = Some(bpm as u16); + } + } + } + feature::SPO2 => { + // data[3] = SpO2 %, data[4] = HR bpm. + if let Some(&spo2) = data.get(3) { + if spo2 > 0 { + out.spo2_percent = Some(spo2); + } + } + if let Some(&bpm) = data.get(4) { + if bpm > 0 { + out.bpm = Some(bpm as u16); + } + } + } + _ => {} + } + out +} + /// Compute bpm from an inter-beat interval, ignoring implausible values. fn bpm_from_ibi(ibi_ms: u16) -> Option { if (300..=2000).contains(&ibi_ms) { diff --git a/ios/OpenOura/BLE/OuraProtocol.swift b/ios/OpenOura/BLE/OuraProtocol.swift new file mode 100644 index 00000000..5d636e06 --- /dev/null +++ b/ios/OpenOura/BLE/OuraProtocol.swift @@ -0,0 +1,94 @@ +import CoreBluetooth +import Foundation + +/// GATT UUIDs and the `tag | len | payload` packet framing + request builders, +/// mirroring `crates/oura-protocol`. Little-endian throughout; extended ops ride +/// outer tag 0x2f with the first payload byte as the extended op. +enum OuraGATT { + static let service = CBUUID(string: "98ED0001-A541-11E4-B6A0-0002A5D5C51B") + static let notify = CBUUID(string: "98ED0003-A541-11E4-B6A0-0002A5D5C51B") + static let write = CBUUID(string: "98ED0002-A541-11E4-B6A0-0002A5D5C51B") +} + +enum Feature { + static let daytimeHR: UInt8 = 0x02 + static let exerciseHR: UInt8 = 0x03 + static let spo2: UInt8 = 0x04 + static let restingHR: UInt8 = 0x08 +} + +enum FeatureMode { + static let off: UInt8 = 0x00 + static let automatic: UInt8 = 0x01 + static let requested: UInt8 = 0x02 + static let connectedLive: UInt8 = 0x03 +} + +enum Realtime { + static let acm: UInt32 = 0x20 + static let onDemand: UInt32 = 0x200 + static let acmResponseTag: UInt8 = 0x33 +} + +let HISTORY_EVENT_PREFIX: UInt8 = 0x41 + +/// A decoded protocol frame. +struct Packet { + let tag: UInt8 + let payload: [UInt8] + + /// Parse a notification frame leniently (matches the Rust `Packet::parse`). + static func parse(_ frame: Data) -> Packet? { + let b = [UInt8](frame) + guard b.count >= 2 else { return nil } + let tag = b[0] + let len = Int(b[1]) + let end = min(2 + len, b.count) + return Packet(tag: tag, payload: Array(b[2.. Data { + Data([tag, UInt8(payload.count)] + payload) +} + +private func le32(_ v: UInt32) -> [UInt8] { [UInt8(v & 0xff), UInt8((v >> 8) & 0xff), UInt8((v >> 16) & 0xff), UInt8((v >> 24) & 0xff)] } +private func le16(_ v: UInt16) -> [UInt8] { [UInt8(v & 0xff), UInt8((v >> 8) & 0xff)] } + +/// Request builders (each returns the bytes to write). +enum Req { + static let firmware = Data([0x08, 0x03, 0x00, 0x00, 0x00]) + static let battery = packet(0x0c, []) + static let authNonce = Data([0x2f, 0x01, 0x2b]) + static let serial = Data([0x18, 0x03, 0x08, 0x00, 0x10]) + static let hardware = Data([0x18, 0x03, 0x18, 0x00, 0x10]) + static let realtimeOff = packet(0x06, [0, 0, 0, 0]) + + static func authenticate(_ enc: Data) -> Data { packet(0x2f, [0x2d] + [UInt8](enc)) } + /// Install a 16-byte auth key (only valid on a factory-reset ring). + static func setAuthKey(_ key: Data) -> Data { packet(0x24, [UInt8](key)) } + static func capabilities(_ page: UInt8) -> Data { Data([0x2f, 0x02, 0x01, page]) } + static func setNotification(_ flags: UInt8) -> Data { packet(0x1c, [flags]) } + static func featureStatus(_ f: UInt8) -> Data { Data([0x2f, 0x02, 0x20, f]) } + static func featureLatest(_ f: UInt8) -> Data { Data([0x2f, 0x02, 0x24, f]) } + static func setFeatureMode(_ f: UInt8, _ mode: UInt8) -> Data { Data([0x2f, 0x03, 0x22, f, mode]) } + + static func syncTime(_ unix: UInt64, tzHalfHours: UInt8) -> Data { + var p = [UInt8]() + for i in 0..<8 { p.append(UInt8((unix >> (8 * UInt64(i))) & 0xff)) } + p.append(tzHalfHours) + return packet(0x12, p) + } + + static func getEvent(start: UInt32, maxEvents: UInt8, flags: Int32) -> Data { + packet(0x10, le32(start) + [maxEvents] + le32(UInt32(bitPattern: flags))) + } + + static func setRealtime(bitmask: UInt32, minutes: UInt16, delay: UInt8) -> Data { + packet(0x06, le32(bitmask) + le16(minutes) + [delay]) + } +} diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift new file mode 100644 index 00000000..49874801 --- /dev/null +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -0,0 +1,690 @@ +import Combine +import CoreBluetooth +import Foundation +import os + +/// One decoded history event (timestamp in ring deciseconds + decoded JSON). +struct DecodedEvent: Identifiable { + let id = UUID() + let tag: UInt8 + let timestamp: UInt32 + let name: String + let json: [String: Any] +} + +enum ConnState: Equatable { + case idle, scanning, connecting, authenticating, ready, failed(String) +} + +/// CoreBluetooth client + protocol orchestration for an Oura ring. Mirrors the +/// Rust `OuraClient`: request/response with a quiet-window collector, a bounded +/// single-response wait, and a stream-safe incremental event drain. +final class OuraRing: NSObject, ObservableObject { + // Published UI state (always mutated on the main queue). + @Published var state: ConnState = .idle + @Published var status: String = "Not connected" + @Published var firmware: String? + @Published var serial: String? + @Published var hardware: String? + @Published var batteryPercent: Int? + @Published var charging = false + + @Published var liveActive = false + @Published var liveHR: Int? + @Published var liveHRV: Int? + @Published var motionG: Double? + @Published var restlessness: Int? + @Published var hrSeries: [Double] = [] + @Published var hrvSeries: [Double] = [] + @Published var motionSeries: [Double] = [] + + @Published var syncing = false + @Published var events: [DecodedEvent] = [] + @Published var health = HealthData() + @Published var alert: String? // surfaced as a user-facing alert on failure + @Published var showConnectGuide = false // drives the onboarding/connect sheet + + /// Auto-reconnect to the known ring (and auto-sync) without manual taps. + @Published var autoConnect: Bool = (UserDefaults.standard.object(forKey: "autoConnect") as? Bool) ?? true { + didSet { UserDefaults.standard.set(autoConnect, forKey: "autoConnect") } + } + @Published var autoSync: Bool = (UserDefaults.standard.object(forKey: "autoSync") as? Bool) ?? true { + didSet { UserDefaults.standard.set(autoSync, forKey: "autoSync") } + } + + /// True once we've connected before (a known peripheral id is stored), so the + /// app can silently reconnect on launch instead of showing the guide. + var canAutoReconnect: Bool { + autoConnect && KeyStore.keyBytes() != nil + && UserDefaults.standard.string(forKey: "ringPeripheralID") != nil + } + private var wantsAutoReconnect = false + private var userDisconnecting = false + + private let bleQueue = DispatchQueue(label: "com.openoura.ble") + private let log = Logger(subsystem: "com.openoura.app", category: "ble") + private var central: CBCentralManager! + private var peripheral: CBPeripheral? + private var writeChar: CBCharacteristic? + private var pendingConnect = false + private var connecting = false // a connect attempt is in flight (bleQueue) + private var scanTimer: DispatchSourceTimer? + private var connectTimer: DispatchSourceTimer? + private var readyTimer: DispatchSourceTimer? + + // Frame fan-out: every inbound notification is delivered to all listeners + // (touched only on bleQueue). Transactions register temporary listeners. + private var listeners: [UUID: (Data) -> Void] = [:] + private var readyContinuation: CheckedContinuation? + + // Live-mode rolling buffers (bleQueue). + private var ibiBuffer: [Double] = [] + private var liveListenerID: UUID? + private var liveTask: Task? + private var restMoves = 0, restWin = 0 + + override init() { + super.init() + central = CBCentralManager(delegate: self, queue: bleQueue) + } + + // MARK: - Publishing helper + private func publish(_ block: @escaping () -> Void) { DispatchQueue.main.async(execute: block) } + + /// Diagnostic log: to the unified log (Console.app) and stdout (captured by + /// `devicectl ... process launch --console`). + private func dbg(_ msg: String) { + log.info("\(msg, privacy: .public)") + print("[ble] \(msg)") + } + + private func writeRaw(_ data: Data) { + guard let p = peripheral, let c = writeChar else { return } + p.writeValue(data, for: c, type: .withResponse) + } + + // MARK: - Connect / scan + func connect() { + bleQueue.async { + // Re-entrancy guard: ignore taps while a connect attempt is in flight or + // we're already linked (prevents the double-scan + leaked continuation). + guard !self.connecting, self.writeChar == nil else { + self.dbg("connect ignored (already connecting/linked)") + return + } + self.connecting = true + self.pendingConnect = true + self.publish { self.state = .scanning; self.status = "Scanning for ring…" } + self.startScanIfReady() + } + } + + /// Begin scanning once Bluetooth is powered on (called on bleQueue, also from + /// `centralManagerDidUpdateState` so a not-yet-ready radio doesn't drop the request). + private func startScanIfReady() { + guard pendingConnect else { return } + switch central.state { + case .poweredOn: + pendingConnect = false + dbg("scanning for ring (service \(OuraGATT.service.uuidString))") + central.scanForPeripherals(withServices: [OuraGATT.service]) + scanTimer?.cancel() + let t = DispatchSource.makeTimerSource(queue: bleQueue) + t.schedule(deadline: .now() + 15) + t.setEventHandler { [weak self] in self?.scanTimedOut() } + t.resume(); scanTimer = t + case .poweredOff: + failConnect("Bluetooth off", "Turn on Bluetooth") + case .unauthorized: + failConnect("No BT permission", "Allow Bluetooth in iOS Settings → Open Oura") + case .unsupported: + failConnect("BLE unsupported", "BLE unsupported on this device") + case .unknown, .resetting: + dbg("bluetooth state \(self.central.state.rawValue) — waiting") + @unknown default: break + } + } + + private func scanTimedOut() { + guard writeChar == nil else { return } + central.stopScan() + dbg("scan timed out — ring not found") + failConnect("Ring not found", "Ring not found — wear it, keep it close, and quit other BLE apps") + } + + /// Abort an in-flight connect attempt: tear down timers, cancel the (possibly + /// hung) CoreBluetooth connection, surface a user alert, and resume any waiter. + /// Safe to call from anywhere — always runs its mutations on bleQueue. + private func failConnect(_ short: String, _ status: String) { + bleQueue.async { + self.dbg("connect failed: \(short)") + self.connecting = false; self.pendingConnect = false + self.scanTimer?.cancel(); self.connectTimer?.cancel() + self.central.stopScan() + if let p = self.peripheral { self.central.cancelPeripheralConnection(p) } + self.publish { self.state = .failed(short); self.status = status; self.alert = status } + if let c = self.readyContinuation { self.readyContinuation = nil; self.readyTimer?.cancel(); c.resume() } + } + } + + func disconnect() { + stopLive() + bleQueue.async { + self.userDisconnecting = true + self.wantsAutoReconnect = false + self.connecting = false + if let p = self.peripheral { self.central.cancelPeripheralConnection(p) } + } + publish { self.state = .idle; self.status = "Disconnected" } + } + + /// Suspend until the link is ready (write characteristic discovered), or until + /// `timeout` elapses (so a failed scan/connect never hangs the caller). + private func waitUntilReady(timeout: TimeInterval = 20) async { + await withCheckedContinuation { (c: CheckedContinuation) in + bleQueue.async { + if self.writeChar != nil { c.resume(); return } + self.readyContinuation = c + let t = DispatchSource.makeTimerSource(queue: self.bleQueue) + t.schedule(deadline: .now() + timeout) + t.setEventHandler { [weak self] in + guard let self, let cont = self.readyContinuation else { return } + self.readyContinuation = nil; cont.resume() + } + t.resume(); self.readyTimer = t + } + } + } + + // MARK: - Request/response primitives (all dispatch onto bleQueue) + + /// Write `req` and collect frames until the link is quiet for `quiet` seconds. + private func transact(_ req: Data, quiet: TimeInterval = 1.2) async -> [Packet] { + await withCheckedContinuation { cont in + bleQueue.async { + var frames: [Packet] = [] + let id = UUID() + var timer: DispatchSourceTimer? + var finished = false + func finish() { + if finished { return }; finished = true + self.listeners.removeValue(forKey: id); timer?.cancel() + cont.resume(returning: frames) + } + func arm() { + timer?.cancel() + let t = DispatchSource.makeTimerSource(queue: self.bleQueue) + t.schedule(deadline: .now() + quiet) + t.setEventHandler(handler: finish) + t.resume(); timer = t + } + self.listeners[id] = { data in + if let p = Packet.parse(data) { frames.append(p) } + arm() + } + self.writeRaw(req); arm() + } + } + } + + /// Write `req`; return the first frame matching `tag` (+ `ext`), else nil after `timeout`. + private func requestUntil(_ req: Data, tag: UInt8, ext: UInt8?, timeout: TimeInterval) async -> Packet? { + await withCheckedContinuation { cont in + bleQueue.async { + let id = UUID() + var done = false + let timer = DispatchSource.makeTimerSource(queue: self.bleQueue) + func finish(_ p: Packet?) { + if done { return }; done = true + self.listeners.removeValue(forKey: id); timer.cancel() + cont.resume(returning: p) + } + timer.schedule(deadline: .now() + timeout) + timer.setEventHandler { finish(nil) } + timer.resume() + self.listeners[id] = { data in + guard let p = Packet.parse(data) else { return } + if p.tag == tag && (ext == nil || p.extTag == ext) { finish(p) } + } + self.writeRaw(req) + } + } + } + + /// One `GetEvent` batch: collect event frames until the `0x11` summary or timeout. + private func getEventBatch(start: UInt32, timeout: TimeInterval) async -> (events: [Packet], bytesLeft: UInt32, maxTs: UInt32) { + await withCheckedContinuation { cont in + bleQueue.async { + var evs: [Packet] = [] + var maxTs = start + var bytesLeft: UInt32 = 0 + let id = UUID() + var done = false + let timer = DispatchSource.makeTimerSource(queue: self.bleQueue) + func finish() { + if done { return }; done = true + self.listeners.removeValue(forKey: id); timer.cancel() + cont.resume(returning: (evs, bytesLeft, maxTs)) + } + timer.schedule(deadline: .now() + timeout) + timer.setEventHandler(handler: finish) + timer.resume() + self.listeners[id] = { data in + guard let p = Packet.parse(data) else { return } + if p.tag == 0x11 { + if p.payload.count >= 6 { + bytesLeft = UInt32(p.payload[2]) | UInt32(p.payload[3]) << 8 + | UInt32(p.payload[4]) << 16 | UInt32(p.payload[5]) << 24 + } + finish() + } else if p.tag >= HISTORY_EVENT_PREFIX { + evs.append(p) + if p.payload.count >= 4 { + let ts = UInt32(p.payload[0]) | UInt32(p.payload[1]) << 8 + | UInt32(p.payload[2]) << 16 | UInt32(p.payload[3]) << 24 + maxTs = max(maxTs, ts) + } + } + } + self.writeRaw(Req.getEvent(start: start, maxEvents: 255, flags: -1)) + } + } + } + + /// Stream-safe incremental drain from `cursor`; calls `onEvent` per event. + /// Returns the next cursor. Safe to run while the accelerometer streams. + @discardableResult + private func drainEventsLive(cursor: UInt32, onEvent: (DecodedEvent) -> Void) async -> UInt32 { + var start = cursor + for _ in 0..<10_000 { + let batch = await getEventBatch(start: start, timeout: 1.5) + for p in batch.events { + guard p.payload.count >= 4 else { continue } + let ts = UInt32(p.payload[0]) | UInt32(p.payload[1]) << 8 + | UInt32(p.payload[2]) << 16 | UInt32(p.payload[3]) << 24 + let body = Data(p.payload[4...]) + let json = OuraCore.decodeEvent(tag: p.tag, body: body) ?? [:] + onEvent(DecodedEvent(tag: p.tag, timestamp: ts, name: OuraCore.eventName(tag: p.tag), json: json)) + } + let next = batch.maxTs &+ 1 + let progressed = !batch.events.isEmpty && next > start + if progressed { start = next } + if batch.bytesLeft == 0 || !progressed { break } + } + return start + } + + // MARK: - High-level flows + + /// Pair a factory-reset ring exactly like the real app: connect, generate a + /// random 16-byte key, install it with `SetAuthKey`, store it in the Keychain, + /// then authenticate. No key typing — pairing *creates* the key. + func pairNewRing() async { + if writeChar == nil { connect(); await waitUntilReady() } + publish { self.state = .authenticating; self.status = "Pairing…" } + + var keyBytes = [UInt8](repeating: 0, count: 16) + guard SecRandomCopyBytes(kSecRandomDefault, 16, &keyBytes) == errSecSuccess else { + publish { self.state = .failed("RNG error") } + return + } + let key = Data(keyBytes) + // Persist before installing, so a crash mid-pair never loses the only copy + // of a key that may already be live on the ring. + _ = KeyStore.saveHex(key.map { String(format: "%02x", $0) }.joined()) + + guard let resp = await requestUntil(Req.setAuthKey(key), tag: 0x25, ext: nil, timeout: 3.0), + resp.payload.first == 0x00 else { + publish { self.state = .failed("SetAuthKey rejected"); self.status = "Pair failed — is the ring factory-reset?" } + return + } + publish { self.status = "Key installed — authenticating…" } + await authenticateAndLoad() + } + + /// Connect (if needed) via the interactive scan flow, authenticate, then + /// auto-sync if enabled. Used by the guide's Connect button. + func authenticateAndLoad() async { + if writeChar == nil { + connect() + await waitUntilReady() + } + guard writeChar != nil else { + dbg("authenticateAndLoad: link never became ready") + // Make sure the UI doesn't stay stuck in "Connecting…": surface failure. + if case .failed = state {} else { + failConnect("Couldn't connect", "Couldn't connect to the ring. Keep it close and make sure it isn't connected elsewhere, then try again.") + } + return + } + if await runAuth(), autoSync { await syncHistory() } + } + + /// Authenticate over an already-established link, read metadata. Returns success. + @discardableResult + private func runAuth() async -> Bool { + guard let key = KeyStore.keyBytes() else { + publish { self.state = .failed("No auth key set"); self.status = "Set the ring key in Settings" } + return false + } + publish { self.state = .authenticating; self.status = "Authenticating…" } + dbg("requesting auth nonce") + + guard let noncePkt = await requestUntil(Req.authNonce, tag: 0x2f, ext: 0x2c, timeout: 2.0), + noncePkt.payload.count > 1 else { + dbg("no nonce response") + publish { self.state = .failed("No nonce"); self.status = "Auth failed (no nonce)"; self.alert = "The ring didn't respond to the auth handshake. Try Connect again." } + return false + } + dbg("nonce received (\(noncePkt.payload.count - 1) bytes)") + let nonce = Data(noncePkt.payload[1...]) + guard let enc = OuraCore.encryptNonce(key: key, nonce: nonce) else { + publish { self.state = .failed("Crypto error") } + return false + } + let authPkt = await requestUntil(Req.authenticate(enc), tag: 0x2f, ext: 0x2e, timeout: 2.0) + guard let authPkt, authPkt.payload.count > 1, authPkt.payload[1] == 0x00 else { + let code = authPkt?.payload.count ?? 0 > 1 ? authPkt!.payload[1] : 0xff + dbg("auth rejected (state byte \(code))") + publish { self.state = .failed("Auth rejected"); self.status = "Auth rejected — wrong key? (\(code))"; self.alert = "The ring rejected the key (code \(code)). Make sure the imported key matches the one the ring was paired with." } + return false + } + dbg("authenticated OK") + publish { self.state = .ready; self.status = "Connected"; self.alert = nil } + await readDeviceInfo() + await readBattery() + return true + } + + // MARK: - Auto-reconnect (pending connect: connects whenever the ring wakes) + + /// Silently (re)connect to the known ring without scanning or a timeout — iOS + /// completes the connection whenever the ring next becomes available (on its + /// charger or worn). On link-up we authenticate and, if enabled, sync. + func autoReconnect() { + bleQueue.async { + self.wantsAutoReconnect = true + self.startAutoReconnectIfReady() + } + } + + private func startAutoReconnectIfReady() { + guard wantsAutoReconnect, autoConnect, !connecting, writeChar == nil, + central.state == .poweredOn, + KeyStore.keyBytes() != nil, + let idStr = UserDefaults.standard.string(forKey: "ringPeripheralID"), + let uuid = UUID(uuidString: idStr), + let p = central.retrievePeripherals(withIdentifiers: [uuid]).first + else { return } + connecting = true + peripheral = p + p.delegate = self + dbg("auto-reconnect: pending connect (connects when the ring wakes)") + publish { if self.state != .ready { self.state = .connecting }; self.status = "Waiting for ring…" } + central.connect(p) // no timeout: iOS connects when the peripheral appears + } + + func readDeviceInfo() async { + let pkts = await transact(Req.firmware, quiet: 1.0) + if let p = pkts.first(where: { $0.tag == 0x09 }), p.payload.count >= 18 { + let fw = "\(p.payload[3]).\(p.payload[4]).\(p.payload[5])" + publish { self.firmware = fw } + } + if let s = await productString(Req.serial) { publish { self.serial = s } } + if let h = await productString(Req.hardware) { publish { self.hardware = h } } + } + + private func productString(_ req: Data) async -> String? { + let pkts = await transact(req, quiet: 0.8) + guard let p = pkts.first(where: { $0.tag == 0x19 }), p.payload.first == 0 else { return nil } + let bytes = Array(p.payload[1...]).prefix { $0 != 0 } + return String(bytes: bytes, encoding: .utf8) + } + + func readBattery() async { + if let p = await requestUntil(Req.battery, tag: 0x0d, ext: nil, timeout: 1.0), p.payload.count >= 3 { + let pct = Int(p.payload[0]); let chg = p.payload[1] > 0 + publish { self.batteryPercent = pct; self.charging = chg } + } + } + + // MARK: - Live mode (HR / HRV / motion / battery) + + func startLive() { + dbg("startLive tapped (state ready=\(state == .ready), already live=\(liveActive))") + guard state == .ready, !liveActive else { return } + publish { self.liveActive = true; self.status = "Live — measuring…" } + liveTask = Task { await self.runLive() } + } + + func stopLive() { + liveTask?.cancel(); liveTask = nil + bleQueue.async { + if let id = self.liveListenerID { self.listeners.removeValue(forKey: id); self.liveListenerID = nil } + self.ibiBuffer.removeAll() + self.writeRaw(Req.realtimeOff) + self.writeRaw(Req.setFeatureMode(Feature.daytimeHR, FeatureMode.automatic)) + } + publish { self.liveActive = false; self.status = "Connected"; self.motionG = nil } + } + + private func runLive() async { + dbg("live: enabling notifications + daytime-HR CONNECTED_LIVE") + await sendAndWait(Req.setNotification(0x3f)) + await sendAndWait(Req.setFeatureMode(Feature.daytimeHR, FeatureMode.connectedLive)) + // Confirm the ring actually entered the measuring state (green LED on). + if let st = await feature_status(Feature.daytimeHR) { + dbg("live: daytime-HR mode=\(st.mode) state=\(st.state) status=\(st.status) (state 2 = measuring)") + } else { + dbg("live: no feature-status response") + } + var cursor = await drainEventsLive(cursor: 0) { _ in } // baseline + dbg("live: baseline cursor=\(cursor)") + installLiveACMListener() + await sendAndWait(Req.setRealtime(bitmask: Realtime.acm, minutes: 5, delay: 0)) + dbg("live: ACM armed; entering poll loop") + + var tick = 0 + while !Task.isCancelled { + var n = 0, hr80 = 0 + cursor = await drainEventsLive(cursor: cursor) { [weak self] ev in + n += 1; if ev.tag == 0x80 { hr80 += 1 } + self?.handleLiveEvent(ev) + } + dbg("live: tick \(tick) drained \(n) events (\(hr80)×0x80) cursor=\(cursor)") + if tick % 6 == 0 { await readBattery() } + tick += 1 + try? await Task.sleep(nanoseconds: 2_000_000_000) + } + } + + /// Read a feature's status (mode/state/status) — used to confirm measuring. + private func feature_status(_ f: UInt8) async -> (mode: UInt8, status: UInt8, state: UInt8)? { + guard let p = await requestUntil(Req.featureStatus(f), tag: 0x2f, ext: 0x21, timeout: 1.0), + p.payload.count >= 6 else { return nil } + return (p.payload[2], p.payload[3], p.payload[4]) + } + + private func sendAndWait(_ req: Data) async { + bleQueue.async { self.writeRaw(req) } + try? await Task.sleep(nanoseconds: 120_000_000) + } + + private func installLiveACMListener() { + bleQueue.async { + let id = UUID() + self.liveListenerID = id + self.listeners[id] = { [weak self] data in self?.handleACMFrame(data) } + } + } + + private func handleACMFrame(_ data: Data) { + let b = [UInt8](data) + guard b.count >= 10, b[0] == Realtime.acmResponseTag else { return } + func s(_ o: Int) -> Int16 { Int16(bitPattern: UInt16(b[o]) | UInt16(b[o + 1]) << 8) } + let x = Double(s(4)), y = Double(s(6)), z = Double(s(8)) + let g = (x * x + y * y + z * z).squareRoot() / 1024.0 + restWin += 1 + if abs(g - 1.0) > 0.06 { restMoves += 1 } + let rest = restWin > 0 ? Int(Double(restMoves) / Double(restWin) * 100) : 0 + publish { + self.motionG = g + self.motionSeries.append(g); if self.motionSeries.count > 300 { self.motionSeries.removeFirst() } + self.restlessness = rest + } + if restWin > 50 { restWin = 0; restMoves = 0 } + } + + private func handleLiveEvent(_ ev: DecodedEvent) { + guard ev.tag == 0x80 else { return } + // bpm: last plausible value in hr_bpm + if let arr = ev.json["hr_bpm"] as? [Any] { + let bpms = arr.compactMap { ($0 as? NSNumber)?.intValue }.filter { $0 > 30 && $0 < 240 } + if let bpm = bpms.last { + publish { + self.liveHR = bpm + self.hrSeries.append(Double(bpm)); if self.hrSeries.count > 240 { self.hrSeries.removeFirst() } + } + } + } + // HRV (RMSSD) from physiologically plausible IBIs + if let arr = ev.json["ibi_ms"] as? [Any] { + for v in arr.compactMap({ ($0 as? NSNumber)?.doubleValue }) where v >= 400 && v <= 1300 { + ibiBuffer.append(v) + } + while ibiBuffer.count > 40 { ibiBuffer.removeFirst() } + if let hrv = Self.rmssd(ibiBuffer) { + publish { + self.liveHRV = hrv + self.hrvSeries.append(Double(hrv)); if self.hrvSeries.count > 120 { self.hrvSeries.removeFirst() } + } + } + } + } + + static func rmssd(_ ibi: [Double]) -> Int? { + guard ibi.count >= 3 else { return nil } + var s = 0.0, n = 0 + for i in 1.. 250 { continue } + s += d * d; n += 1 + } + return n >= 2 ? Int((s / Double(n)).squareRoot().rounded()) : nil + } + + // MARK: - Full history sync (Today/Sleep/Activity tabs) + + func syncHistory() async { + guard state == .ready, !syncing else { return } + publish { self.syncing = true; self.status = "Syncing history…" } + var collected: [DecodedEvent] = [] + _ = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } + let model = HealthData(events: collected) + publish { + self.events = collected + self.health = model + self.syncing = false + self.status = "Synced \(collected.count) events" + } + } +} + +// MARK: - CoreBluetooth delegates +extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { + func centralManagerDidUpdateState(_ central: CBCentralManager) { + dbg("central state -> \(central.state.rawValue)") + startScanIfReady() // resume a pending manual scan + startAutoReconnectIfReady() // resume a pending auto-reconnect + } + + func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, + advertisementData: [String: Any], rssi RSSI: NSNumber) { + dbg("discovered \(peripheral.name ?? "ring") rssi \(RSSI)") + central.stopScan() + scanTimer?.cancel() + self.peripheral = peripheral + peripheral.delegate = self + publish { self.state = .connecting; self.status = "Connecting…" } + central.connect(peripheral) + // CoreBluetooth connect() has no timeout of its own — bound it so a ring + // held by another central (e.g. a paired Mac) can't hang us forever. + connectTimer?.cancel() + let t = DispatchSource.makeTimerSource(queue: bleQueue) + t.schedule(deadline: .now() + 30) + t.setEventHandler { [weak self] in + guard let self, self.writeChar == nil else { return } + let st = self.peripheral?.state.rawValue ?? -1 + self.dbg("connect timeout (peripheral.state=\(st); 0=disc 1=connecting 2=connected)") + self.failConnect("Couldn't connect", "Couldn't connect to the ring. Wear it (or put it on the charger) and keep the phone right next to it, then try again.") + } + t.resume(); connectTimer = t + } + + func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) { + dbg("connected — discovering services") + // Remember this ring so future launches can silently auto-reconnect. + UserDefaults.standard.set(peripheral.identifier.uuidString, forKey: "ringPeripheralID") + peripheral.discoverServices([OuraGATT.service]) + } + + func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { + failConnect("Connect failed", "Connect failed: \(error?.localizedDescription ?? "unknown")") + } + + func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { + dbg("disconnected\(error.map { ": \($0.localizedDescription)" } ?? "")") + self.writeChar = nil + self.connecting = false + self.liveActive = false + // Unless the user asked to disconnect, immediately re-arm a pending connect + // so we silently reconnect when the ring next wakes (charger/worn). + if !userDisconnecting, autoConnect { + wantsAutoReconnect = true + publish { self.state = .connecting; self.status = "Waiting for ring…" } + startAutoReconnectIfReady() + } else { + publish { if self.state != .idle { self.state = .idle }; self.status = "Disconnected" } + } + userDisconnecting = false + } + + func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) { + if let error { dbg("discoverServices error: \(error.localizedDescription)") } + guard let svc = peripheral.services?.first(where: { $0.uuid == OuraGATT.service }) else { + dbg("Oura service not found among \(peripheral.services?.count ?? 0) services") + return + } + dbg("service found — discovering characteristics") + peripheral.discoverCharacteristics(nil, for: svc) + } + + func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) { + for c in service.characteristics ?? [] { + if c.uuid == OuraGATT.write { writeChar = c } + if c.properties.contains(.notify) || c.properties.contains(.indicate) { + peripheral.setNotifyValue(true, for: c) + } + } + // Link is usable once the write characteristic is known. + if writeChar != nil { + dbg("link ready (write characteristic discovered)") + connecting = false + scanTimer?.cancel(); connectTimer?.cancel(); readyTimer?.cancel() + if let c = readyContinuation { + // A manual authenticateAndLoad() is awaiting — let it drive auth. + readyContinuation = nil; c.resume() + } else { + // Auto-reconnect path: authenticate (and sync) ourselves. + Task { if await self.runAuth(), self.autoSync { await self.syncHistory() } } + } + } else { + dbg("write characteristic not found in service") + } + } + + func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { + guard let data = characteristic.value else { return } + for listener in listeners.values { listener(data) } + } +} diff --git a/ios/OpenOura/Core/HealthData.swift b/ios/OpenOura/Core/HealthData.swift new file mode 100644 index 00000000..2e956820 --- /dev/null +++ b/ios/OpenOura/Core/HealthData.swift @@ -0,0 +1,62 @@ +import Foundation + +/// Derived health summaries computed from a synced batch of decoded events. +/// Mirrors what the Oura app surfaces, from the data the ring actually emits. +struct HealthData { + struct Sample: Identifiable { let id = UUID(); let ts: UInt32; let value: Double } + + var eventCounts: [(name: String, count: Int)] = [] + var hr: [Sample] = [] + var hrv: [Sample] = [] + var temp: [Sample] = [] + var spo2: [Sample] = [] + var hypnogram: [String] = [] + var totalEvents = 0 + + var latestHR: Int? { hr.last.map { Int($0.value.rounded()) } } + var latestHRV: Int? { hrv.last.map { Int($0.value.rounded()) } } + var latestTemp: Double? { temp.last?.value } + + /// Sleep-stage distribution (epoch counts) from the most recent hypnogram. + var stageCounts: [(stage: String, count: Int)] { + let order = ["deep", "rem", "light", "awake"] + var c: [String: Int] = [:] + for s in hypnogram { c[s, default: 0] += 1 } + return order.compactMap { s in c[s].map { (s, $0) } } + } + + init() {} + + init(events: [DecodedEvent]) { + totalEvents = events.count + var counts: [String: Int] = [:] + let sorted = events.sorted { $0.timestamp < $1.timestamp } + + func nums(_ any: Any?) -> [Double] { + (any as? [Any])?.compactMap { ($0 as? NSNumber)?.doubleValue } ?? [] + } + + for e in sorted { + counts[e.name, default: 0] += 1 + switch e.tag { + case 0x80, 0x60: // green/ibi HR events + let v = nums(e.json["hr_bpm"]).filter { $0 > 30 && $0 < 240 } + if let m = v.last { hr.append(.init(ts: e.timestamp, value: m)) } + case 0x5d: // hrv_event: arrays of hr_bpm + rmssd_ms (per 5 min) + if let r = nums(e.json["rmssd_ms"]).last, r > 0 { hrv.append(.init(ts: e.timestamp, value: r)) } + if let h = nums(e.json["hr_bpm"]).last, h > 30 { hr.append(.init(ts: e.timestamp, value: h)) } + case 0x46, 0x69, 0x75: // temperature + let v = nums(e.json["temps_c"]).filter { $0 > 20 && $0 < 45 } + if let m = v.last { temp.append(.init(ts: e.timestamp, value: m)) } + case 0x6f, 0x70, 0x77: // spo2 + if let s = (e.json["spo2_percent"] as? NSNumber)?.doubleValue, s > 50 { + spo2.append(.init(ts: e.timestamp, value: s)) + } + case 0x4b, 0x4e, 0x5a: // sleep phases (hypnogram) + if let ph = e.json["phases"] as? [String] { hypnogram.append(contentsOf: ph) } + default: break + } + } + eventCounts = counts.sorted { $0.value > $1.value }.map { ($0.key, $0.value) } + } +} diff --git a/ios/OpenOura/Core/KeyStore.swift b/ios/OpenOura/Core/KeyStore.swift new file mode 100644 index 00000000..40c6fb54 --- /dev/null +++ b/ios/OpenOura/Core/KeyStore.swift @@ -0,0 +1,58 @@ +import Foundation +import Security + +/// Stores the 16-byte ring auth key (as hex) in the iOS Keychain. The same key +/// that `oura pair` installed on the ring is used here — paste its hex once. +enum KeyStore { + private static let service = "com.openoura.app" + private static let account = "ring-auth-key" + + static func saveHex(_ hex: String) -> Bool { + let clean = hex.trimmingCharacters(in: .whitespacesAndNewlines) + guard let data = clean.data(using: .utf8) else { return false } + let query: [String: Any] = [ + kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, + kSecAttrAccount as String: account, + ] + SecItemDelete(query as CFDictionary) + var add = query + add[kSecValueData as String] = data + return SecItemAdd(add as CFDictionary, nil) == errSecSuccess + } + + static func loadHex() -> String? { + let query: [String: Any] = [ + kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, + kSecAttrAccount as String: account, + kSecReturnData as String: true, + kSecMatchLimit as String: kSecMatchLimitOne, + ] + var out: CFTypeRef? + guard SecItemCopyMatching(query as CFDictionary, &out) == errSecSuccess, + let data = out as? Data, let s = String(data: data, encoding: .utf8) + else { return nil } + return s + } + + /// The key as 16 raw bytes, or nil if unset/invalid. + static func keyBytes() -> Data? { + guard let hex = loadHex() else { return nil } + return dataFromHex(hex) + } + + static func dataFromHex(_ hex: String) -> Data? { + let s = hex.trimmingCharacters(in: .whitespacesAndNewlines) + guard s.count == 32 else { return nil } + var bytes = [UInt8]() + var i = s.startIndex + while i < s.endIndex { + let j = s.index(i, offsetBy: 2) + guard let b = UInt8(s[i.. Data? { + guard key.count == 16 else { return nil } + var out = [UInt8](repeating: 0, count: 16) + let rc = key.withUnsafeBytes { kp in + nonce.withUnsafeBytes { np in + oura_encrypt_nonce( + kp.bindMemory(to: UInt8.self).baseAddress, key.count, + np.bindMemory(to: UInt8.self).baseAddress, nonce.count, + &out) + } + } + return rc == 0 ? Data(out) : nil + } + + /// Decode an event body for `tag` into a parsed JSON object, or nil. + static func decodeEvent(tag: UInt8, body: Data) -> [String: Any]? { + let cstr: UnsafeMutablePointer? = body.withUnsafeBytes { bp in + oura_decode_event(tag, bp.bindMemory(to: UInt8.self).baseAddress, body.count) + } + guard let cstr else { return nil } + defer { oura_string_free(cstr) } + let json = String(cString: cstr) + guard let data = json.data(using: .utf8), + let obj = try? JSONSerialization.jsonObject(with: data) as? [String: Any] + else { return nil } + return obj + } + + /// Human-readable name for an event tag. + static func eventName(tag: UInt8) -> String { + guard let cstr = oura_event_name(tag) else { return "tag_\(tag)" } + defer { oura_string_free(cstr) } + return String(cString: cstr) + } +} diff --git a/ios/OpenOura/Info.plist b/ios/OpenOura/Info.plist new file mode 100644 index 00000000..04dc2418 --- /dev/null +++ b/ios/OpenOura/Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Open Oura + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + UILaunchScreen + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + NSBluetoothAlwaysUsageDescription + Open Oura connects to your Oura ring over Bluetooth to read heart rate, motion, and sleep data directly from the device. + NSBluetoothPeripheralUsageDescription + Open Oura connects to your Oura ring over Bluetooth. + UIBackgroundModes + + bluetooth-central + + + diff --git a/ios/OpenOura/OpenOuraApp.swift b/ios/OpenOura/OpenOuraApp.swift new file mode 100644 index 00000000..4a3b22e6 --- /dev/null +++ b/ios/OpenOura/OpenOuraApp.swift @@ -0,0 +1,19 @@ +import SwiftUI + +@main +struct OpenOuraApp: App { + @StateObject private var ring = OuraRing() + + var body: some Scene { + WindowGroup { + RootView() + .environmentObject(ring) + .preferredColorScheme(.dark) + .task { + // Silently reconnect to a known ring on launch; otherwise guide. + if ring.canAutoReconnect { ring.autoReconnect() } + else { ring.showConnectGuide = true } + } + } + } +} diff --git a/ios/OpenOura/Views/Components.swift b/ios/OpenOura/Views/Components.swift new file mode 100644 index 00000000..095a9b21 --- /dev/null +++ b/ios/OpenOura/Views/Components.swift @@ -0,0 +1,63 @@ +import SwiftUI + +/// A lightweight Path-based sparkline (no external charting dependency). +struct Sparkline: View { + var values: [Double] + var color: Color + var minY: Double? = nil + var maxY: Double? = nil + + var body: some View { + GeometryReader { geo in + let vals = values + if vals.count >= 2 { + let lo = minY ?? (vals.min() ?? 0) + let hi = maxY ?? (vals.max() ?? 1) + let range = Swift.max(hi - lo, 0.0001) + let w = geo.size.width, h = geo.size.height + Path { p in + for (i, v) in vals.enumerated() { + let x = w * Double(i) / Double(vals.count - 1) + let y = h - (v - lo) / range * h + if i == 0 { p.move(to: CGPoint(x: x, y: y)) } + else { p.addLine(to: CGPoint(x: x, y: y)) } + } + } + .stroke(color, style: StrokeStyle(lineWidth: 2, lineJoin: .round)) + } else { + Rectangle().fill(Color.white.opacity(0.04)) + } + } + } +} + +struct MetricCard: View { + let title: String + var accent: Color = .accentColor + @ViewBuilder var content: Content + + var body: some View { + VStack(alignment: .leading, spacing: 8) { + Text(title.uppercased()) + .font(.caption2.weight(.semibold)) + .foregroundColor(accent) + content + } + .padding(14) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(white: 0.10)) + .clipShape(RoundedRectangle(cornerRadius: 14)) + } +} + +/// Big value + unit, e.g. "72 bpm". +struct BigValue: View { + let value: String + var unit: String = "" + var body: some View { + HStack(alignment: .firstTextBaseline, spacing: 4) { + Text(value).font(.system(size: 38, weight: .bold, design: .rounded)) + if !unit.isEmpty { Text(unit).font(.subheadline).foregroundColor(.secondary) } + } + } +} diff --git a/ios/OpenOura/Views/ConnectGuideView.swift b/ios/OpenOura/Views/ConnectGuideView.swift new file mode 100644 index 00000000..c7ca6b71 --- /dev/null +++ b/ios/OpenOura/Views/ConnectGuideView.swift @@ -0,0 +1,139 @@ +import SwiftUI + +/// Onboarding / connection guide. Walks the user through placing the ring on its +/// charging pad next to the phone (it sleeps when off-charger and not worn, so the +/// pad is what makes it reliably connectable), then drives connect/auth with live +/// progress and a clear success/failure state. +struct ConnectGuideView: View { + @EnvironmentObject var ring: OuraRing + @Environment(\.dismiss) private var dismiss + + private var paired: Bool { KeyStore.keyBytes() != nil } + private var inProgress: Bool { + [ConnState.scanning, .connecting, .authenticating].contains(ring.state) + } + private var failed: Bool { if case .failed = ring.state { return true } else { return false } } + + var body: some View { + VStack(spacing: 0) { + ScrollView { + VStack(spacing: 28) { + illustration + .frame(height: 130) + .padding(.top, 28) + + Text(ring.state == .ready ? "Ring connected" : "Connect your ring") + .font(.title2.bold()) + + if ring.state == .ready { + connectedBody + } else { + steps + } + } + .padding(.horizontal, 24) + } + + footer + .padding(20) + .background(.ultraThinMaterial) + } + .presentationDragIndicator(.visible) + .onChange(of: ring.state) { newValue in + // Auto-dismiss shortly after a successful connection. + if newValue == .ready { + DispatchQueue.main.asyncAfter(deadline: .now() + 1.1) { + if ring.state == .ready { dismiss() } + } + } + } + } + + // MARK: pieces + + private var illustration: some View { + HStack(spacing: 18) { + Image(systemName: "iphone") + .font(.system(size: 60, weight: .light)) + .foregroundStyle(.white) + Image(systemName: "dot.radiowaves.left.and.right") + .font(.title) + .foregroundStyle(inProgress ? .pink : Color(white: 0.4)) + ZStack { + Circle().fill(Color(white: 0.16)).frame(width: 96, height: 96) // pad + Circle().fill(Color(white: 0.10)).frame(width: 70, height: 70) // pad inset + Circle().stroke(ring.state == .ready ? .green : .pink, lineWidth: 9) // the ring + .frame(width: 44, height: 44) + } + } + } + + private var steps: some View { + VStack(alignment: .leading, spacing: 18) { + step(1, "Place the ring on its charging pad", "Off the charger and not worn, the ring sleeps to save battery. The pad wakes it so it's reliably connectable.") + step(2, "Put the pad next to your iPhone", "Within arm's reach (about 30 cm) for a strong, stable Bluetooth link.") + step(3, paired ? "Tap Connect" : "Tap Pair ring", paired ? "We'll authenticate with your saved key automatically." : "We'll generate a key and install it on the ring (it must be factory-reset).") + } + } + + private func step(_ n: Int, _ title: String, _ detail: String) -> some View { + HStack(alignment: .top, spacing: 14) { + Text("\(n)") + .font(.subheadline.bold()).foregroundColor(.black) + .frame(width: 26, height: 26) + .background(Circle().fill(.pink)) + VStack(alignment: .leading, spacing: 3) { + Text(title).font(.subheadline.weight(.semibold)) + Text(detail).font(.footnote).foregroundColor(.secondary) + } + Spacer(minLength: 0) + } + } + + private var connectedBody: some View { + VStack(spacing: 10) { + Image(systemName: "checkmark.circle.fill") + .font(.system(size: 44)).foregroundStyle(.green) + if let s = ring.serial { Text(s).font(.footnote.monospaced()).foregroundColor(.secondary) } + if let b = ring.batteryPercent { Text("Battery \(b)%").font(.footnote).foregroundColor(.secondary) } + } + } + + private var footer: some View { + VStack(spacing: 10) { + // Live status line. + HStack(spacing: 8) { + if inProgress { ProgressView() } + Text(ring.status) + .font(.footnote) + .foregroundColor(failed ? .red : .secondary) + } + .frame(maxWidth: .infinity) + + if ring.state == .ready { + Button("Done") { dismiss() } + .buttonStyle(.borderedProminent).tint(.green) + .frame(maxWidth: .infinity) + } else { + Button { + Task { paired ? await ring.authenticateAndLoad() : await ring.pairNewRing() } + } label: { + Text(buttonLabel).frame(maxWidth: .infinity).padding(.vertical, 4) + } + .buttonStyle(.borderedProminent).tint(.pink) + .disabled(inProgress) + + if !paired { + Text("Already paired this ring with the CLI? Import its key in Settings instead.") + .font(.caption2).foregroundColor(.secondary).multilineTextAlignment(.center) + } + } + } + } + + private var buttonLabel: String { + if inProgress { return paired ? "Connecting…" : "Pairing…" } + if failed { return "Try again" } + return paired ? "Connect" : "Pair ring" + } +} diff --git a/ios/OpenOura/Views/LiveView.swift b/ios/OpenOura/Views/LiveView.swift new file mode 100644 index 00000000..76368087 --- /dev/null +++ b/ios/OpenOura/Views/LiveView.swift @@ -0,0 +1,58 @@ +import SwiftUI + +struct LiveView: View { + @EnvironmentObject var ring: OuraRing + + var body: some View { + NavigationStack { + ScrollView { + StatusBanner().padding(.top, 4) + VStack(spacing: 14) { + MetricCard(title: "Heart rate", accent: .pink) { + HStack(alignment: .firstTextBaseline) { + BigValue(value: ring.liveHR.map(String.init) ?? "--", unit: "bpm") + Spacer() + VStack(alignment: .trailing) { + Text("HRV \(ring.liveHRV.map(String.init) ?? "--") ms") + .font(.caption).foregroundColor(.secondary) + } + } + Sparkline(values: ring.hrSeries, color: .pink).frame(height: 70) + } + + MetricCard(title: "Motion", accent: .blue) { + HStack(alignment: .firstTextBaseline) { + BigValue(value: ring.motionG.map { String(format: "%.2f", $0) } ?? "--", unit: "g") + Spacer() + Text("restless \(ring.restlessness.map(String.init) ?? "0")%") + .font(.caption).foregroundColor(.secondary) + } + Sparkline(values: ring.motionSeries, color: .blue, minY: 0, maxY: 3).frame(height: 70) + } + + MetricCard(title: "HRV trend (RMSSD)", accent: .purple) { + Sparkline(values: ring.hrvSeries, color: .purple).frame(height: 60) + } + + Button(action: toggle) { + Text(ring.liveActive ? "Stop live" : "Start live") + .frame(maxWidth: .infinity).padding(.vertical, 6) + } + .buttonStyle(.borderedProminent) + .tint(ring.liveActive ? .gray : .pink) + .disabled(ring.state != .ready) + + Text("Forces the green-LED measurement and streams motion. Give it ~10–20 s on your finger to lock the first beat.") + .font(.caption2).foregroundColor(.secondary) + .multilineTextAlignment(.center).padding(.horizontal) + } + .padding() + } + .navigationTitle("Live") + } + } + + private func toggle() { + if ring.liveActive { ring.stopLive() } else { ring.startLive() } + } +} diff --git a/ios/OpenOura/Views/RootView.swift b/ios/OpenOura/Views/RootView.swift new file mode 100644 index 00000000..1c6c8488 --- /dev/null +++ b/ios/OpenOura/Views/RootView.swift @@ -0,0 +1,50 @@ +import SwiftUI + +struct RootView: View { + @EnvironmentObject var ring: OuraRing + + var body: some View { + TabView { + TodayView().tabItem { Label("Today", systemImage: "sun.max.fill") } + LiveView().tabItem { Label("Live", systemImage: "waveform.path.ecg") } + SleepView().tabItem { Label("Sleep", systemImage: "bed.double.fill") } + SettingsView().tabItem { Label("Settings", systemImage: "gearshape.fill") } + } + .tint(.pink) + .sheet(isPresented: $ring.showConnectGuide) { + ConnectGuideView() + .presentationDetents([.large]) + } + } +} + +/// Small connection state banner reused across tabs. Tap to (re)open the guide. +struct StatusBanner: View { + @EnvironmentObject var ring: OuraRing + var body: some View { + Button { ring.showConnectGuide = true } label: { + HStack(spacing: 8) { + Circle().fill(color).frame(width: 9, height: 9) + Text(ring.status).font(.footnote).foregroundColor(.secondary) + Spacer() + if let b = ring.batteryPercent { + Image(systemName: ring.charging ? "battery.100.bolt" : "battery.50") + Text("\(b)%").font(.footnote) + } else if ring.state != .ready { + Text("Connect").font(.footnote.weight(.semibold)).foregroundColor(.pink) + } + } + .padding(.horizontal) + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + } + var color: Color { + switch ring.state { + case .ready: return .green + case .failed: return .red + case .idle: return .gray + default: return .yellow + } + } +} diff --git a/ios/OpenOura/Views/SettingsView.swift b/ios/OpenOura/Views/SettingsView.swift new file mode 100644 index 00000000..a8956cef --- /dev/null +++ b/ios/OpenOura/Views/SettingsView.swift @@ -0,0 +1,81 @@ +import SwiftUI + +struct SettingsView: View { + @EnvironmentObject var ring: OuraRing + @State private var keyHex: String = KeyStore.loadHex() ?? "" + @State private var saveMsg: String = "" + + var body: some View { + NavigationStack { + Form { + Section("Connection") { + HStack { + Text("Status"); Spacer() + Text(ring.status).foregroundColor(.secondary) + } + let inProgress = [ConnState.scanning, .connecting, .authenticating].contains(ring.state) + Button { + ring.showConnectGuide = true + } label: { + Label("Connection guide", systemImage: "wave.3.right.circle") + } + if ring.state == .ready { + Button("Disconnect", role: .destructive) { ring.disconnect() } + } else { + let paired = KeyStore.keyBytes() != nil + if paired { + Button(inProgress ? "Connecting…" : "Connect") { + Task { await ring.authenticateAndLoad() } + } + .disabled(inProgress) + } else { + Button(inProgress ? "Pairing…" : "Pair ring") { + Task { await ring.pairNewRing() } + } + .disabled(inProgress) + Text("Generates a key and installs it on the ring — like the Oura app's setup. The ring must be factory-reset.") + .font(.footnote).foregroundColor(.secondary) + } + } + } + + Section("Advanced — import existing key") { + Text("Already paired this ring elsewhere (e.g. the CLI's `oura pair`)? Paste that 16-byte key (32 hex chars) instead of re-pairing.") + .font(.footnote).foregroundColor(.secondary) + TextField("e.g. 4431967d8bacc2659743142b68391d9a", text: $keyHex) + .font(.system(.footnote, design: .monospaced)) + .textInputAutocapitalization(.never) + .autocorrectionDisabled() + Button("Import key") { + if KeyStore.dataFromHex(keyHex) != nil, KeyStore.saveHex(keyHex) { + saveMsg = "Saved ✓ — tap Connect" + } else { + saveMsg = "Invalid — need exactly 32 hex chars" + } + } + if !saveMsg.isEmpty { Text(saveMsg).font(.footnote).foregroundColor(.secondary) } + } + + Section("Automatic") { + Toggle("Auto-reconnect", isOn: $ring.autoConnect) + Toggle("Auto-sync on connect", isOn: $ring.autoSync) + Text("Reconnects to your ring whenever it wakes (on the charger or worn) and pulls new history — no manual connecting.") + .font(.footnote).foregroundColor(.secondary) + } + + Section("Device") { + LabeledContent("Serial", value: ring.serial ?? "—") + LabeledContent("Hardware", value: ring.hardware ?? "—") + LabeledContent("Firmware", value: ring.firmware ?? "—") + LabeledContent("Battery", value: ring.batteryPercent.map { "\($0)%" } ?? "—") + } + + Section("About") { + Text("Open Oura — a cloud-free client that reads your ring directly over Bluetooth. HR, HRV, motion, temperature and on-device sleep stages, no Oura account.") + .font(.footnote).foregroundColor(.secondary) + } + } + .navigationTitle("Settings") + } + } +} diff --git a/ios/OpenOura/Views/SleepView.swift b/ios/OpenOura/Views/SleepView.swift new file mode 100644 index 00000000..0136ae11 --- /dev/null +++ b/ios/OpenOura/Views/SleepView.swift @@ -0,0 +1,73 @@ +import SwiftUI + +struct SleepView: View { + @EnvironmentObject var ring: OuraRing + + private let stageColor: [String: Color] = [ + "deep": .indigo, "rem": .purple, "light": .blue, "awake": .pink, + ] + + var body: some View { + NavigationStack { + ScrollView { + StatusBanner().padding(.top, 4) + VStack(spacing: 14) { + if ring.health.hypnogram.isEmpty { + MetricCard(title: "Hypnogram", accent: .indigo) { + Text("No sleep stages synced yet. Wear the ring overnight, then Sync history. (Stages are computed on the ring and arrive as events.)") + .font(.footnote).foregroundColor(.secondary) + } + } else { + MetricCard(title: "Hypnogram (\(ring.health.hypnogram.count) epochs)", accent: .indigo) { + HypnogramView(stages: ring.health.hypnogram, color: stageColor) + .frame(height: 120) + } + MetricCard(title: "Stage distribution", accent: .indigo) { + ForEach(ring.health.stageCounts, id: \.stage) { item in + let pct = Int(Double(item.count) / Double(max(ring.health.hypnogram.count, 1)) * 100) + HStack { + Circle().fill(stageColor[item.stage] ?? .gray).frame(width: 9, height: 9) + Text(item.stage.capitalized).font(.footnote) + Spacer() + Text("\(pct)%").font(.footnote).foregroundColor(.secondary) + } + } + } + } + + Button(action: { Task { await ring.syncHistory() } }) { + Text(ring.syncing ? "Syncing…" : "Sync history") + .frame(maxWidth: .infinity).padding(.vertical, 6) + } + .buttonStyle(.borderedProminent).tint(.indigo) + .disabled(ring.state != .ready || ring.syncing) + } + .padding() + } + .navigationTitle("Sleep") + } + } +} + +/// Renders the stage array as a stepped hypnogram (deep low, awake high). +struct HypnogramView: View { + let stages: [String] + let color: [String: Color] + private let level: [String: Int] = ["deep": 0, "light": 1, "rem": 2, "awake": 3] + + var body: some View { + GeometryReader { geo in + let n = max(stages.count, 1) + let w = geo.size.width / CGFloat(n) + let h = geo.size.height + ForEach(Array(stages.enumerated()), id: \.offset) { i, s in + let lvl = level[s] ?? 1 + let barH = h * CGFloat(lvl + 1) / 4.0 + Rectangle() + .fill(color[s] ?? .gray) + .frame(width: max(w, 1), height: barH) + .position(x: w * (CGFloat(i) + 0.5), y: h - barH / 2) + } + } + } +} diff --git a/ios/OpenOura/Views/TodayView.swift b/ios/OpenOura/Views/TodayView.swift new file mode 100644 index 00000000..68640d02 --- /dev/null +++ b/ios/OpenOura/Views/TodayView.swift @@ -0,0 +1,65 @@ +import SwiftUI + +struct TodayView: View { + @EnvironmentObject var ring: OuraRing + + var body: some View { + NavigationStack { + ScrollView { + StatusBanner().padding(.top, 4) + VStack(spacing: 14) { + HStack(spacing: 14) { + MetricCard(title: "Resting HR", accent: .pink) { + BigValue(value: ring.health.latestHR.map(String.init) ?? "--", unit: "bpm") + } + MetricCard(title: "HRV", accent: .purple) { + BigValue(value: ring.health.latestHRV.map(String.init) ?? "--", unit: "ms") + } + } + HStack(spacing: 14) { + MetricCard(title: "Skin temp", accent: .orange) { + BigValue(value: ring.health.latestTemp.map { String(format: "%.1f", $0) } ?? "--", unit: "°C") + } + MetricCard(title: "Battery", accent: .green) { + BigValue(value: ring.batteryPercent.map(String.init) ?? "--", unit: "%") + } + } + + if !ring.health.hr.isEmpty { + MetricCard(title: "Heart rate (synced)", accent: .pink) { + Sparkline(values: ring.health.hr.map(\.value), color: .pink).frame(height: 70) + } + } + if !ring.health.temp.isEmpty { + MetricCard(title: "Temperature (synced)", accent: .orange) { + Sparkline(values: ring.health.temp.map(\.value), color: .orange).frame(height: 60) + } + } + + MetricCard(title: "Device", accent: .gray) { + row("Serial", ring.serial ?? "—") + row("Hardware", ring.hardware ?? "—") + row("Firmware", ring.firmware ?? "—") + row("Synced events", "\(ring.health.totalEvents)") + } + + Button(action: { Task { await ring.syncHistory() } }) { + HStack { + if ring.syncing { ProgressView().tint(.white) } + Text(ring.syncing ? "Syncing…" : "Sync history") + }.frame(maxWidth: .infinity).padding(.vertical, 6) + } + .buttonStyle(.borderedProminent).tint(.pink) + .disabled(ring.state != .ready || ring.syncing) + } + .padding() + } + .navigationTitle("Today") + } + } + + private func row(_ k: String, _ v: String) -> some View { + HStack { Text(k).foregroundColor(.secondary); Spacer(); Text(v) } + .font(.footnote) + } +} diff --git a/ios/OuraFFI/include/module.modulemap b/ios/OuraFFI/include/module.modulemap new file mode 100644 index 00000000..cb53f36c --- /dev/null +++ b/ios/OuraFFI/include/module.modulemap @@ -0,0 +1,4 @@ +module OuraFFI { + header "ouraffi.h" + export * +} diff --git a/ios/OuraFFI/include/ouraffi.h b/ios/OuraFFI/include/ouraffi.h new file mode 100644 index 00000000..39de76ae --- /dev/null +++ b/ios/OuraFFI/include/ouraffi.h @@ -0,0 +1,22 @@ +#ifndef OURA_FFI_H +#define OURA_FFI_H + +#include +#include + +/* Encrypt a ring auth nonce (AES-128/ECB/PKCS7) into `out` (16 bytes). + * `key` must be 16 bytes; `nonce` typically 15. Returns 0 on success. */ +int32_t oura_encrypt_nonce(const uint8_t *key, size_t key_len, + const uint8_t *nonce, size_t nonce_len, + uint8_t *out); + +/* Decode an event body to a JSON string (or NULL). Free with oura_string_free. */ +char *oura_decode_event(uint8_t tag, const uint8_t *body, size_t body_len); + +/* Event name for a tag (owned string). Free with oura_string_free. */ +char *oura_event_name(uint8_t tag); + +/* Release a string returned by this library. */ +void oura_string_free(char *ptr); + +#endif /* OURA_FFI_H */ diff --git a/ios/README.md b/ios/README.md new file mode 100644 index 00000000..e926696d --- /dev/null +++ b/ios/README.md @@ -0,0 +1,79 @@ +# Open Oura — native iOS app + +A native SwiftUI app that talks to the Oura ring directly over Bluetooth (no Oura +cloud), reusing the project's Rust protocol core. Tabs: **Today** (resting HR / HRV +/ temp / battery + history), **Live** (real-time HR / HRV / motion), **Sleep** +(on-device hypnogram + stage distribution), **Settings** (key + connection). + +## Architecture + +``` +SwiftUI views ──► OuraRing (CoreBluetooth + protocol orchestration, Swift) + │ request/response, auth, live drain (OuraProtocol.swift) + ▼ + OuraFFI.xcframework ──► crates/oura-ffi (Rust staticlib) + (C ABI: AES auth + event decoders) reuses oura-protocol +``` + +The genuinely hard, byte-level parts — AES-128/ECB/PKCS7 auth and the event-body +decoders — are the tested Rust from `crates/oura-protocol`, exposed over a tiny C +ABI (`crates/oura-ffi`). BLE transport, packet framing, request builders, and the +connect/sync/live orchestration are native Swift. Nothing async crosses the FFI +boundary. + +## Build the Rust core (run after any Rust change) + +```bash +./ios/build-rust.sh # builds OuraFFI.xcframework (device + simulator) +``` + +## Generate & open the Xcode project + +```bash +brew install xcodegen # one-time +cd ios && xcodegen generate +open OpenOura.xcodeproj +``` + +Set `DEVELOPMENT_TEAM` in `project.yml` to your Apple Developer Team ID (Xcode → +Settings → Accounts → your team). A free "Personal Team" works for development; a +paid team avoids the 7-day app expiry. Find your id with: +`security find-identity -v -p codesigning` or in Xcode's Signing settings. + +## Run on a device + +The iOS Simulator has **no Bluetooth**, so the ring features only work on a real +device. Build/install from the CLI: + +```bash +xcodebuild -project ios/OpenOura.xcodeproj -scheme OpenOura \ + -destination 'id=' -allowProvisioningUpdates \ + build +``` + +…or just press ⌘R in Xcode with your iPhone selected. + +## First use + +The app shows a **connection guide** on launch (`ConnectGuideView`) — reopen it any +time by tapping the status banner or Settings → "Connection guide". + +1. Pair once (either path): + - **In-app:** factory-reset the ring, then **Pair ring** (generates + installs a + key, stores it in the Keychain) — the real-app flow. + - **Import:** if already paired via the CLI (`oura pair`), Settings → "Import + existing key", paste `cat key.hex`. +2. **Put the ring on its charging pad, next to the phone**, then **Connect**. +3. Use **Live** (wear the ring) / **Sync history**. + +### Connecting gotchas (learned the hard way) + +- **The ring must be awake to connect.** Off the charger and not worn, it drops into + deep-sleep advertising, so iOS sees a stray advert ("discovered") but `connect()` + hangs with no `didConnect`. **On the charging pad (or worn) it's actively + connectable.** This is the #1 cause of "connect doesn't work". +- **One central at a time.** If this Mac has the ring bonded, macOS auto-reconnects + it the moment it advertises, stealing the slot from the phone. For phone testing, + turn the Mac's Bluetooth off (`blueutil -p 0`) or "Forget" the ring on the Mac. + Re-enable with `blueutil -p 1` to use the CLI again. +- Quit the CLI `live`/`viz` before connecting from the phone, and vice-versa. diff --git a/ios/build-rust.sh b/ios/build-rust.sh new file mode 100755 index 00000000..83ebc2ee --- /dev/null +++ b/ios/build-rust.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# Build the Rust core (oura-ffi) for iOS device + simulator and package it as an +# XCFramework that the Xcode project links. Re-run after changing any Rust code. +set -euo pipefail + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +cd "$ROOT" + +DEVICE_TARGET="aarch64-apple-ios" +SIM_TARGET="aarch64-apple-ios-sim" # Apple-Silicon simulator +LIB="libouraffi.a" +HEADERS="$ROOT/ios/OuraFFI/include" +OUT="$ROOT/ios/OuraFFI/OuraFFI.xcframework" + +echo "▸ building Rust core for $DEVICE_TARGET and $SIM_TARGET ..." +cargo build --release -p oura-ffi --target "$DEVICE_TARGET" +cargo build --release -p oura-ffi --target "$SIM_TARGET" + +rm -rf "$OUT" +echo "▸ creating XCFramework ..." +xcodebuild -create-xcframework \ + -library "$ROOT/target/$DEVICE_TARGET/release/$LIB" -headers "$HEADERS" \ + -library "$ROOT/target/$SIM_TARGET/release/$LIB" -headers "$HEADERS" \ + -output "$OUT" + +echo "✓ $OUT" diff --git a/ios/project.yml b/ios/project.yml new file mode 100644 index 00000000..284afdd8 --- /dev/null +++ b/ios/project.yml @@ -0,0 +1,32 @@ +name: OpenOura +options: + bundleIdPrefix: com.openoura + deploymentTarget: + iOS: "16.0" + createIntermediateGroups: true + +settings: + base: + MARKETING_VERSION: "0.1.0" + CURRENT_PROJECT_VERSION: "1" + SWIFT_VERSION: "5.0" + DEVELOPMENT_TEAM: "" # set to your Apple Developer Team ID (a free Personal Team works) + CODE_SIGN_STYLE: Automatic + +targets: + OpenOura: + type: application + platform: iOS + sources: + - path: OpenOura + dependencies: + - framework: OuraFFI/OuraFFI.xcframework + embed: false # static library — linked, not embedded + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: com.openoura.app + INFOPLIST_FILE: OpenOura/Info.plist + GENERATE_INFOPLIST_FILE: NO + TARGETED_DEVICE_FAMILY: "1" + ENABLE_USER_SCRIPT_SANDBOXING: NO + OTHER_LDFLAGS: ["-lc++"] From 045964554f38945401c76100d1a296a7adb312cf Mon Sep 17 00:00:00 2001 From: martinappberg Date: Thu, 25 Jun 2026 12:47:33 -0700 Subject: [PATCH 02/15] iOS: reconnect silently when a key exists; only show the guide for unpaired rings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The connect guide was popping up on launch even with a stored key, because auto-reconnect required a saved peripheral id (only written by a prior connect). Now: if a key exists we always reconnect silently — pending-connect to the known peripheral if we have its id, otherwise a quiet background scan (no timeout, no modal, no failure alert) that saves the id on first connect. The onboarding guide appears only when there is no key. Co-Authored-By: Claude Opus 4.8 (1M context) --- ios/OpenOura/BLE/OuraRing.swift | 49 ++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 49874801..93e6a1d4 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -52,13 +52,11 @@ final class OuraRing: NSObject, ObservableObject { didSet { UserDefaults.standard.set(autoSync, forKey: "autoSync") } } - /// True once we've connected before (a known peripheral id is stored), so the - /// app can silently reconnect on launch instead of showing the guide. - var canAutoReconnect: Bool { - autoConnect && KeyStore.keyBytes() != nil - && UserDefaults.standard.string(forKey: "ringPeripheralID") != nil - } + /// Whether we can silently reconnect on launch (we have a key) — only a ring + /// with no key stored needs the onboarding guide. + var canAutoReconnect: Bool { autoConnect && KeyStore.keyBytes() != nil } private var wantsAutoReconnect = false + private var autoScanning = false private var userDisconnecting = false private let bleQueue = DispatchQueue(label: "com.openoura.ble") @@ -158,7 +156,7 @@ final class OuraRing: NSObject, ObservableObject { private func failConnect(_ short: String, _ status: String) { bleQueue.async { self.dbg("connect failed: \(short)") - self.connecting = false; self.pendingConnect = false + self.connecting = false; self.pendingConnect = false; self.autoScanning = false self.scanTimer?.cancel(); self.connectTimer?.cancel() self.central.stopScan() if let p = self.peripheral { self.central.cancelPeripheralConnection(p) } @@ -410,18 +408,25 @@ final class OuraRing: NSObject, ObservableObject { private func startAutoReconnectIfReady() { guard wantsAutoReconnect, autoConnect, !connecting, writeChar == nil, - central.state == .poweredOn, - KeyStore.keyBytes() != nil, - let idStr = UserDefaults.standard.string(forKey: "ringPeripheralID"), - let uuid = UUID(uuidString: idStr), - let p = central.retrievePeripherals(withIdentifiers: [uuid]).first + central.state == .poweredOn, KeyStore.keyBytes() != nil else { return } connecting = true - peripheral = p - p.delegate = self - dbg("auto-reconnect: pending connect (connects when the ring wakes)") publish { if self.state != .ready { self.state = .connecting }; self.status = "Waiting for ring…" } - central.connect(p) // no timeout: iOS connects when the peripheral appears + if let idStr = UserDefaults.standard.string(forKey: "ringPeripheralID"), + let uuid = UUID(uuidString: idStr), + let p = central.retrievePeripherals(withIdentifiers: [uuid]).first { + // Known ring: pending connect, no timeout — completes when it wakes. + peripheral = p + p.delegate = self + dbg("auto-reconnect: pending connect to known ring") + central.connect(p) + } else { + // First reconnect on this install: scan silently (no timeout, no modal, + // no failure alert). When the ring advertises we connect + save its id. + autoScanning = true + dbg("auto-reconnect: scanning silently (no known ring id yet)") + central.scanForPeripherals(withServices: [OuraGATT.service]) + } } func readDeviceInfo() async { @@ -605,10 +610,16 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { scanTimer?.cancel() self.peripheral = peripheral peripheral.delegate = self - publish { self.state = .connecting; self.status = "Connecting…" } + publish { if self.state != .ready { self.state = .connecting }; self.status = "Connecting…" } central.connect(peripheral) - // CoreBluetooth connect() has no timeout of its own — bound it so a ring - // held by another central (e.g. a paired Mac) can't hang us forever. + if autoScanning { + // Silent background reconnect — no timeout, no failure alert. + autoScanning = false + dbg("auto-reconnect: connecting (no timeout)") + return + } + // Manual scan path: CoreBluetooth connect() has no timeout of its own — bound + // it so a ring held by another central (e.g. a paired Mac) can't hang us. connectTimer?.cancel() let t = DispatchSource.makeTimerSource(queue: bleQueue) t.schedule(deadline: .now() + 30) From f1581d4c57c38aded2f131a87c510c44dc46f242 Mon Sep 17 00:00:00 2001 From: martinappberg Date: Thu, 25 Jun 2026 12:59:23 -0700 Subject: [PATCH 03/15] =?UTF-8?q?iOS:=20production=20UI=20pass=20=E2=80=94?= =?UTF-8?q?=20branding,=20cached=20history,=20factory=20reset?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Branding: gapped-gradient "ring + heartbeat" logo as an SVG (assets/), an app icon rendered from it (ios/tools/render-icon.swift → Assets.xcassets), and a matching SwiftUI RingLogo used in headers/guide. Shared Brand palette. - Redesign all tabs (Today/Live/Sleep/Settings) with a cohesive dark Oura-style design system: circular ScoreRing gauges, metric tiles with sparklines, a polished hypnogram + stage distribution, status banner, app header. - Cached history: persist synced events to disk (HealthStore) and load on launch, so real data shows immediately; the displayed model is only swapped in when a sync *completes* (never mid-sync) + a "last synced" timestamp. - Factory reset: SetAuthKey's counterpart (0x1a) with a destructive confirmation in Settings → clears the local key/peripheral/history and returns to pairing. Co-Authored-By: Claude Opus 4.8 (1M context) --- assets/open-oura-logo.svg | 20 +++ .../AppIcon.appiconset/Contents.json | 14 ++ .../AppIcon.appiconset/icon-1024.png | Bin 0 -> 783802 bytes ios/OpenOura/Assets.xcassets/Contents.json | 6 + ios/OpenOura/BLE/OuraProtocol.swift | 2 + ios/OpenOura/BLE/OuraRing.swift | 40 ++++- ios/OpenOura/Core/HealthStore.swift | 41 +++++ ios/OpenOura/Core/KeyStore.swift | 9 ++ ios/OpenOura/OpenOuraApp.swift | 1 + ios/OpenOura/Views/Components.swift | 152 +++++++++++++----- ios/OpenOura/Views/LiveView.swift | 86 +++++----- ios/OpenOura/Views/RingLogo.swift | 60 +++++++ ios/OpenOura/Views/RootView.swift | 60 +++++-- ios/OpenOura/Views/SettingsView.swift | 103 +++++++----- ios/OpenOura/Views/SleepView.swift | 99 ++++++++---- ios/OpenOura/Views/TodayView.swift | 113 +++++++------ ios/project.yml | 1 + ios/tools/render-icon.swift | 53 ++++++ 18 files changed, 634 insertions(+), 226 deletions(-) create mode 100644 assets/open-oura-logo.svg create mode 100644 ios/OpenOura/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/OpenOura/Assets.xcassets/AppIcon.appiconset/icon-1024.png create mode 100644 ios/OpenOura/Assets.xcassets/Contents.json create mode 100644 ios/OpenOura/Core/HealthStore.swift create mode 100644 ios/OpenOura/Views/RingLogo.swift create mode 100644 ios/tools/render-icon.swift diff --git a/assets/open-oura-logo.svg b/assets/open-oura-logo.svg new file mode 100644 index 00000000..0cd570a1 --- /dev/null +++ b/assets/open-oura-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ios/OpenOura/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/OpenOura/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..27a4f381 --- /dev/null +++ b/ios/OpenOura/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "icon-1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/OpenOura/Assets.xcassets/AppIcon.appiconset/icon-1024.png b/ios/OpenOura/Assets.xcassets/AppIcon.appiconset/icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..51015e93457765eaa7c887f84a904210d3773c59 GIT binary patch literal 783802 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

$yM&dN`xp3hi7v)VBsVNQ%W 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

Z>4(Zt+rvk4i*11Eq2ceW#jMcZ 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ǑTAeiia_w*+G? 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 Data { packet(0x2f, [0x2d] + [UInt8](enc)) } /// Install a 16-byte auth key (only valid on a factory-reset ring). static func setAuthKey(_ key: Data) -> Data { packet(0x24, [UInt8](key)) } + /// Factory-reset the ring (wipes its auth key + user data). Returns tag 0x1b. + static let factoryReset = Data([0x1a, 0x00]) static func capabilities(_ page: UInt8) -> Data { Data([0x2f, 0x02, 0x01, page]) } static func setNotification(_ flags: UInt8) -> Data { packet(0x1c, [flags]) } static func featureStatus(_ f: UInt8) -> Data { Data([0x2f, 0x02, 0x20, f]) } diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 93e6a1d4..035dd607 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -41,6 +41,7 @@ final class OuraRing: NSObject, ObservableObject { @Published var syncing = false @Published var events: [DecodedEvent] = [] @Published var health = HealthData() + @Published var lastSync: Date? = HealthStore.lastSync @Published var alert: String? // surfaced as a user-facing alert on failure @Published var showConnectGuide = false // drives the onboarding/connect sheet @@ -582,15 +583,50 @@ final class OuraRing: NSObject, ObservableObject { func syncHistory() async { guard state == .ready, !syncing else { return } - publish { self.syncing = true; self.status = "Syncing history…" } + publish { self.syncing = true } + // Drain into a scratch buffer; the displayed model is only swapped in once + // the sync *completes*, so the UI never shows a half-synced state. var collected: [DecodedEvent] = [] _ = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } let model = HealthData(events: collected) + HealthStore.save(collected) publish { self.events = collected self.health = model self.syncing = false - self.status = "Synced \(collected.count) events" + self.lastSync = HealthStore.lastSync + self.status = "Connected" + } + } + + /// Load the last synced history from disk so the UI has real data immediately. + func loadCachedHistory() { + let cached = HealthStore.load() + guard !cached.isEmpty else { return } + let model = HealthData(events: cached) + publish { self.events = cached; self.health = model } + } + + /// Factory-reset the ring (wipes its key + data) and clear all local state so + /// the user can pair fresh. Danger — gated behind a confirmation in the UI. + func factoryReset() async { + guard state == .ready else { return } + dbg("factory reset requested") + _ = await requestUntil(Req.factoryReset, tag: 0x1b, ext: nil, timeout: 2.0) + KeyStore.clear() + UserDefaults.standard.removeObject(forKey: "ringPeripheralID") + HealthStore.clear() + bleQueue.async { + self.userDisconnecting = true + self.wantsAutoReconnect = false + if let p = self.peripheral { self.central.cancelPeripheralConnection(p) } + } + publish { + self.state = .idle + self.status = "Ring factory-reset — pair again" + self.firmware = nil; self.serial = nil; self.hardware = nil + self.batteryPercent = nil; self.events = []; self.health = HealthData(); self.lastSync = nil + self.showConnectGuide = true } } } diff --git a/ios/OpenOura/Core/HealthStore.swift b/ios/OpenOura/Core/HealthStore.swift new file mode 100644 index 00000000..29fde3a1 --- /dev/null +++ b/ios/OpenOura/Core/HealthStore.swift @@ -0,0 +1,41 @@ +import Foundation + +/// On-disk cache of the last synced history, so the app shows real data instantly +/// on launch and only refreshes it when a new sync *completes* (never mid-sync). +enum HealthStore { + private struct StoredEvent: Codable { let tag: UInt8; let ts: UInt32; let json: String } + + private static let fileURL: URL = { + let dir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0] + try? FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true) + return dir.appendingPathComponent("oura_history.json") + }() + + static func save(_ events: [DecodedEvent]) { + let stored = events.map { StoredEvent(tag: $0.tag, ts: $0.timestamp, json: jsonString($0.json)) } + if let data = try? JSONEncoder().encode(stored) { try? data.write(to: fileURL) } + UserDefaults.standard.set(Date(), forKey: "lastSyncDate") + } + + static func load() -> [DecodedEvent] { + guard let data = try? Data(contentsOf: fileURL), + let stored = try? JSONDecoder().decode([StoredEvent].self, from: data) else { return [] } + return stored.map { se in + let dict = (try? JSONSerialization.jsonObject(with: Data(se.json.utf8))) as? [String: Any] ?? [:] + return DecodedEvent(tag: se.tag, timestamp: se.ts, name: OuraCore.eventName(tag: se.tag), json: dict) + } + } + + static func clear() { + try? FileManager.default.removeItem(at: fileURL) + UserDefaults.standard.removeObject(forKey: "lastSyncDate") + } + + static var lastSync: Date? { UserDefaults.standard.object(forKey: "lastSyncDate") as? Date } + + private static func jsonString(_ d: [String: Any]) -> String { + guard let data = try? JSONSerialization.data(withJSONObject: d), + let s = String(data: data, encoding: .utf8) else { return "{}" } + return s + } +} diff --git a/ios/OpenOura/Core/KeyStore.swift b/ios/OpenOura/Core/KeyStore.swift index 40c6fb54..2f8e5315 100644 --- a/ios/OpenOura/Core/KeyStore.swift +++ b/ios/OpenOura/Core/KeyStore.swift @@ -21,6 +21,15 @@ enum KeyStore { return SecItemAdd(add as CFDictionary, nil) == errSecSuccess } + static func clear() { + let query: [String: Any] = [ + kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, + kSecAttrAccount as String: account, + ] + SecItemDelete(query as CFDictionary) + } + static func loadHex() -> String? { let query: [String: Any] = [ kSecClass as String: kSecClassGenericPassword, diff --git a/ios/OpenOura/OpenOuraApp.swift b/ios/OpenOura/OpenOuraApp.swift index 4a3b22e6..53029a87 100644 --- a/ios/OpenOura/OpenOuraApp.swift +++ b/ios/OpenOura/OpenOuraApp.swift @@ -10,6 +10,7 @@ struct OpenOuraApp: App { .environmentObject(ring) .preferredColorScheme(.dark) .task { + ring.loadCachedHistory() // show last-synced data immediately // Silently reconnect to a known ring on launch; otherwise guide. if ring.canAutoReconnect { ring.autoReconnect() } else { ring.showConnectGuide = true } diff --git a/ios/OpenOura/Views/Components.swift b/ios/OpenOura/Views/Components.swift index 095a9b21..cd7c54b0 100644 --- a/ios/OpenOura/Views/Components.swift +++ b/ios/OpenOura/Views/Components.swift @@ -1,6 +1,102 @@ import SwiftUI -/// A lightweight Path-based sparkline (no external charting dependency). +/// Rounded dark card container. +struct Card: View { + var padding: CGFloat = 16 + @ViewBuilder var content: Content + var body: some View { + content + .padding(padding) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Brand.card) + .clipShape(RoundedRectangle(cornerRadius: 20, style: .continuous)) + } +} + +/// App header: logo + title + last-synced subtitle. +struct AppHeader: View { + @EnvironmentObject var ring: OuraRing + let title: String + var body: some View { + HStack(spacing: 11) { + RingLogo().frame(width: 32, height: 32) + VStack(alignment: .leading, spacing: 1) { + Text(title).font(.title2.bold()) + Text(subtitle).font(.caption2).foregroundStyle(Brand.dim) + } + Spacer() + if ring.syncing { ProgressView().controlSize(.small) } + } + .padding(.horizontal, 18).padding(.top, 8) + } + private var subtitle: String { + if ring.syncing { return "Syncing…" } + if let d = ring.lastSync { return "Synced \(relativeTime(d))" } + return ring.state == .ready ? "Connected" : "Not synced yet" + } +} + +/// Circular gauge (Oura-style). Maps `value` within `range` to an arc. +struct ScoreRing: View { + let value: Double? + var range: ClosedRange = 40...120 + var color: Color + var caption: String + var unit: String + var pulse = false + @State private var animatePulse = false + + var body: some View { + let frac = value.map { min(max(($0 - range.lowerBound) / (range.upperBound - range.lowerBound), 0), 1) } ?? 0 + ZStack { + Circle().stroke(Brand.line, lineWidth: 16) + Circle() + .trim(from: 0, to: CGFloat(frac)) + .stroke(color.gradient, style: StrokeStyle(lineWidth: 16, lineCap: .round)) + .rotationEffect(.degrees(-90)) + .shadow(color: color.opacity(0.5), radius: 8) + .animation(.easeOut(duration: 0.6), value: frac) + VStack(spacing: 0) { + Text(value.map { String(Int($0.rounded())) } ?? "—") + .font(.system(size: 52, weight: .bold, design: .rounded)) + .contentTransition(.numericText()) + Text(unit).font(.footnote).foregroundStyle(Brand.dim) + Text(caption).font(.caption2.weight(.semibold)).foregroundStyle(color).padding(.top, 2) + } + .scaleEffect(pulse && animatePulse ? 1.04 : 1.0) + .animation(pulse ? .easeInOut(duration: 0.6).repeatForever(autoreverses: true) : nil, value: animatePulse) + } + .onAppear { animatePulse = pulse } + } +} + +/// Small metric tile with optional sparkline. +struct MetricTile: View { + let title: String + let value: String + var unit: String = "" + var accent: Color + var spark: [Double]? = nil + + var body: some View { + Card { + VStack(alignment: .leading, spacing: 6) { + Text(title.uppercased()).font(.caption2.weight(.semibold)).foregroundStyle(accent) + HStack(alignment: .firstTextBaseline, spacing: 3) { + Text(value).font(.system(size: 26, weight: .bold, design: .rounded)) + if !unit.isEmpty { Text(unit).font(.caption2).foregroundStyle(Brand.dim) } + } + if let spark, spark.count > 1 { + Sparkline(values: spark, color: accent).frame(height: 26) + } else { + Spacer().frame(height: 0) + } + } + } + } +} + +/// Lightweight Path-based sparkline (no external charting dependency). struct Sparkline: View { var values: [Double] var color: Color @@ -15,49 +111,25 @@ struct Sparkline: View { let hi = maxY ?? (vals.max() ?? 1) let range = Swift.max(hi - lo, 0.0001) let w = geo.size.width, h = geo.size.height - Path { p in - for (i, v) in vals.enumerated() { - let x = w * Double(i) / Double(vals.count - 1) - let y = h - (v - lo) / range * h - if i == 0 { p.move(to: CGPoint(x: x, y: y)) } - else { p.addLine(to: CGPoint(x: x, y: y)) } - } + let pts = vals.enumerated().map { i, v in + CGPoint(x: w * Double(i) / Double(vals.count - 1), y: h - (v - lo) / range * h) + } + ZStack { + Path { p in + p.move(to: CGPoint(x: 0, y: h)) + pts.forEach { p.addLine(to: $0) } + p.addLine(to: CGPoint(x: w, y: h)) + }.fill(LinearGradient(colors: [color.opacity(0.25), color.opacity(0)], startPoint: .top, endPoint: .bottom)) + Path { p in p.move(to: pts[0]); pts.dropFirst().forEach { p.addLine(to: $0) } } + .stroke(color, style: StrokeStyle(lineWidth: 2, lineJoin: .round)) } - .stroke(color, style: StrokeStyle(lineWidth: 2, lineJoin: .round)) - } else { - Rectangle().fill(Color.white.opacity(0.04)) } } } } -struct MetricCard: View { - let title: String - var accent: Color = .accentColor - @ViewBuilder var content: Content - - var body: some View { - VStack(alignment: .leading, spacing: 8) { - Text(title.uppercased()) - .font(.caption2.weight(.semibold)) - .foregroundColor(accent) - content - } - .padding(14) - .frame(maxWidth: .infinity, alignment: .leading) - .background(Color(white: 0.10)) - .clipShape(RoundedRectangle(cornerRadius: 14)) - } -} - -/// Big value + unit, e.g. "72 bpm". -struct BigValue: View { - let value: String - var unit: String = "" - var body: some View { - HStack(alignment: .firstTextBaseline, spacing: 4) { - Text(value).font(.system(size: 38, weight: .bold, design: .rounded)) - if !unit.isEmpty { Text(unit).font(.subheadline).foregroundColor(.secondary) } - } - } +func relativeTime(_ d: Date) -> String { + let f = RelativeDateTimeFormatter() + f.unitsStyle = .abbreviated + return f.localizedString(for: d, relativeTo: Date()) } diff --git a/ios/OpenOura/Views/LiveView.swift b/ios/OpenOura/Views/LiveView.swift index 76368087..7139132f 100644 --- a/ios/OpenOura/Views/LiveView.swift +++ b/ios/OpenOura/Views/LiveView.swift @@ -4,55 +4,55 @@ struct LiveView: View { @EnvironmentObject var ring: OuraRing var body: some View { - NavigationStack { - ScrollView { - StatusBanner().padding(.top, 4) + TabScaffold(title: "Live") { + Card { VStack(spacing: 14) { - MetricCard(title: "Heart rate", accent: .pink) { - HStack(alignment: .firstTextBaseline) { - BigValue(value: ring.liveHR.map(String.init) ?? "--", unit: "bpm") - Spacer() - VStack(alignment: .trailing) { - Text("HRV \(ring.liveHRV.map(String.init) ?? "--") ms") - .font(.caption).foregroundColor(.secondary) - } - } - Sparkline(values: ring.hrSeries, color: .pink).frame(height: 70) - } - - MetricCard(title: "Motion", accent: .blue) { - HStack(alignment: .firstTextBaseline) { - BigValue(value: ring.motionG.map { String(format: "%.2f", $0) } ?? "--", unit: "g") - Spacer() - Text("restless \(ring.restlessness.map(String.init) ?? "0")%") - .font(.caption).foregroundColor(.secondary) - } - Sparkline(values: ring.motionSeries, color: .blue, minY: 0, maxY: 3).frame(height: 70) - } - - MetricCard(title: "HRV trend (RMSSD)", accent: .purple) { - Sparkline(values: ring.hrvSeries, color: .purple).frame(height: 60) + ScoreRing(value: ring.liveHR.map(Double.init), range: 40...140, color: Brand.hr, + caption: ring.liveActive ? "LIVE" : "HEART RATE", unit: "bpm", + pulse: ring.liveActive) + .frame(width: 190, height: 190) + .padding(.top, 6) + if ring.liveActive && ring.liveHR == nil { + Text("Measuring… keep the ring snug and still") + .font(.caption).foregroundStyle(Brand.dim) } + } + } + .padding(.horizontal, 16) - Button(action: toggle) { - Text(ring.liveActive ? "Stop live" : "Start live") - .frame(maxWidth: .infinity).padding(.vertical, 6) - } - .buttonStyle(.borderedProminent) - .tint(ring.liveActive ? .gray : .pink) - .disabled(ring.state != .ready) + HStack(spacing: 12) { + MetricTile(title: "HRV (RMSSD)", value: ring.liveHRV.map { "\($0)" } ?? "—", + unit: "ms", accent: Brand.hrv, spark: ring.hrvSeries.suffix(60)) + MetricTile(title: "Motion", value: ring.motionG.map { String(format: "%.2f", $0) } ?? "—", + unit: "g", accent: Brand.motion, spark: ring.motionSeries.suffix(80)) + } + .padding(.horizontal, 16) - Text("Forces the green-LED measurement and streams motion. Give it ~10–20 s on your finger to lock the first beat.") - .font(.caption2).foregroundColor(.secondary) - .multilineTextAlignment(.center).padding(.horizontal) + Card { + VStack(alignment: .leading, spacing: 8) { + Text("HEART RATE").font(.caption2.weight(.semibold)).foregroundStyle(Brand.hr) + Sparkline(values: ring.hrSeries, color: Brand.hr).frame(height: 90) + HStack { + Label("\(ring.restlessness ?? 0)% restless", systemImage: "figure.walk.motion") + Spacer() + if let g = ring.motionG { Text("|a| \(String(format: "%.2f", g)) g") } + }.font(.caption2).foregroundStyle(Brand.dim) } - .padding() } - .navigationTitle("Live") - } - } + .padding(.horizontal, 16) - private func toggle() { - if ring.liveActive { ring.stopLive() } else { ring.startLive() } + Button(action: { ring.liveActive ? ring.stopLive() : ring.startLive() }) { + Label(ring.liveActive ? "Stop live" : "Start live", + systemImage: ring.liveActive ? "stop.fill" : "play.fill") + .frame(maxWidth: .infinity).padding(.vertical, 8) + } + .buttonStyle(.borderedProminent).tint(ring.liveActive ? Brand.dim : Brand.hr) + .disabled(ring.state != .ready) + .padding(.horizontal, 16) + + Text("Live mode forces the green-LED measurement and streams motion. Heart rate arrives in bursts every few seconds; wear the ring snugly.") + .font(.caption2).foregroundStyle(Brand.dim) + .multilineTextAlignment(.center).padding(.horizontal, 28) + } } } diff --git a/ios/OpenOura/Views/RingLogo.swift b/ios/OpenOura/Views/RingLogo.swift new file mode 100644 index 00000000..65096c58 --- /dev/null +++ b/ios/OpenOura/Views/RingLogo.swift @@ -0,0 +1,60 @@ +import SwiftUI + +/// The Open Oura mark — a gapped gradient ring — drawn as a scalable vector so it +/// matches the app icon. Used in headers and the connect guide. +struct RingLogo: View { + var lineWidth: CGFloat = 0.16 // as a fraction of the frame + var animated = false + @State private var spin = false + + private let grad = AngularGradient( + colors: [Color(hex: 0xf38ba8), Color(hex: 0xcba6f7), Color(hex: 0x94e2d5), Color(hex: 0xf38ba8)], + center: .center) + + var body: some View { + GeometryReader { geo in + let s = min(geo.size.width, geo.size.height) + ZStack { + Circle() + .trim(from: 0.06, to: 0.94) // the "open" gap + .stroke(grad, style: StrokeStyle(lineWidth: s * lineWidth, lineCap: .round)) + .rotationEffect(.degrees(-90 + 22)) + .rotationEffect(.degrees(animated && spin ? 360 : 0)) + .animation(animated ? .linear(duration: 6).repeatForever(autoreverses: false) : nil, value: spin) + } + .frame(width: s, height: s) + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + .onAppear { if animated { spin = true } } + } +} + +extension Color { + init(hex: UInt32) { + self.init(.sRGB, + red: Double((hex >> 16) & 0xff) / 255, + green: Double((hex >> 8) & 0xff) / 255, + blue: Double(hex & 0xff) / 255, + opacity: 1) + } +} + +/// Brand palette (Catppuccin-ish, matching the dashboard + icon). +enum Brand { + static let bg = Color(hex: 0x0b0d12) + static let card = Color(hex: 0x12151d) + static let card2 = Color(hex: 0x171b25) + static let line = Color(hex: 0x262b38) + static let text = Color(hex: 0xcdd6f4) + static let dim = Color(hex: 0x8b91a5) + static let hr = Color(hex: 0xf38ba8) + static let hrv = Color(hex: 0xcba6f7) + static let motion = Color(hex: 0x89b4fa) + static let spo2 = Color(hex: 0x94e2d5) + static let temp = Color(hex: 0xfab387) + static let battery = Color(hex: 0xa6e3a1) + static let sleepDeep = Color(hex: 0x6c7086) + static let sleepLight = Color(hex: 0x89b4fa) + static let sleepRem = Color(hex: 0xcba6f7) + static let sleepAwake = Color(hex: 0xf38ba8) +} diff --git a/ios/OpenOura/Views/RootView.swift b/ios/OpenOura/Views/RootView.swift index 1c6c8488..7c504e33 100644 --- a/ios/OpenOura/Views/RootView.swift +++ b/ios/OpenOura/Views/RootView.swift @@ -10,41 +10,67 @@ struct RootView: View { SleepView().tabItem { Label("Sleep", systemImage: "bed.double.fill") } SettingsView().tabItem { Label("Settings", systemImage: "gearshape.fill") } } - .tint(.pink) + .tint(Brand.hr) .sheet(isPresented: $ring.showConnectGuide) { - ConnectGuideView() - .presentationDetents([.large]) + ConnectGuideView().presentationDetents([.large]) } } } -/// Small connection state banner reused across tabs. Tap to (re)open the guide. +/// Connection state banner reused across tabs. Tap to (re)open the guide. struct StatusBanner: View { @EnvironmentObject var ring: OuraRing var body: some View { Button { ring.showConnectGuide = true } label: { - HStack(spacing: 8) { - Circle().fill(color).frame(width: 9, height: 9) - Text(ring.status).font(.footnote).foregroundColor(.secondary) + HStack(spacing: 9) { + Circle().fill(color).frame(width: 8, height: 8) + Text(ring.status).font(.footnote).foregroundStyle(Brand.dim) Spacer() if let b = ring.batteryPercent { - Image(systemName: ring.charging ? "battery.100.bolt" : "battery.50") - Text("\(b)%").font(.footnote) + Image(systemName: ring.charging ? "battery.100.bolt" : batteryIcon(b)) + .foregroundStyle(ring.charging ? Brand.battery : Brand.dim) + Text("\(b)%").font(.footnote).foregroundStyle(Brand.dim) } else if ring.state != .ready { - Text("Connect").font(.footnote.weight(.semibold)).foregroundColor(.pink) + Text("Connect").font(.footnote.weight(.semibold)).foregroundStyle(Brand.hr) + Image(systemName: "chevron.right").font(.caption2).foregroundStyle(Brand.hr) } } - .padding(.horizontal) - .contentShape(Rectangle()) + .padding(.horizontal, 14).padding(.vertical, 10) + .background(Brand.card2) + .clipShape(Capsule()) + .contentShape(Capsule()) } .buttonStyle(.plain) + .padding(.horizontal, 18) } - var color: Color { + private var color: Color { switch ring.state { - case .ready: return .green - case .failed: return .red - case .idle: return .gray - default: return .yellow + case .ready: return Brand.battery + case .failed: return Brand.hr + case .idle: return Brand.dim + default: return Brand.temp + } + } + private func batteryIcon(_ p: Int) -> String { + p > 75 ? "battery.100" : p > 40 ? "battery.50" : "battery.25" + } +} + +/// Standard scrollable tab scaffold: dark background, header, status banner. +struct TabScaffold: View { + let title: String + @ViewBuilder var content: Content + var body: some View { + ZStack { + Brand.bg.ignoresSafeArea() + ScrollView { + VStack(spacing: 14) { + AppHeader(title: title) + StatusBanner() + content + } + .padding(.bottom, 30) + } } } } diff --git a/ios/OpenOura/Views/SettingsView.swift b/ios/OpenOura/Views/SettingsView.swift index a8956cef..39719754 100644 --- a/ios/OpenOura/Views/SettingsView.swift +++ b/ios/OpenOura/Views/SettingsView.swift @@ -4,63 +4,47 @@ struct SettingsView: View { @EnvironmentObject var ring: OuraRing @State private var keyHex: String = KeyStore.loadHex() ?? "" @State private var saveMsg: String = "" + @State private var showResetConfirm = false + + private var inProgress: Bool { + [ConnState.scanning, .connecting, .authenticating].contains(ring.state) + } var body: some View { NavigationStack { Form { - Section("Connection") { - HStack { - Text("Status"); Spacer() - Text(ring.status).foregroundColor(.secondary) + Section { + HStack(spacing: 12) { + RingLogo().frame(width: 40, height: 40) + VStack(alignment: .leading, spacing: 1) { + Text("Open Oura").font(.headline) + Text(ring.status).font(.caption).foregroundStyle(Brand.dim) + } } - let inProgress = [ConnState.scanning, .connecting, .authenticating].contains(ring.state) + } + .listRowBackground(Color.clear) + + Section("Connection") { Button { ring.showConnectGuide = true - } label: { - Label("Connection guide", systemImage: "wave.3.right.circle") - } + } label: { Label("Connection guide", systemImage: "wave.3.right.circle") } + if ring.state == .ready { Button("Disconnect", role: .destructive) { ring.disconnect() } - } else { - let paired = KeyStore.keyBytes() != nil - if paired { - Button(inProgress ? "Connecting…" : "Connect") { - Task { await ring.authenticateAndLoad() } - } + } else if KeyStore.keyBytes() != nil { + Button(inProgress ? "Connecting…" : "Connect") { Task { await ring.authenticateAndLoad() } } .disabled(inProgress) - } else { - Button(inProgress ? "Pairing…" : "Pair ring") { - Task { await ring.pairNewRing() } - } + } else { + Button(inProgress ? "Pairing…" : "Pair ring") { Task { await ring.pairNewRing() } } .disabled(inProgress) - Text("Generates a key and installs it on the ring — like the Oura app's setup. The ring must be factory-reset.") - .font(.footnote).foregroundColor(.secondary) - } } } - Section("Advanced — import existing key") { - Text("Already paired this ring elsewhere (e.g. the CLI's `oura pair`)? Paste that 16-byte key (32 hex chars) instead of re-pairing.") - .font(.footnote).foregroundColor(.secondary) - TextField("e.g. 4431967d8bacc2659743142b68391d9a", text: $keyHex) - .font(.system(.footnote, design: .monospaced)) - .textInputAutocapitalization(.never) - .autocorrectionDisabled() - Button("Import key") { - if KeyStore.dataFromHex(keyHex) != nil, KeyStore.saveHex(keyHex) { - saveMsg = "Saved ✓ — tap Connect" - } else { - saveMsg = "Invalid — need exactly 32 hex chars" - } - } - if !saveMsg.isEmpty { Text(saveMsg).font(.footnote).foregroundColor(.secondary) } - } - Section("Automatic") { Toggle("Auto-reconnect", isOn: $ring.autoConnect) Toggle("Auto-sync on connect", isOn: $ring.autoSync) - Text("Reconnects to your ring whenever it wakes (on the charger or worn) and pulls new history — no manual connecting.") - .font(.footnote).foregroundColor(.secondary) + Text("Reconnects whenever the ring wakes (charger or worn) and pulls new history — no manual connecting.") + .font(.footnote).foregroundStyle(Brand.dim) } Section("Device") { @@ -68,14 +52,47 @@ struct SettingsView: View { LabeledContent("Hardware", value: ring.hardware ?? "—") LabeledContent("Firmware", value: ring.firmware ?? "—") LabeledContent("Battery", value: ring.batteryPercent.map { "\($0)%" } ?? "—") + if let d = ring.lastSync { LabeledContent("Last sync", value: relativeTime(d)) } + } + + Section("Advanced — import existing key") { + Text("Already paired this ring elsewhere (e.g. the CLI's `oura pair`)? Paste that 16-byte key (32 hex chars).") + .font(.footnote).foregroundStyle(Brand.dim) + TextField("e.g. 4431967d8bacc2659743142b68391d9a", text: $keyHex) + .font(.system(.footnote, design: .monospaced)) + .textInputAutocapitalization(.never).autocorrectionDisabled() + Button("Import key") { + if KeyStore.dataFromHex(keyHex) != nil, KeyStore.saveHex(keyHex) { + saveMsg = "Saved ✓ — tap Connect" + } else { saveMsg = "Invalid — need exactly 32 hex chars" } + } + if !saveMsg.isEmpty { Text(saveMsg).font(.footnote).foregroundStyle(Brand.dim) } } - Section("About") { - Text("Open Oura — a cloud-free client that reads your ring directly over Bluetooth. HR, HRV, motion, temperature and on-device sleep stages, no Oura account.") - .font(.footnote).foregroundColor(.secondary) + Section("Danger zone") { + Button(role: .destructive) { + showResetConfirm = true + } label: { Label("Factory-reset ring", systemImage: "exclamationmark.triangle.fill") } + .disabled(ring.state != .ready) + Text("Wipes the ring's auth key and on-device data so you can pair fresh. You'll set a new key by pairing again.") + .font(.footnote).foregroundStyle(Brand.dim) } + + Section { + Text("A cloud-free client that reads your Oura ring directly over Bluetooth — heart rate, HRV, motion, temperature, and on-device sleep stages, with no Oura account.") + .font(.footnote).foregroundStyle(Brand.dim) + } header: { Text("About") } } + .scrollContentBackground(.hidden) + .background(Brand.bg.ignoresSafeArea()) .navigationTitle("Settings") + .confirmationDialog("Factory-reset the ring?", isPresented: $showResetConfirm, titleVisibility: .visible) { + Button("Factory reset", role: .destructive) { Task { await ring.factoryReset() } } + Button("Cancel", role: .cancel) {} + } message: { + Text("This wipes the ring's auth key and data. The ring will need to be paired again.") + } + .onChange(of: ring.state) { _ in keyHex = KeyStore.loadHex() ?? "" } } } } diff --git a/ios/OpenOura/Views/SleepView.swift b/ios/OpenOura/Views/SleepView.swift index 0136ae11..3de988fc 100644 --- a/ios/OpenOura/Views/SleepView.swift +++ b/ios/OpenOura/Views/SleepView.swift @@ -3,56 +3,89 @@ import SwiftUI struct SleepView: View { @EnvironmentObject var ring: OuraRing - private let stageColor: [String: Color] = [ - "deep": .indigo, "rem": .purple, "light": .blue, "awake": .pink, - ] + private func stageColor(_ s: String) -> Color { + switch s { + case "deep": return Brand.sleepDeep + case "light": return Brand.sleepLight + case "rem": return Brand.sleepRem + default: return Brand.sleepAwake + } + } var body: some View { - NavigationStack { - ScrollView { - StatusBanner().padding(.top, 4) - VStack(spacing: 14) { - if ring.health.hypnogram.isEmpty { - MetricCard(title: "Hypnogram", accent: .indigo) { - Text("No sleep stages synced yet. Wear the ring overnight, then Sync history. (Stages are computed on the ring and arrive as events.)") - .font(.footnote).foregroundColor(.secondary) + TabScaffold(title: "Sleep") { + if ring.health.hypnogram.isEmpty { + Card { + VStack(alignment: .leading, spacing: 8) { + Label("No sleep stages yet", systemImage: "moon.zzz.fill").font(.headline) + Text("Wear the ring overnight, then Sync. Sleep stages are computed on the ring and arrive as history events — no Oura cloud needed.") + .font(.footnote).foregroundStyle(Brand.dim) + } + } + .padding(.horizontal, 16) + } else { + Card { + VStack(alignment: .leading, spacing: 12) { + HStack { + Text("HYPNOGRAM").font(.caption2.weight(.semibold)).foregroundStyle(Brand.sleepRem) + Spacer() + Text("\(ring.health.hypnogram.count) epochs").font(.caption2).foregroundStyle(Brand.dim) } - } else { - MetricCard(title: "Hypnogram (\(ring.health.hypnogram.count) epochs)", accent: .indigo) { - HypnogramView(stages: ring.health.hypnogram, color: stageColor) - .frame(height: 120) + HypnogramView(stages: ring.health.hypnogram, color: stageColor) + .frame(height: 130) + HStack(spacing: 14) { + ForEach(["deep", "rem", "light", "awake"], id: \.self) { s in + HStack(spacing: 4) { + Circle().fill(stageColor(s)).frame(width: 8, height: 8) + Text(s.capitalized).font(.caption2).foregroundStyle(Brand.dim) + } + } } - MetricCard(title: "Stage distribution", accent: .indigo) { - ForEach(ring.health.stageCounts, id: \.stage) { item in - let pct = Int(Double(item.count) / Double(max(ring.health.hypnogram.count, 1)) * 100) + } + } + .padding(.horizontal, 16) + + Card { + VStack(alignment: .leading, spacing: 12) { + Text("STAGE DISTRIBUTION").font(.caption2.weight(.semibold)).foregroundStyle(Brand.sleepRem) + ForEach(ring.health.stageCounts, id: \.stage) { item in + let pct = Double(item.count) / Double(max(ring.health.hypnogram.count, 1)) + VStack(alignment: .leading, spacing: 4) { HStack { - Circle().fill(stageColor[item.stage] ?? .gray).frame(width: 9, height: 9) Text(item.stage.capitalized).font(.footnote) Spacer() - Text("\(pct)%").font(.footnote).foregroundColor(.secondary) + Text("\(Int(pct * 100))%").font(.footnote.weight(.semibold)).foregroundStyle(Brand.dim) } + GeometryReader { geo in + ZStack(alignment: .leading) { + Capsule().fill(Brand.line).frame(height: 8) + Capsule().fill(stageColor(item.stage)).frame(width: geo.size.width * pct, height: 8) + } + }.frame(height: 8) } } } - - Button(action: { Task { await ring.syncHistory() } }) { - Text(ring.syncing ? "Syncing…" : "Sync history") - .frame(maxWidth: .infinity).padding(.vertical, 6) - } - .buttonStyle(.borderedProminent).tint(.indigo) - .disabled(ring.state != .ready || ring.syncing) } - .padding() + .padding(.horizontal, 16) + } + + Button(action: { Task { await ring.syncHistory() } }) { + HStack { + if ring.syncing { ProgressView().tint(.white) } + Text(ring.syncing ? "Syncing…" : "Sync now") + }.frame(maxWidth: .infinity).padding(.vertical, 8) } - .navigationTitle("Sleep") + .buttonStyle(.borderedProminent).tint(Brand.sleepRem) + .disabled(ring.state != .ready || ring.syncing) + .padding(.horizontal, 16) } } } -/// Renders the stage array as a stepped hypnogram (deep low, awake high). +/// Stepped hypnogram (deep low → awake high). struct HypnogramView: View { let stages: [String] - let color: [String: Color] + let color: (String) -> Color private let level: [String: Int] = ["deep": 0, "light": 1, "rem": 2, "awake": 3] var body: some View { @@ -64,8 +97,8 @@ struct HypnogramView: View { let lvl = level[s] ?? 1 let barH = h * CGFloat(lvl + 1) / 4.0 Rectangle() - .fill(color[s] ?? .gray) - .frame(width: max(w, 1), height: barH) + .fill(color(s)) + .frame(width: max(w, 0.6), height: barH) .position(x: w * (CGFloat(i) + 0.5), y: h - barH / 2) } } diff --git a/ios/OpenOura/Views/TodayView.swift b/ios/OpenOura/Views/TodayView.swift index 68640d02..d12970a5 100644 --- a/ios/OpenOura/Views/TodayView.swift +++ b/ios/OpenOura/Views/TodayView.swift @@ -3,63 +3,80 @@ import SwiftUI struct TodayView: View { @EnvironmentObject var ring: OuraRing + private var hr: Int? { ring.liveHR ?? ring.health.latestHR } + var body: some View { - NavigationStack { - ScrollView { - StatusBanner().padding(.top, 4) - VStack(spacing: 14) { - HStack(spacing: 14) { - MetricCard(title: "Resting HR", accent: .pink) { - BigValue(value: ring.health.latestHR.map(String.init) ?? "--", unit: "bpm") - } - MetricCard(title: "HRV", accent: .purple) { - BigValue(value: ring.health.latestHRV.map(String.init) ?? "--", unit: "ms") - } - } - HStack(spacing: 14) { - MetricCard(title: "Skin temp", accent: .orange) { - BigValue(value: ring.health.latestTemp.map { String(format: "%.1f", $0) } ?? "--", unit: "°C") - } - MetricCard(title: "Battery", accent: .green) { - BigValue(value: ring.batteryPercent.map(String.init) ?? "--", unit: "%") - } + TabScaffold(title: "Today") { + // Hero gauge — latest heart rate (live if measuring, else last synced). + Card { + HStack(spacing: 18) { + ScoreRing(value: hr.map(Double.init), range: 40...110, color: Brand.hr, + caption: ring.liveActive ? "LIVE HR" : "HEART RATE", unit: "bpm", + pulse: ring.liveActive) + .frame(width: 150, height: 150) + VStack(alignment: .leading, spacing: 12) { + miniStat("HRV", ring.health.latestHRV.map { "\($0)" } ?? "—", "ms", Brand.hrv) + miniStat("Temp", ring.health.latestTemp.map { String(format: "%.1f", $0) } ?? "—", "°C", Brand.temp) + miniStat("Battery", ring.batteryPercent.map { "\($0)" } ?? "—", "%", Brand.battery) } + Spacer(minLength: 0) + } + } + .padding(.horizontal, 16) - if !ring.health.hr.isEmpty { - MetricCard(title: "Heart rate (synced)", accent: .pink) { - Sparkline(values: ring.health.hr.map(\.value), color: .pink).frame(height: 70) - } - } - if !ring.health.temp.isEmpty { - MetricCard(title: "Temperature (synced)", accent: .orange) { - Sparkline(values: ring.health.temp.map(\.value), color: .orange).frame(height: 60) - } - } + // Trend tiles. + HStack(spacing: 12) { + MetricTile(title: "Heart rate", value: ring.health.latestHR.map { "\($0)" } ?? "—", + unit: "bpm", accent: Brand.hr, spark: ring.health.hr.suffix(60).map(\.value)) + MetricTile(title: "HRV (RMSSD)", value: ring.health.latestHRV.map { "\($0)" } ?? "—", + unit: "ms", accent: Brand.hrv, spark: ring.health.hrv.suffix(60).map(\.value)) + } + .padding(.horizontal, 16) - MetricCard(title: "Device", accent: .gray) { - row("Serial", ring.serial ?? "—") - row("Hardware", ring.hardware ?? "—") - row("Firmware", ring.firmware ?? "—") - row("Synced events", "\(ring.health.totalEvents)") - } + HStack(spacing: 12) { + MetricTile(title: "Skin temp", value: ring.health.latestTemp.map { String(format: "%.2f", $0) } ?? "—", + unit: "°C", accent: Brand.temp, spark: ring.health.temp.suffix(60).map(\.value)) + MetricTile(title: "Blood oxygen", value: ring.health.spo2.last.map { "\(Int($0.value))" } ?? "—", + unit: "%", accent: Brand.spo2, spark: ring.health.spo2.suffix(60).map(\.value)) + } + .padding(.horizontal, 16) - Button(action: { Task { await ring.syncHistory() } }) { - HStack { - if ring.syncing { ProgressView().tint(.white) } - Text(ring.syncing ? "Syncing…" : "Sync history") - }.frame(maxWidth: .infinity).padding(.vertical, 6) - } - .buttonStyle(.borderedProminent).tint(.pink) - .disabled(ring.state != .ready || ring.syncing) + // Device + sync. + Card { + VStack(spacing: 10) { + infoRow("Device", ring.serial ?? "—") + Divider().overlay(Brand.line) + infoRow("Hardware", ring.hardware ?? "—") + Divider().overlay(Brand.line) + infoRow("Firmware", ring.firmware ?? "—") + Divider().overlay(Brand.line) + infoRow("Synced events", "\(ring.health.totalEvents)") } - .padding() } - .navigationTitle("Today") + .padding(.horizontal, 16) + + Button(action: { Task { await ring.syncHistory() } }) { + HStack { + if ring.syncing { ProgressView().tint(.white) } + Text(ring.syncing ? "Syncing…" : "Sync now") + }.frame(maxWidth: .infinity).padding(.vertical, 8) + } + .buttonStyle(.borderedProminent).tint(Brand.hr) + .disabled(ring.state != .ready || ring.syncing) + .padding(.horizontal, 16) } } - private func row(_ k: String, _ v: String) -> some View { - HStack { Text(k).foregroundColor(.secondary); Spacer(); Text(v) } - .font(.footnote) + private func miniStat(_ k: String, _ v: String, _ u: String, _ c: Color) -> some View { + VStack(alignment: .leading, spacing: 1) { + Text(k.uppercased()).font(.caption2.weight(.semibold)).foregroundStyle(c) + HStack(alignment: .firstTextBaseline, spacing: 2) { + Text(v).font(.system(size: 20, weight: .bold, design: .rounded)) + Text(u).font(.caption2).foregroundStyle(Brand.dim) + } + } + } + private func infoRow(_ k: String, _ v: String) -> some View { + HStack { Text(k).foregroundStyle(Brand.dim); Spacer(); Text(v) }.font(.footnote) } } diff --git a/ios/project.yml b/ios/project.yml index 284afdd8..1b5bbead 100644 --- a/ios/project.yml +++ b/ios/project.yml @@ -29,4 +29,5 @@ targets: GENERATE_INFOPLIST_FILE: NO TARGETED_DEVICE_FAMILY: "1" ENABLE_USER_SCRIPT_SANDBOXING: NO + ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon OTHER_LDFLAGS: ["-lc++"] diff --git a/ios/tools/render-icon.swift b/ios/tools/render-icon.swift new file mode 100644 index 00000000..ecfa0e37 --- /dev/null +++ b/ios/tools/render-icon.swift @@ -0,0 +1,53 @@ +// Renders the Open Oura app icon (gapped gradient ring + heartbeat tick) to a PNG. +// Run: swift ios/tools/render-icon.swift (macOS / CoreGraphics) +import AppKit +import CoreGraphics + +let size = 1024.0 +let cs = CGColorSpaceCreateDeviceRGB() +let ctx = CGContext(data: nil, width: Int(size), height: Int(size), bitsPerComponent: 8, + bytesPerRow: 0, space: cs, bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)! + +// Background: radial dark gradient. +let bg = CGGradient(colorsSpace: cs, + colors: [CGColor(red: 0.106, green: 0.122, blue: 0.169, alpha: 1), + CGColor(red: 0.043, green: 0.051, blue: 0.071, alpha: 1)] as CFArray, + locations: [0, 1])! +ctx.drawRadialGradient(bg, startCenter: CGPoint(x: size/2, y: size*0.58), startRadius: 0, + endCenter: CGPoint(x: size/2, y: size*0.58), endRadius: size*0.85, + options: [.drawsBeforeStartLocation, .drawsAfterEndLocation]) + +// Gapped ring (gap at top). CG is y-up: top = +90°. Sweep the long way leaving a gap. +let center = CGPoint(x: size/2, y: size/2) +let radius = 300.0, lineWidth = 118.0 +let gap = 46.0 * .pi / 180.0 +let arc = CGMutablePath() +arc.addArc(center: center, radius: radius, + startAngle: .pi/2 + gap/2, endAngle: .pi/2 - gap/2 + 2 * .pi, clockwise: false) +let outline = arc.copy(strokingWithWidth: lineWidth, lineCap: .round, lineJoin: .round, miterLimit: 10) +ctx.saveGState() +ctx.addPath(outline); ctx.clip() +let ring = CGGradient(colorsSpace: cs, + colors: [CGColor(red: 0.953, green: 0.545, blue: 0.659, alpha: 1), + CGColor(red: 0.796, green: 0.651, blue: 0.969, alpha: 1), + CGColor(red: 0.580, green: 0.886, blue: 0.835, alpha: 1)] as CFArray, + locations: [0, 0.5, 1])! +ctx.drawLinearGradient(ring, start: CGPoint(x: size*0.18, y: size*0.85), + end: CGPoint(x: size*0.82, y: size*0.15), options: []) +ctx.restoreGState() + +// Heartbeat tick across the lower ring (drawn in bg colour to "cut" through). +ctx.setStrokeColor(CGColor(red: 0.043, green: 0.051, blue: 0.071, alpha: 1)) +ctx.setLineWidth(26); ctx.setLineCap(.round); ctx.setLineJoin(.round) +let pts = [(392.0, 424.0), (458, 424), (484, 476), (518, 372), (544, 476), (610, 476), (632, 424)] +ctx.beginPath() +ctx.move(to: CGPoint(x: pts[0].0, y: pts[0].1)) +for p in pts.dropFirst() { ctx.addLine(to: CGPoint(x: p.0, y: p.1)) } +ctx.strokePath() + +let img = ctx.makeImage()! +let rep = NSBitmapImageRep(cgImage: img) +let png = rep.representation(using: .png, properties: [:])! +let out = CommandLine.arguments.count > 1 ? CommandLine.arguments[1] : "icon-1024.png" +try! png.write(to: URL(fileURLWithPath: out)) +print("wrote \(out)") From c966d156fea434275257eab4c9fab1017ca56ae8 Mon Sep 17 00:00:00 2001 From: martinappberg Date: Thu, 25 Jun 2026 13:04:42 -0700 Subject: [PATCH 04/15] =?UTF-8?q?iOS:=20background=20foundation=20?= =?UTF-8?q?=E2=80=94=20Core=20Bluetooth=20state=20restoration=20+=20increm?= =?UTF-8?q?ental=20sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create the central manager with a restore identifier and implement willRestoreState, so iOS preserves our BLE state and relaunches the app into the background for connection events (state preservation & restoration). On power-on we resume the restored peripheral (re-discover services → auth → sync). - Add incremental, background-safe sync (autoSyncIncremental): drains only events newer than a persisted cursor, merges/dedupes into the cached set, and runs inside a UIApplication background task. Auto-connect/restoration paths use it; the manual "Sync now" still does a full re-sync. This mirrors how the Oura app stays synced opportunistically in the background (it is not continuous live polling — see CLAUDE.md). Co-Authored-By: Claude Opus 4.8 (1M context) --- ios/OpenOura/BLE/OuraRing.swift | 81 +++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 5 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 035dd607..0beae542 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -1,6 +1,7 @@ import Combine import CoreBluetooth import Foundation +import UIKit import os /// One decoded history event (timestamp in ring deciseconds + decoded JSON). @@ -84,7 +85,11 @@ final class OuraRing: NSObject, ObservableObject { override init() { super.init() - central = CBCentralManager(delegate: self, queue: bleQueue) + // A restore identifier lets iOS preserve our BLE state and relaunch the app + // into the background for connection/notification events (state restoration). + central = CBCentralManager(delegate: self, queue: bleQueue, options: [ + CBCentralManagerOptionRestoreIdentifierKey: "com.openoura.central" + ]) } // MARK: - Publishing helper @@ -356,7 +361,7 @@ final class OuraRing: NSObject, ObservableObject { } return } - if await runAuth(), autoSync { await syncHistory() } + if await runAuth(), autoSync { await autoSyncIncremental() } } /// Authenticate over an already-established link, read metadata. Returns success. @@ -581,13 +586,15 @@ final class OuraRing: NSObject, ObservableObject { // MARK: - Full history sync (Today/Sleep/Activity tabs) + /// Full re-sync from scratch (manual "Sync now"). Replaces the cached history. func syncHistory() async { guard state == .ready, !syncing else { return } publish { self.syncing = true } // Drain into a scratch buffer; the displayed model is only swapped in once // the sync *completes*, so the UI never shows a half-synced state. var collected: [DecodedEvent] = [] - _ = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } + let next = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } + UserDefaults.standard.set(Int(next), forKey: "syncCursor") let model = HealthData(events: collected) HealthStore.save(collected) publish { @@ -599,6 +606,46 @@ final class OuraRing: NSObject, ObservableObject { } } + /// Incremental, background-safe sync: drain only events newer than the saved + /// cursor, merge into the cached set, persist. Wrapped in a background task so + /// it can finish when the app was woken in the background by state restoration. + func autoSyncIncremental() async { + guard state == .ready, !syncing else { return } + let bg = await beginBG() + defer { Task { await endBG(bg) } } + publish { self.syncing = true } + let start = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) + var fresh: [DecodedEvent] = [] + let next = await drainEventsLive(cursor: start) { fresh.append($0) } + UserDefaults.standard.set(Int(next), forKey: "syncCursor") + + var all = HealthStore.load() + var seen = Set(all.map { "\($0.tag)-\($0.timestamp)" }) + for e in fresh where seen.insert("\(e.tag)-\(e.timestamp)").inserted { all.append(e) } + if all.count > 100_000 { all = Array(all.suffix(100_000)) } + let model = HealthData(events: all) + HealthStore.save(all) + dbg("incremental sync: +\(fresh.count) events (cursor \(start)→\(next)), \(all.count) total") + publish { + self.events = all + self.health = model + self.syncing = false + self.lastSync = HealthStore.lastSync + self.status = "Connected" + } + } + + @MainActor private func beginBG() -> UIBackgroundTaskIdentifier { + var id: UIBackgroundTaskIdentifier = .invalid + id = UIApplication.shared.beginBackgroundTask(withName: "oura-sync") { + UIApplication.shared.endBackgroundTask(id) + } + return id + } + @MainActor private func endBG(_ id: UIBackgroundTaskIdentifier) { + if id != .invalid { UIApplication.shared.endBackgroundTask(id) } + } + /// Load the last synced history from disk so the UI has real data immediately. func loadCachedHistory() { let cached = HealthStore.load() @@ -633,8 +680,32 @@ final class OuraRing: NSObject, ObservableObject { // MARK: - CoreBluetooth delegates extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { + /// iOS relaunched us (possibly into the background) and is handing back the BLE + /// objects it preserved. Re-acquire the peripheral; we resume once powered on. + func centralManager(_ central: CBCentralManager, willRestoreState dict: [String: Any]) { + let ps = dict[CBCentralManagerRestoredStatePeripheralsKey] as? [CBPeripheral] ?? [] + dbg("willRestoreState: \(ps.count) peripheral(s)") + if let p = ps.first { + peripheral = p + p.delegate = self + wantsAutoReconnect = true + connecting = true // resumed in didUpdateState once .poweredOn + } + } + func centralManagerDidUpdateState(_ central: CBCentralManager) { dbg("central state -> \(central.state.rawValue)") + // Resume a restored peripheral (state restoration) before anything else. + if central.state == .poweredOn, let p = peripheral, connecting, writeChar == nil { + if p.state == .connected { + dbg("resume: restored peripheral connected — discovering services") + p.discoverServices([OuraGATT.service]) + } else { + dbg("resume: reconnecting restored peripheral") + central.connect(p) + } + return + } startScanIfReady() // resume a pending manual scan startAutoReconnectIfReady() // resume a pending auto-reconnect } @@ -722,8 +793,8 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { // A manual authenticateAndLoad() is awaiting — let it drive auth. readyContinuation = nil; c.resume() } else { - // Auto-reconnect path: authenticate (and sync) ourselves. - Task { if await self.runAuth(), self.autoSync { await self.syncHistory() } } + // Auto-reconnect / restoration path: authenticate + incremental sync. + Task { if await self.runAuth(), self.autoSync { await self.autoSyncIncremental() } } } } else { dbg("write characteristic not found in service") From 092b07ddc2b50c71cba777265ba4b0ebd9df5fad Mon Sep 17 00:00:00 2001 From: martinappberg Date: Thu, 25 Jun 2026 13:05:09 -0700 Subject: [PATCH 05/15] docs: note iOS background state restoration + incremental sync Co-Authored-By: Claude Opus 4.8 (1M context) --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index ad38471e..1546e998 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -217,6 +217,11 @@ A native SwiftUI app exists under `ios/` (see `ios/README.md`). Architecture: - **Auto-reconnect/sync**: `OuraRing.autoReconnect()` uses a no-timeout CoreBluetooth pending connect on the saved peripheral id, so the app silently reconnects when the ring wakes (and auto-syncs); toggles in Settings. +- **Background**: the central manager has a restore identifier + `willRestoreState` + (CB state preservation/restoration) so iOS relaunches the app in the background for + connection events; auto-sync is **incremental** (drains from a persisted cursor, + merges into the on-disk cache) and runs inside a `UIApplication` background task. + This mirrors Oura's opportunistic background sync — not continuous live polling. - The Simulator has **no Bluetooth** — ring features only work on a real device. - **Connecting gotchas** (verified on device): the ring must be **awake** to accept a connection — off-charger-and-not-worn it deep-sleeps and `connect()` hangs with no From 545bef04a9410f0fe434b18acd3df6f826a9ba96 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 10:21:43 +0100 Subject: [PATCH 06/15] fix live BLE state races --- ios/OpenOura/BLE/OuraRing.swift | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 0beae542..ce856ffc 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -325,6 +325,11 @@ final class OuraRing: NSObject, ObservableObject { /// then authenticate. No key typing — pairing *creates* the key. func pairNewRing() async { if writeChar == nil { connect(); await waitUntilReady() } + guard writeChar != nil else { + dbg("pairNewRing: link never became ready") + failConnect("Couldn't connect", "Couldn't connect to the ring. Keep it close and make sure it isn't connected elsewhere, then try again.") + return + } publish { self.state = .authenticating; self.status = "Pairing…" } var keyBytes = [UInt8](repeating: 0, count: 16) @@ -479,6 +484,14 @@ final class OuraRing: NSObject, ObservableObject { publish { self.liveActive = false; self.status = "Connected"; self.motionG = nil } } + private func clearLiveAfterDisconnect() { + liveTask?.cancel(); liveTask = nil + if let id = liveListenerID { listeners.removeValue(forKey: id); liveListenerID = nil } + ibiBuffer.removeAll() + restWin = 0; restMoves = 0 + publish { self.liveActive = false; self.motionG = nil } + } + private func runLive() async { dbg("live: enabling notifications + daytime-HR CONNECTED_LIVE") await sendAndWait(Req.setNotification(0x3f)) @@ -588,7 +601,7 @@ final class OuraRing: NSObject, ObservableObject { /// Full re-sync from scratch (manual "Sync now"). Replaces the cached history. func syncHistory() async { - guard state == .ready, !syncing else { return } + guard state == .ready, !syncing, !liveActive else { return } publish { self.syncing = true } // Drain into a scratch buffer; the displayed model is only swapped in once // the sync *completes*, so the UI never shows a half-synced state. @@ -610,7 +623,7 @@ final class OuraRing: NSObject, ObservableObject { /// cursor, merge into the cached set, persist. Wrapped in a background task so /// it can finish when the app was woken in the background by state restoration. func autoSyncIncremental() async { - guard state == .ready, !syncing else { return } + guard state == .ready, !syncing, !liveActive else { return } let bg = await beginBG() defer { Task { await endBG(bg) } } publish { self.syncing = true } @@ -754,7 +767,7 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { dbg("disconnected\(error.map { ": \($0.localizedDescription)" } ?? "")") self.writeChar = nil self.connecting = false - self.liveActive = false + self.clearLiveAfterDisconnect() // Unless the user asked to disconnect, immediately re-arm a pending connect // so we silently reconnect when the ring next wakes (charger/worn). if !userDisconnecting, autoConnect { From dbc6ed1f31a50aafb808822bf0bdc416a7179724 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 10:32:38 +0100 Subject: [PATCH 07/15] fix pairing and live session edge cases --- ios/OpenOura/BLE/OuraRing.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index ce856ffc..14e067e3 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -344,6 +344,7 @@ final class OuraRing: NSObject, ObservableObject { guard let resp = await requestUntil(Req.setAuthKey(key), tag: 0x25, ext: nil, timeout: 3.0), resp.payload.first == 0x00 else { + KeyStore.clear() publish { self.state = .failed("SetAuthKey rejected"); self.status = "Pair failed — is the ring factory-reset?" } return } @@ -510,6 +511,10 @@ final class OuraRing: NSObject, ObservableObject { var tick = 0 while !Task.isCancelled { + if tick > 0 && tick % 120 == 0 { + await sendAndWait(Req.setRealtime(bitmask: Realtime.acm, minutes: 5, delay: 0)) + dbg("live: ACM re-armed") + } var n = 0, hr80 = 0 cursor = await drainEventsLive(cursor: cursor) { [weak self] ev in n += 1; if ev.tag == 0x80 { hr80 += 1 } @@ -675,6 +680,7 @@ final class OuraRing: NSObject, ObservableObject { _ = await requestUntil(Req.factoryReset, tag: 0x1b, ext: nil, timeout: 2.0) KeyStore.clear() UserDefaults.standard.removeObject(forKey: "ringPeripheralID") + UserDefaults.standard.removeObject(forKey: "syncCursor") HealthStore.clear() bleQueue.async { self.userDisconnecting = true From ecca95e05812fcc7e91d0b15415ec8a8b2b3017f Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 10:41:36 +0100 Subject: [PATCH 08/15] fix pairing uncertainty and spo2 samples --- crates/oura-cli/src/live.html | 3 ++- ios/OpenOura/BLE/OuraRing.swift | 14 ++++++++++---- ios/OpenOura/Core/HealthData.swift | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/crates/oura-cli/src/live.html b/crates/oura-cli/src/live.html index f73f4239..0fcf84b2 100644 --- a/crates/oura-cli/src/live.html +++ b/crates/oura-cli/src/live.html @@ -154,7 +154,8 @@

Battery

const d=m.d||{};const arr=(d.temps_c||d.temps||[]).filter(x=>x>20&&x<45); if(arr.length){const t=arr[arr.length-1];$('tp').textContent=t.toFixed(2);tpC.push(t);} } else if(m.t==='spo2e'){ - const d=m.d||{};const v=d.spo2_percent??d.spo2??d.pct; + const d=m.d||{};const raw=d.spo2_percent??d.spo2??d.pct; + const arr=Array.isArray(raw)?raw:[raw];const v=arr.filter(x=>Number.isFinite(x)).at(-1); if(v>50){$('sp').textContent=v;spC.push(v);$('spsub').textContent='measured';} } else if(m.t==='batt'){ $('bt').textContent=m.pct;btC.push(m.pct); diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 14e067e3..8162973c 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -340,12 +340,18 @@ final class OuraRing: NSObject, ObservableObject { let key = Data(keyBytes) // Persist before installing, so a crash mid-pair never loses the only copy // of a key that may already be live on the ring. - _ = KeyStore.saveHex(key.map { String(format: "%02x", $0) }.joined()) + guard KeyStore.saveHex(key.map { String(format: "%02x", $0) }.joined()) else { + publish { self.state = .failed("Keychain error"); self.status = "Pair failed - couldn't save key" } + return + } - guard let resp = await requestUntil(Req.setAuthKey(key), tag: 0x25, ext: nil, timeout: 3.0), - resp.payload.first == 0x00 else { + guard let resp = await requestUntil(Req.setAuthKey(key), tag: 0x25, ext: nil, timeout: 3.0) else { + publish { self.state = .failed("SetAuthKey timed out"); self.status = "Pair uncertain - reconnect to verify" } + return + } + guard resp.payload.first == 0x00 else { KeyStore.clear() - publish { self.state = .failed("SetAuthKey rejected"); self.status = "Pair failed — is the ring factory-reset?" } + publish { self.state = .failed("SetAuthKey rejected"); self.status = "Pair failed - is the ring factory-reset?" } return } publish { self.status = "Key installed — authenticating…" } diff --git a/ios/OpenOura/Core/HealthData.swift b/ios/OpenOura/Core/HealthData.swift index 2e956820..0cfd5022 100644 --- a/ios/OpenOura/Core/HealthData.swift +++ b/ios/OpenOura/Core/HealthData.swift @@ -49,7 +49,7 @@ struct HealthData { let v = nums(e.json["temps_c"]).filter { $0 > 20 && $0 < 45 } if let m = v.last { temp.append(.init(ts: e.timestamp, value: m)) } case 0x6f, 0x70, 0x77: // spo2 - if let s = (e.json["spo2_percent"] as? NSNumber)?.doubleValue, s > 50 { + if let s = nums(e.json["spo2_percent"]).filter({ $0 > 50 }).last { spo2.append(.init(ts: e.timestamp, value: s)) } case 0x4b, 0x4e, 0x5a: // sleep phases (hypnogram) From fcc18db1d7a6840a912371724c41da7b1b1e1214 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 10:49:22 +0100 Subject: [PATCH 09/15] fix drain timeout and reset acknowledgement --- ios/OpenOura/BLE/OuraRing.swift | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 8162973c..778994fa 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -256,19 +256,20 @@ final class OuraRing: NSObject, ObservableObject { } /// One `GetEvent` batch: collect event frames until the `0x11` summary or timeout. - private func getEventBatch(start: UInt32, timeout: TimeInterval) async -> (events: [Packet], bytesLeft: UInt32, maxTs: UInt32) { + private func getEventBatch(start: UInt32, timeout: TimeInterval) async -> (events: [Packet], bytesLeft: UInt32, maxTs: UInt32, gotSummary: Bool) { await withCheckedContinuation { cont in bleQueue.async { var evs: [Packet] = [] var maxTs = start var bytesLeft: UInt32 = 0 + var gotSummary = false let id = UUID() var done = false let timer = DispatchSource.makeTimerSource(queue: self.bleQueue) func finish() { if done { return }; done = true self.listeners.removeValue(forKey: id); timer.cancel() - cont.resume(returning: (evs, bytesLeft, maxTs)) + cont.resume(returning: (evs, bytesLeft, maxTs, gotSummary)) } timer.schedule(deadline: .now() + timeout) timer.setEventHandler(handler: finish) @@ -276,6 +277,7 @@ final class OuraRing: NSObject, ObservableObject { self.listeners[id] = { data in guard let p = Packet.parse(data) else { return } if p.tag == 0x11 { + gotSummary = true if p.payload.count >= 6 { bytesLeft = UInt32(p.payload[2]) | UInt32(p.payload[3]) << 8 | UInt32(p.payload[4]) << 16 | UInt32(p.payload[5]) << 24 @@ -302,6 +304,10 @@ final class OuraRing: NSObject, ObservableObject { var start = cursor for _ in 0..<10_000 { let batch = await getEventBatch(start: start, timeout: 1.5) + guard batch.gotSummary else { + dbg("GetEvent timed out before summary at cursor \(start)") + break + } for p in batch.events { guard p.payload.count >= 4 else { continue } let ts = UInt32(p.payload[0]) | UInt32(p.payload[1]) << 8 @@ -683,7 +689,14 @@ final class OuraRing: NSObject, ObservableObject { func factoryReset() async { guard state == .ready else { return } dbg("factory reset requested") - _ = await requestUntil(Req.factoryReset, tag: 0x1b, ext: nil, timeout: 2.0) + guard let resp = await requestUntil(Req.factoryReset, tag: 0x1b, ext: nil, timeout: 2.0), + resp.payload.first == 0x00 else { + publish { + self.state = .failed("Factory reset uncertain") + self.status = "Factory reset uncertain - reconnect before clearing local state" + } + return + } KeyStore.clear() UserDefaults.standard.removeObject(forKey: "ringPeripheralID") UserDefaults.standard.removeObject(forKey: "syncCursor") From 311175221fcda926971c80dc63d5ce046462b451 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 12:06:22 +0100 Subject: [PATCH 10/15] fix live cursor and buffer edge cases --- crates/oura-cli/src/live.rs | 16 ++++++---------- crates/oura-cli/src/main.rs | 7 ++++++- crates/oura-link/src/client.rs | 16 +++++++++++----- ios/OpenOura/BLE/OuraRing.swift | 19 +++++++++++-------- ios/OpenOura/Core/HealthData.swift | 2 +- 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/crates/oura-cli/src/live.rs b/crates/oura-cli/src/live.rs index 9adb8b42..f4d6d29d 100644 --- a/crates/oura-cli/src/live.rs +++ b/crates/oura-cli/src/live.rs @@ -35,14 +35,14 @@ type Client = Arc>; /// Serve the dashboard at `127.0.0.1:port`. `minutes` is how long each realtime /// arming lasts before the poll loop re-arms it (the ring auto-stops otherwise). -pub async fn run(client: OuraClient, port: u16, minutes: u16) -> Result<()> { +pub async fn run(client: OuraClient, port: u16, minutes: u16, start_cursor: u32) -> Result<()> { let client: Client = Arc::new(client); let (tx, _) = broadcast::channel::(1024); let live = Arc::new(AtomicBool::new(false)); let clients = Arc::new(AtomicUsize::new(0)); spawn_parser(&client, &tx); - spawn_poll_loop(client.clone(), tx.clone(), live.clone(), minutes); + spawn_poll_loop(client.clone(), tx.clone(), live.clone(), minutes, start_cursor); let listener = TcpListener::bind(("127.0.0.1", port)).await?; println!("Ready — open http://127.0.0.1:{port} (press Start in the page)"); @@ -101,11 +101,12 @@ fn spawn_poll_loop( tx: broadcast::Sender, live: Arc, minutes: u16, + start_cursor: u32, ) { tokio::spawn(async move { let mut was_live = false; let mut armed_at: Option = None; - let mut hr_cursor: u32 = 0; + let mut hr_cursor: u32 = start_cursor; let mut tick: u64 = 0; let rearm_after = Duration::from_secs((minutes.max(1) as u64) * 60 - 20); @@ -126,13 +127,8 @@ fn spawn_poll_loop( .transport() .write(&req_set_feature_mode(feature::SPO2, feature_mode::AUTOMATIC)) .await; - // Baseline drain (no UI output) to find the newest event timestamp. - if let Ok(out) = client - .drain_events_live(0, Duration::from_millis(2500), |_| {}) - .await - { - hr_cursor = out.next_cursor; - } + // Start from the persisted sync cursor instead of walking full history. + hr_cursor = start_cursor; arm_acm(&client, minutes).await; armed_at = Some(Instant::now()); } diff --git a/crates/oura-cli/src/main.rs b/crates/oura-cli/src/main.rs index e5faaa31..15ac3151 100644 --- a/crates/oura-cli/src/main.rs +++ b/crates/oura-cli/src/main.rs @@ -265,7 +265,12 @@ async fn main() -> Result<()> { Command::Live { port, minutes } => { let client = connect(&cli).await?; maybe_auth(&client, &key).await?; - live::run(client, *port, *minutes).await + let serial = client.serial().await.unwrap_or_else(|_| "unknown".into()); + let start_cursor = Store::open(&cli.db) + .ok() + .and_then(|store| store.cursor(&serial).ok()) + .unwrap_or(0); + live::run(client, *port, *minutes, start_cursor).await } Command::Game { port, minutes } => { let client = connect(&cli).await?; diff --git a/crates/oura-link/src/client.rs b/crates/oura-link/src/client.rs index 1f3e4ab4..ff84eed6 100644 --- a/crates/oura-link/src/client.rs +++ b/crates/oura-link/src/client.rs @@ -367,7 +367,7 @@ impl OuraClient { let mut summary: Option = None; let mut max_ts = start; - let mut batch_events = 0u32; + let mut batch = Vec::new(); let deadline = tokio::time::Instant::now() + request_timeout; loop { let remaining = deadline.saturating_duration_since(tokio::time::Instant::now()); @@ -383,9 +383,7 @@ impl OuraClient { } else if p.tag >= protocol::HISTORY_EVENT_PREFIX { let ev = RingEvent::from_packet(&p); max_ts = max_ts.max(ev.timestamp); - batch_events += 1; - total += 1; - on_event(&ev); + batch.push(ev); } // ignore ACM (0x33), control ACKs (0x07), etc. } @@ -394,7 +392,15 @@ impl OuraClient { } } - let bytes_left = summary.map(|s| s.bytes_left).unwrap_or(0); + let Some(summary) = summary else { + break; + }; + let batch_events = batch.len() as u32; + for ev in &batch { + on_event(ev); + } + total += batch_events; + let bytes_left = summary.bytes_left; let next = max_ts.saturating_add(1); let progressed = batch_events > 0 && next > start; if progressed { diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 778994fa..c887cf8a 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -590,14 +590,17 @@ final class OuraRing: NSObject, ObservableObject { } // HRV (RMSSD) from physiologically plausible IBIs if let arr = ev.json["ibi_ms"] as? [Any] { - for v in arr.compactMap({ ($0 as? NSNumber)?.doubleValue }) where v >= 400 && v <= 1300 { - ibiBuffer.append(v) - } - while ibiBuffer.count > 40 { ibiBuffer.removeFirst() } - if let hrv = Self.rmssd(ibiBuffer) { - publish { - self.liveHRV = hrv - self.hrvSeries.append(Double(hrv)); if self.hrvSeries.count > 120 { self.hrvSeries.removeFirst() } + let ibis = arr.compactMap { ($0 as? NSNumber)?.doubleValue }.filter { $0 >= 400 && $0 <= 1300 } + guard !ibis.isEmpty else { return } + bleQueue.async { [weak self] in + guard let self else { return } + self.ibiBuffer.append(contentsOf: ibis) + while self.ibiBuffer.count > 40 { self.ibiBuffer.removeFirst() } + if let hrv = Self.rmssd(self.ibiBuffer) { + self.publish { + self.liveHRV = hrv + self.hrvSeries.append(Double(hrv)); if self.hrvSeries.count > 120 { self.hrvSeries.removeFirst() } + } } } } diff --git a/ios/OpenOura/Core/HealthData.swift b/ios/OpenOura/Core/HealthData.swift index 0cfd5022..244452b0 100644 --- a/ios/OpenOura/Core/HealthData.swift +++ b/ios/OpenOura/Core/HealthData.swift @@ -53,7 +53,7 @@ struct HealthData { spo2.append(.init(ts: e.timestamp, value: s)) } case 0x4b, 0x4e, 0x5a: // sleep phases (hypnogram) - if let ph = e.json["phases"] as? [String] { hypnogram.append(contentsOf: ph) } + if let ph = e.json["phases"] as? [String] { hypnogram = ph } default: break } } From f5a8a20adde3b730b6e95be7b7fb8e77e8127369 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 12:19:42 +0100 Subject: [PATCH 11/15] fix notify readiness and sync timeout handling --- ios/OpenOura/BLE/OuraRing.swift | 86 ++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 27 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index c887cf8a..c3afef31 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -66,6 +66,7 @@ final class OuraRing: NSObject, ObservableObject { private var central: CBCentralManager! private var peripheral: CBPeripheral? private var writeChar: CBCharacteristic? + private var notifyReady = false private var pendingConnect = false private var connecting = false // a connect attempt is in flight (bleQueue) private var scanTimer: DispatchSourceTimer? @@ -107,6 +108,20 @@ final class OuraRing: NSObject, ObservableObject { p.writeValue(data, for: c, type: .withResponse) } + private func finishReadyIfPossible() { + guard writeChar != nil, notifyReady else { return } + dbg("link ready (write characteristic + notifications)") + connecting = false + scanTimer?.cancel(); connectTimer?.cancel(); readyTimer?.cancel() + if let c = readyContinuation { + // A manual authenticateAndLoad() is awaiting — let it drive auth. + readyContinuation = nil; c.resume() + } else { + // Auto-reconnect / restoration path: authenticate + incremental sync. + Task { if await self.runAuth(), self.autoSync { await self.autoSyncIncremental() } } + } + } + // MARK: - Connect / scan func connect() { bleQueue.async { @@ -182,12 +197,12 @@ final class OuraRing: NSObject, ObservableObject { publish { self.state = .idle; self.status = "Disconnected" } } - /// Suspend until the link is ready (write characteristic discovered), or until + /// Suspend until the link is ready (write characteristic + notifications), or until /// `timeout` elapses (so a failed scan/connect never hangs the caller). private func waitUntilReady(timeout: TimeInterval = 20) async { await withCheckedContinuation { (c: CheckedContinuation) in bleQueue.async { - if self.writeChar != nil { c.resume(); return } + if self.writeChar != nil && self.notifyReady { c.resume(); return } self.readyContinuation = c let t = DispatchSource.makeTimerSource(queue: self.bleQueue) t.schedule(deadline: .now() + timeout) @@ -298,15 +313,15 @@ final class OuraRing: NSObject, ObservableObject { } /// Stream-safe incremental drain from `cursor`; calls `onEvent` per event. - /// Returns the next cursor. Safe to run while the accelerometer streams. + /// Returns the next cursor plus whether the drain completed without timeout. @discardableResult - private func drainEventsLive(cursor: UInt32, onEvent: (DecodedEvent) -> Void) async -> UInt32 { + private func drainEventsLive(cursor: UInt32, onEvent: (DecodedEvent) -> Void) async -> (cursor: UInt32, complete: Bool) { var start = cursor for _ in 0..<10_000 { let batch = await getEventBatch(start: start, timeout: 1.5) guard batch.gotSummary else { dbg("GetEvent timed out before summary at cursor \(start)") - break + return (start, false) } for p in batch.events { guard p.payload.count >= 4 else { continue } @@ -321,7 +336,7 @@ final class OuraRing: NSObject, ObservableObject { if progressed { start = next } if batch.bytesLeft == 0 || !progressed { break } } - return start + return (start, true) } // MARK: - High-level flows @@ -515,8 +530,8 @@ final class OuraRing: NSObject, ObservableObject { } else { dbg("live: no feature-status response") } - var cursor = await drainEventsLive(cursor: 0) { _ in } // baseline - dbg("live: baseline cursor=\(cursor)") + var cursor = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) + dbg("live: starting cursor=\(cursor)") installLiveACMListener() await sendAndWait(Req.setRealtime(bitmask: Realtime.acm, minutes: 5, delay: 0)) dbg("live: ACM armed; entering poll loop") @@ -528,10 +543,11 @@ final class OuraRing: NSObject, ObservableObject { dbg("live: ACM re-armed") } var n = 0, hr80 = 0 - cursor = await drainEventsLive(cursor: cursor) { [weak self] ev in + let drain = await drainEventsLive(cursor: cursor) { [weak self] ev in n += 1; if ev.tag == 0x80 { hr80 += 1 } self?.handleLiveEvent(ev) } + cursor = drain.cursor dbg("live: tick \(tick) drained \(n) events (\(hr80)×0x80) cursor=\(cursor)") if tick % 6 == 0 { await readBattery() } tick += 1 @@ -626,8 +642,12 @@ final class OuraRing: NSObject, ObservableObject { // Drain into a scratch buffer; the displayed model is only swapped in once // the sync *completes*, so the UI never shows a half-synced state. var collected: [DecodedEvent] = [] - let next = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } - UserDefaults.standard.set(Int(next), forKey: "syncCursor") + let drain = await drainEventsLive(cursor: 0) { ev in collected.append(ev) } + guard drain.complete else { + publish { self.syncing = false; self.status = "Sync timed out - try again closer to the ring" } + return + } + UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") let model = HealthData(events: collected) HealthStore.save(collected) publish { @@ -649,8 +669,12 @@ final class OuraRing: NSObject, ObservableObject { publish { self.syncing = true } let start = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) var fresh: [DecodedEvent] = [] - let next = await drainEventsLive(cursor: start) { fresh.append($0) } - UserDefaults.standard.set(Int(next), forKey: "syncCursor") + let drain = await drainEventsLive(cursor: start) { fresh.append($0) } + guard drain.complete else { + publish { self.syncing = false; self.status = "Sync timed out - try again closer to the ring" } + return + } + UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") var all = HealthStore.load() var seen = Set(all.map { "\($0.tag)-\($0.timestamp)" }) @@ -658,7 +682,7 @@ final class OuraRing: NSObject, ObservableObject { if all.count > 100_000 { all = Array(all.suffix(100_000)) } let model = HealthData(events: all) HealthStore.save(all) - dbg("incremental sync: +\(fresh.count) events (cursor \(start)→\(next)), \(all.count) total") + dbg("incremental sync: +\(fresh.count) events (cursor \(start)→\(drain.cursor)), \(all.count) total") publish { self.events = all self.health = model @@ -794,6 +818,7 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { dbg("disconnected\(error.map { ": \($0.localizedDescription)" } ?? "")") self.writeChar = nil + self.notifyReady = false self.connecting = false self.clearLiveAfterDisconnect() // Unless the user asked to disconnect, immediately re-arm a pending connect @@ -819,29 +844,36 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { } func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) { + notifyReady = false for c in service.characteristics ?? [] { if c.uuid == OuraGATT.write { writeChar = c } if c.properties.contains(.notify) || c.properties.contains(.indicate) { - peripheral.setNotifyValue(true, for: c) + if c.isNotifying { + notifyReady = true + } else { + peripheral.setNotifyValue(true, for: c) + } } } - // Link is usable once the write characteristic is known. - if writeChar != nil { - dbg("link ready (write characteristic discovered)") - connecting = false - scanTimer?.cancel(); connectTimer?.cancel(); readyTimer?.cancel() - if let c = readyContinuation { - // A manual authenticateAndLoad() is awaiting — let it drive auth. - readyContinuation = nil; c.resume() - } else { - // Auto-reconnect / restoration path: authenticate + incremental sync. - Task { if await self.runAuth(), self.autoSync { await self.autoSyncIncremental() } } - } + if writeChar != nil, notifyReady { + finishReadyIfPossible() + } else if writeChar != nil { + dbg("write characteristic found; waiting for notifications") } else { dbg("write characteristic not found in service") } } + func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: Error?) { + if let error { + dbg("notify setup error: \(error.localizedDescription)") + return + } + guard characteristic.isNotifying else { return } + notifyReady = true + finishReadyIfPossible() + } + func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { guard let data = characteristic.value else { return } for listener in listeners.values { listener(data) } From 05d8d6d4668a4dd86596f31ce09cf065eff37dad Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 12:21:26 +0100 Subject: [PATCH 12/15] require notify readiness before pairing --- ios/OpenOura/BLE/OuraRing.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index c3afef31..4b559f99 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -345,8 +345,11 @@ final class OuraRing: NSObject, ObservableObject { /// random 16-byte key, install it with `SetAuthKey`, store it in the Keychain, /// then authenticate. No key typing — pairing *creates* the key. func pairNewRing() async { - if writeChar == nil { connect(); await waitUntilReady() } - guard writeChar != nil else { + if writeChar == nil || !notifyReady { + if writeChar == nil { connect() } + await waitUntilReady() + } + guard writeChar != nil, notifyReady else { dbg("pairNewRing: link never became ready") failConnect("Couldn't connect", "Couldn't connect to the ring. Keep it close and make sure it isn't connected elsewhere, then try again.") return From 9ac5f18b2e1630f315e151ecc3538d0ad80406c7 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 12:32:59 +0100 Subject: [PATCH 13/15] fix live baselines and ios sync durability --- crates/oura-cli/src/main.rs | 20 ++++++++++++--- crates/oura-store/src/storage.rs | 12 ++++++++- ios/OpenOura/BLE/OuraRing.swift | 40 ++++++++++++++++++++++------- ios/OpenOura/Core/HealthStore.swift | 24 +++++++++++++---- 4 files changed, 77 insertions(+), 19 deletions(-) diff --git a/crates/oura-cli/src/main.rs b/crates/oura-cli/src/main.rs index 15ac3151..d1e78320 100644 --- a/crates/oura-cli/src/main.rs +++ b/crates/oura-cli/src/main.rs @@ -266,10 +266,22 @@ async fn main() -> Result<()> { let client = connect(&cli).await?; maybe_auth(&client, &key).await?; let serial = client.serial().await.unwrap_or_else(|_| "unknown".into()); - let start_cursor = Store::open(&cli.db) - .ok() - .and_then(|store| store.cursor(&serial).ok()) - .unwrap_or(0); + let store = Store::open(&cli.db).with_context(|| { + format!( + "live mode needs a readable DB cursor; run `oura sync` first or fix {}", + cli.db.display() + ) + })?; + let saved_cursor = store.cursor(&serial)?; + let start_cursor = if saved_cursor > 0 { + saved_cursor + } else { + store.event_high_water_cursor(&serial)?.ok_or_else(|| { + anyhow!( + "live mode needs a baseline for serial {serial}; run `oura sync` once before `oura live`" + ) + })? + }; live::run(client, *port, *minutes, start_cursor).await } Command::Game { port, minutes } => { diff --git a/crates/oura-store/src/storage.rs b/crates/oura-store/src/storage.rs index 1cb02542..df3617df 100644 --- a/crates/oura-store/src/storage.rs +++ b/crates/oura-store/src/storage.rs @@ -9,8 +9,8 @@ use std::time::{SystemTime, UNIX_EPOCH}; use rusqlite::{params, Connection, OptionalExtension}; -use oura_protocol::device::{Battery, DeviceInfo}; use crate::error::Result; +use oura_protocol::device::{Battery, DeviceInfo}; use oura_protocol::events::RingEvent; const SCHEMA: &str = r#" @@ -121,6 +121,16 @@ impl Store { Ok(v.unwrap_or(0) as u32) } + /// One past the highest stored event timestamp for this serial, if any. + pub fn event_high_water_cursor(&self, serial: &str) -> Result> { + let v: Option = self.conn.query_row( + "SELECT MAX(ring_timestamp) + 1 FROM events WHERE serial = ?1", + params![serial], + |r| r.get(0), + )?; + Ok(v.map(|cursor| cursor as u32)) + } + /// Persist the next sync cursor. pub fn set_cursor(&self, serial: &str, cursor: u32) -> Result<()> { self.conn.execute( diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index 4b559f99..bb21f4c4 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -6,11 +6,27 @@ import os /// One decoded history event (timestamp in ring deciseconds + decoded JSON). struct DecodedEvent: Identifiable { - let id = UUID() let tag: UInt8 let timestamp: UInt32 let name: String let json: [String: Any] + let identity: String + + var id: String { identity } + + init(tag: UInt8, timestamp: UInt32, name: String, json: [String: Any], identity: String? = nil) { + self.tag = tag + self.timestamp = timestamp + self.name = name + self.json = json + self.identity = identity ?? "\(tag)-\(timestamp)-\(DecodedEvent.jsonIdentity(json))" + } + + private static func jsonIdentity(_ json: [String: Any]) -> String { + guard let data = try? JSONSerialization.data(withJSONObject: json, options: [.sortedKeys]), + let s = String(data: data, encoding: .utf8) else { return "{}" } + return s + } } enum ConnState: Equatable { @@ -329,7 +345,8 @@ final class OuraRing: NSObject, ObservableObject { | UInt32(p.payload[2]) << 16 | UInt32(p.payload[3]) << 24 let body = Data(p.payload[4...]) let json = OuraCore.decodeEvent(tag: p.tag, body: body) ?? [:] - onEvent(DecodedEvent(tag: p.tag, timestamp: ts, name: OuraCore.eventName(tag: p.tag), json: json)) + let identity = "\(p.tag)-\(ts)-\(body.base64EncodedString())" + onEvent(DecodedEvent(tag: p.tag, timestamp: ts, name: OuraCore.eventName(tag: p.tag), json: json, identity: identity)) } let next = batch.maxTs &+ 1 let progressed = !batch.events.isEmpty && next > start @@ -650,9 +667,12 @@ final class OuraRing: NSObject, ObservableObject { publish { self.syncing = false; self.status = "Sync timed out - try again closer to the ring" } return } - UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") let model = HealthData(events: collected) - HealthStore.save(collected) + guard HealthStore.save(collected) else { + publish { self.syncing = false; self.status = "Sync failed - couldn't save history" } + return + } + UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") publish { self.events = collected self.health = model @@ -677,14 +697,16 @@ final class OuraRing: NSObject, ObservableObject { publish { self.syncing = false; self.status = "Sync timed out - try again closer to the ring" } return } - UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") - var all = HealthStore.load() - var seen = Set(all.map { "\($0.tag)-\($0.timestamp)" }) - for e in fresh where seen.insert("\(e.tag)-\(e.timestamp)").inserted { all.append(e) } + var seen = Set(all.map { $0.identity }) + for e in fresh where seen.insert(e.identity).inserted { all.append(e) } if all.count > 100_000 { all = Array(all.suffix(100_000)) } let model = HealthData(events: all) - HealthStore.save(all) + guard HealthStore.save(all) else { + publish { self.syncing = false; self.status = "Sync failed - couldn't save history" } + return + } + UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") dbg("incremental sync: +\(fresh.count) events (cursor \(start)→\(drain.cursor)), \(all.count) total") publish { self.events = all diff --git a/ios/OpenOura/Core/HealthStore.swift b/ios/OpenOura/Core/HealthStore.swift index 29fde3a1..525ba8ac 100644 --- a/ios/OpenOura/Core/HealthStore.swift +++ b/ios/OpenOura/Core/HealthStore.swift @@ -3,7 +3,7 @@ import Foundation /// On-disk cache of the last synced history, so the app shows real data instantly /// on launch and only refreshes it when a new sync *completes* (never mid-sync). enum HealthStore { - private struct StoredEvent: Codable { let tag: UInt8; let ts: UInt32; let json: String } + private struct StoredEvent: Codable { let tag: UInt8; let ts: UInt32; let json: String; let identity: String? } private static let fileURL: URL = { let dir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0] @@ -11,10 +11,18 @@ enum HealthStore { return dir.appendingPathComponent("oura_history.json") }() - static func save(_ events: [DecodedEvent]) { - let stored = events.map { StoredEvent(tag: $0.tag, ts: $0.timestamp, json: jsonString($0.json)) } - if let data = try? JSONEncoder().encode(stored) { try? data.write(to: fileURL) } + static func save(_ events: [DecodedEvent]) -> Bool { + let stored = events.map { + StoredEvent(tag: $0.tag, ts: $0.timestamp, json: jsonString($0.json), identity: $0.identity) + } + do { + let data = try JSONEncoder().encode(stored) + try data.write(to: fileURL, options: [.atomic]) + } catch { + return false + } UserDefaults.standard.set(Date(), forKey: "lastSyncDate") + return true } static func load() -> [DecodedEvent] { @@ -22,7 +30,13 @@ enum HealthStore { let stored = try? JSONDecoder().decode([StoredEvent].self, from: data) else { return [] } return stored.map { se in let dict = (try? JSONSerialization.jsonObject(with: Data(se.json.utf8))) as? [String: Any] ?? [:] - return DecodedEvent(tag: se.tag, timestamp: se.ts, name: OuraCore.eventName(tag: se.tag), json: dict) + return DecodedEvent( + tag: se.tag, + timestamp: se.ts, + name: OuraCore.eventName(tag: se.tag), + json: dict, + identity: se.identity ?? "\(se.tag)-\(se.ts)-\(se.json)" + ) } } From a232611b08f467eec1a6c31aef4e46ccf1ffcd0f Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Wed, 8 Jul 2026 12:41:05 +0100 Subject: [PATCH 14/15] preserve live cursors across restarts --- crates/oura-cli/src/live.rs | 5 +++-- ios/OpenOura/BLE/OuraRing.swift | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crates/oura-cli/src/live.rs b/crates/oura-cli/src/live.rs index f4d6d29d..d2d97564 100644 --- a/crates/oura-cli/src/live.rs +++ b/crates/oura-cli/src/live.rs @@ -127,8 +127,9 @@ fn spawn_poll_loop( .transport() .write(&req_set_feature_mode(feature::SPO2, feature_mode::AUTOMATIC)) .await; - // Start from the persisted sync cursor instead of walking full history. - hr_cursor = start_cursor; + // Keep the live cursor across Stop/Start cycles so the page does + // not replay HR events recorded by the previous live session. + hr_cursor = hr_cursor.max(start_cursor); arm_acm(&client, minutes).await; armed_at = Some(Instant::now()); } diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index bb21f4c4..ee91ca32 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -98,6 +98,7 @@ final class OuraRing: NSObject, ObservableObject { private var ibiBuffer: [Double] = [] private var liveListenerID: UUID? private var liveTask: Task? + private var liveCursor: UInt32? private var restMoves = 0, restWin = 0 override init() { @@ -550,7 +551,9 @@ final class OuraRing: NSObject, ObservableObject { } else { dbg("live: no feature-status response") } - var cursor = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) + let savedCursor = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) + var cursor = max(liveCursor ?? savedCursor, savedCursor) + liveCursor = cursor dbg("live: starting cursor=\(cursor)") installLiveACMListener() await sendAndWait(Req.setRealtime(bitmask: Realtime.acm, minutes: 5, delay: 0)) @@ -568,6 +571,7 @@ final class OuraRing: NSObject, ObservableObject { self?.handleLiveEvent(ev) } cursor = drain.cursor + if drain.complete { liveCursor = cursor } dbg("live: tick \(tick) drained \(n) events (\(hr80)×0x80) cursor=\(cursor)") if tick % 6 == 0 { await readBattery() } tick += 1 @@ -673,6 +677,7 @@ final class OuraRing: NSObject, ObservableObject { return } UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") + liveCursor = drain.cursor publish { self.events = collected self.health = model @@ -707,6 +712,7 @@ final class OuraRing: NSObject, ObservableObject { return } UserDefaults.standard.set(Int(drain.cursor), forKey: "syncCursor") + liveCursor = max(liveCursor ?? drain.cursor, drain.cursor) dbg("incremental sync: +\(fresh.count) events (cursor \(start)→\(drain.cursor)), \(all.count) total") publish { self.events = all @@ -752,6 +758,7 @@ final class OuraRing: NSObject, ObservableObject { KeyStore.clear() UserDefaults.standard.removeObject(forKey: "ringPeripheralID") UserDefaults.standard.removeObject(forKey: "syncCursor") + liveCursor = nil HealthStore.clear() bleQueue.async { self.userDisconnecting = true From a9619e70095e12b8c484b646de5cc16fb273c1e2 Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Thu, 9 Jul 2026 14:11:57 +0100 Subject: [PATCH 15/15] keep ios sync awake until fully drained --- ios/OpenOura/BLE/OuraRing.swift | 119 +++++++++++++++++++++++++------- 1 file changed, 93 insertions(+), 26 deletions(-) diff --git a/ios/OpenOura/BLE/OuraRing.swift b/ios/OpenOura/BLE/OuraRing.swift index ee91ca32..706c4bc0 100644 --- a/ios/OpenOura/BLE/OuraRing.swift +++ b/ios/OpenOura/BLE/OuraRing.swift @@ -33,6 +33,11 @@ enum ConnState: Equatable { case idle, scanning, connecting, authenticating, ready, failed(String) } +private final class KeepAwakeToken: @unchecked Sendable { + var bgTask: UIBackgroundTaskIdentifier = .invalid + var ended = false +} + /// CoreBluetooth client + protocol orchestration for an Oura ring. Mirrors the /// Rust `OuraClient`: request/response with a quiet-window collector, a bounded /// single-response wait, and a stream-safe incremental event drain. @@ -100,6 +105,7 @@ final class OuraRing: NSObject, ObservableObject { private var liveTask: Task? private var liveCursor: UInt32? private var restMoves = 0, restWin = 0 + @MainActor private var keepAwakeCount = 0 override init() { super.init() @@ -120,6 +126,53 @@ final class OuraRing: NSObject, ObservableObject { print("[ble] \(msg)") } + private static func centralStateName(_ state: CBManagerState) -> String { + switch state { + case .unknown: return "unknown" + case .resetting: return "resetting" + case .unsupported: return "unsupported" + case .unauthorized: return "unauthorized" + case .poweredOff: return "poweredOff" + case .poweredOn: return "poweredOn" + @unknown default: return "unknown(\(state.rawValue))" + } + } + + private static func peripheralStateName(_ state: CBPeripheralState) -> String { + switch state { + case .disconnected: return "disconnected" + case .connecting: return "connecting" + case .connected: return "connected" + case .disconnecting: return "disconnecting" + @unknown default: return "unknown(\(state.rawValue))" + } + } + + @MainActor private func beginKeepAwake(_ name: String) -> KeepAwakeToken { + keepAwakeCount += 1 + UIApplication.shared.isIdleTimerDisabled = true + let token = KeepAwakeToken() + token.bgTask = UIApplication.shared.beginBackgroundTask(withName: name) { + Task { @MainActor in + guard !token.ended, token.bgTask != .invalid else { return } + UIApplication.shared.endBackgroundTask(token.bgTask) + token.ended = true + token.bgTask = .invalid + } + } + return token + } + + @MainActor private func endKeepAwake(_ token: KeepAwakeToken) { + if !token.ended, token.bgTask != .invalid { + UIApplication.shared.endBackgroundTask(token.bgTask) + token.ended = true + token.bgTask = .invalid + } + keepAwakeCount = max(0, keepAwakeCount - 1) + if keepAwakeCount == 0 { UIApplication.shared.isIdleTimerDisabled = false } + } + private func writeRaw(_ data: Data) { guard let p = peripheral, let c = writeChar else { return } p.writeValue(data, for: c, type: .withResponse) @@ -176,7 +229,7 @@ final class OuraRing: NSObject, ObservableObject { case .unsupported: failConnect("BLE unsupported", "BLE unsupported on this device") case .unknown, .resetting: - dbg("bluetooth state \(self.central.state.rawValue) — waiting") + dbg("bluetooth state \(Self.centralStateName(self.central.state)) — waiting") @unknown default: break } } @@ -288,12 +341,12 @@ final class OuraRing: NSObject, ObservableObject { } /// One `GetEvent` batch: collect event frames until the `0x11` summary or timeout. - private func getEventBatch(start: UInt32, timeout: TimeInterval) async -> (events: [Packet], bytesLeft: UInt32, maxTs: UInt32, gotSummary: Bool) { + private func getEventBatch(start: UInt32, timeout: TimeInterval) async -> (events: [Packet], bytesLeft: UInt32?, maxTs: UInt32, gotSummary: Bool) { await withCheckedContinuation { cont in bleQueue.async { var evs: [Packet] = [] var maxTs = start - var bytesLeft: UInt32 = 0 + var bytesLeft: UInt32? var gotSummary = false let id = UUID() var done = false @@ -340,6 +393,10 @@ final class OuraRing: NSObject, ObservableObject { dbg("GetEvent timed out before summary at cursor \(start)") return (start, false) } + guard let bytesLeft = batch.bytesLeft else { + dbg("GetEvent summary missing bytes-left at cursor \(start)") + return (start, false) + } for p in batch.events { guard p.payload.count >= 4 else { continue } let ts = UInt32(p.payload[0]) | UInt32(p.payload[1]) << 8 @@ -349,12 +406,21 @@ final class OuraRing: NSObject, ObservableObject { let identity = "\(p.tag)-\(ts)-\(body.base64EncodedString())" onEvent(DecodedEvent(tag: p.tag, timestamp: ts, name: OuraCore.eventName(tag: p.tag), json: json, identity: identity)) } - let next = batch.maxTs &+ 1 + guard batch.maxTs < UInt32.max else { + dbg("GetEvent cursor overflow at \(batch.maxTs)") + return (start, false) + } + let next = batch.maxTs + 1 let progressed = !batch.events.isEmpty && next > start if progressed { start = next } - if batch.bytesLeft == 0 || !progressed { break } + if bytesLeft == 0 { return (start, true) } + if !progressed { + dbg("GetEvent stalled at cursor \(start) with \(bytesLeft) bytes left") + return (start, false) + } } - return (start, true) + dbg("GetEvent drain hit batch limit at cursor \(start)") + return (start, false) } // MARK: - High-level flows @@ -363,6 +429,8 @@ final class OuraRing: NSObject, ObservableObject { /// random 16-byte key, install it with `SetAuthKey`, store it in the Keychain, /// then authenticate. No key typing — pairing *creates* the key. func pairNewRing() async { + let activity = await beginKeepAwake("oura-pair") + defer { Task { await self.endKeepAwake(activity) } } if writeChar == nil || !notifyReady { if writeChar == nil { connect() } await waitUntilReady() @@ -403,6 +471,8 @@ final class OuraRing: NSObject, ObservableObject { /// Connect (if needed) via the interactive scan flow, authenticate, then /// auto-sync if enabled. Used by the guide's Connect button. func authenticateAndLoad() async { + let activity = await beginKeepAwake("oura-connect-sync") + defer { Task { await self.endKeepAwake(activity) } } if writeChar == nil { connect() await waitUntilReady() @@ -662,7 +732,9 @@ final class OuraRing: NSObject, ObservableObject { /// Full re-sync from scratch (manual "Sync now"). Replaces the cached history. func syncHistory() async { guard state == .ready, !syncing, !liveActive else { return } - publish { self.syncing = true } + let activity = await beginKeepAwake("oura-full-sync") + defer { Task { await self.endKeepAwake(activity) } } + publish { self.syncing = true; self.status = "Syncing…" } // Drain into a scratch buffer; the displayed model is only swapped in once // the sync *completes*, so the UI never shows a half-synced state. var collected: [DecodedEvent] = [] @@ -683,7 +755,7 @@ final class OuraRing: NSObject, ObservableObject { self.health = model self.syncing = false self.lastSync = HealthStore.lastSync - self.status = "Connected" + self.status = "Synced" } } @@ -692,9 +764,9 @@ final class OuraRing: NSObject, ObservableObject { /// it can finish when the app was woken in the background by state restoration. func autoSyncIncremental() async { guard state == .ready, !syncing, !liveActive else { return } - let bg = await beginBG() - defer { Task { await endBG(bg) } } - publish { self.syncing = true } + let activity = await beginKeepAwake("oura-incremental-sync") + defer { Task { await self.endKeepAwake(activity) } } + publish { self.syncing = true; self.status = "Syncing…" } let start = UInt32(truncatingIfNeeded: UserDefaults.standard.integer(forKey: "syncCursor")) var fresh: [DecodedEvent] = [] let drain = await drainEventsLive(cursor: start) { fresh.append($0) } @@ -719,21 +791,10 @@ final class OuraRing: NSObject, ObservableObject { self.health = model self.syncing = false self.lastSync = HealthStore.lastSync - self.status = "Connected" + self.status = fresh.isEmpty ? "Already synced" : "Synced" } } - @MainActor private func beginBG() -> UIBackgroundTaskIdentifier { - var id: UIBackgroundTaskIdentifier = .invalid - id = UIApplication.shared.beginBackgroundTask(withName: "oura-sync") { - UIApplication.shared.endBackgroundTask(id) - } - return id - } - @MainActor private func endBG(_ id: UIBackgroundTaskIdentifier) { - if id != .invalid { UIApplication.shared.endBackgroundTask(id) } - } - /// Load the last synced history from disk so the UI has real data immediately. func loadCachedHistory() { let cached = HealthStore.load() @@ -791,7 +852,7 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { } func centralManagerDidUpdateState(_ central: CBCentralManager) { - dbg("central state -> \(central.state.rawValue)") + dbg("central state -> \(Self.centralStateName(central.state))") // Resume a restored peripheral (state restoration) before anything else. if central.state == .poweredOn, let p = peripheral, connecting, writeChar == nil { if p.state == .connected { @@ -810,6 +871,12 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String: Any], rssi RSSI: NSNumber) { dbg("discovered \(peripheral.name ?? "ring") rssi \(RSSI)") + let knownID = UserDefaults.standard.string(forKey: "ringPeripheralID") + let knownRing = knownID == peripheral.identifier.uuidString + if !autoScanning, !knownRing, RSSI.intValue < -85 { + dbg("ignoring weak unknown ring advertisement rssi \(RSSI)") + return + } central.stopScan() scanTimer?.cancel() self.peripheral = peripheral @@ -829,8 +896,8 @@ extension OuraRing: CBCentralManagerDelegate, CBPeripheralDelegate { t.schedule(deadline: .now() + 30) t.setEventHandler { [weak self] in guard let self, self.writeChar == nil else { return } - let st = self.peripheral?.state.rawValue ?? -1 - self.dbg("connect timeout (peripheral.state=\(st); 0=disc 1=connecting 2=connected)") + let st = self.peripheral.map { Self.peripheralStateName($0.state) } ?? "none" + self.dbg("connect timeout (peripheral.state=\(st))") self.failConnect("Couldn't connect", "Couldn't connect to the ring. Wear it (or put it on the charger) and keep the phone right next to it, then try again.") } t.resume(); connectTimer = t