16 Commits
Author SHA1 Message Date
Eliot AndresandClaude Opus 5.5 6dec6a60ec Fix launch crash when MetricKit delivers a diagnostic (#16)
DebugLog.write is called from any thread, but its relay assumed the
main actor. MetricKit delivers payloads on a background queue, so
CrashReports.didReceive trapped in MainActor.assumeIsolated on launch,
and every crash queued another payload for the next launch.


Claude-Session: https://claude.ai/code/session_01KN6Wd5bdgWERis2b4x9Rm3

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:35:10 +08:00
HenryandClaude Opus 5.5 81a59ff8a3 ios: review contact, notes and zh-Hans listing draft
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:33:07 +08:00
HenryandClaude Opus 5.5 3573445307 ios: no "iPhone" in the Run Task intent description (ITMS-90626)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:25:22 +08:00
HenryandClaude Opus 5.5 20e5d6aeb7 ios: store release prep — TestFlight lane, crash reports, privacy manifest
- Drop the private UIApplication suspend selector (guideline 2.5.1); Cmd+H and the home flick remain
- iphoneagent:// debug commands only in Debug builds, so web pages can't start runs
- MetricKit crash/hang reports kept in Documents/diagnostics and included in Export all logs
- About › Report a bug opens a prefilled GitHub issue
- PrivacyInfo.xcprivacy for app and widget; ITSAppUsesNonExemptEncryption = false
- App and widget share MARKETING_VERSION / CURRENT_PROJECT_VERSION
- fastlane beta: Release archive with the LLM preset cleared and checked, then TestFlight upload
- Store listing draft (fastlane/metadata) and docs/privacy.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:25:22 +08:00
Henry 6e456655a7 Use text-only status in the minimal Dynamic Island 2026-10-16 11:52:09 +08:00
Henry 58992042e0 Keep active run status consistent across list and review 2026-10-16 11:37:37 +08:00
Henry 851a8c6110 Explain failed runs and reconnect before retrying 2026-10-16 11:31:42 +08:00
Henry 32267d6306 Show home refresh progress as an unlabeled top spinner 2026-10-16 11:26:22 +08:00
Henry c995e419c8 Add home status refresh through pull and character gestures 2026-10-16 11:23:08 +08:00
Henry c12039631e Drive Island waiting and planning text from model response progress 2026-10-16 11:04:26 +08:00
Henry 7c7b656e02 Show model timings and recover timeouts with visible Island status 2026-10-16 10:54:40 +08:00
Henry e8e8110497 Illustrate placing the board beside the phone during setup 2026-10-16 10:20:11 +08:00
Henry acc3a24e4b Clarify OpenRouter checks and add searchable model selection 2026-10-16 10:16:11 +08:00
Henry 70857e503c Show proximity guidance before discovery and keep it visible on screen 2026-10-16 09:17:25 +08:00
Henry 346feea2d5 Fix board setup recovery and simplify model provider configuration 2026-10-16 00:47:10 +08:00
HenryandClaude Opus 5.5 f911d841c0 ios: ESP32 Agent app, the agent now runs on the phone
SwiftUI app: BLE link, VideoToolbox decode, planner/actor loop ported from the server, pointer calibration and
aim, four-step setup, run replay and review, Live Activity / Dynamic Island, widgets, Siri and Shortcuts,
self-healing when the board, hotspot or mirroring drops, redacted run export. Prompts live in prompts/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 09:54:13 +08:00