Peter Steinberger
cdb5ddb2da
feat(macos): add Canvas A2UI renderer
2025-12-17 11:35:06 +01:00
Peter Steinberger
c5867b2876
Canvas: simplify show + report status
2025-12-17 10:37:35 +01:00
Peter Steinberger
9dcdeb15ec
fix(macos): anchor canvas panel to active screen
2025-12-17 09:28:53 +01:00
Peter Steinberger
e1e3da946f
fix(chat): reduce system spam and cap history
2025-12-16 20:35:03 +01:00
Peter Steinberger
49a9f74753
fix(chat-ui): improve typing dots and composer
2025-12-16 20:13:23 +01:00
Peter Steinberger
66a0813e44
test(macos): guard FileHandle read APIs
2025-12-16 10:41:47 +01:00
Peter Steinberger
64d6d25d65
fix(macos): use safe FileHandle reads
2025-12-16 10:41:47 +01:00
Tu Nombre Real
5e8c8367f3
fix(macos): lazy-init AVAudioEngine to prevent Bluetooth audio ducking
...
Creating AVAudioEngine at singleton init time causes macOS to switch
Bluetooth headphones from A2DP (high quality) to HFP (headset) profile,
resulting in degraded audio quality even when Voice Wake is disabled.
This change makes audioEngine optional and only creates it when voice
recognition actually starts, preventing the profile switch for users
who don't use Voice Wake.
Fixes #30
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-16 09:35:02 +00:00
Peter Steinberger
7948d071e0
ui(macos): remove Claude auth skip button
2025-12-14 19:23:49 +00:00
Peter Steinberger
fb23717102
ui(macos): polish onboarding wording
2025-12-14 19:22:31 +00:00
Peter Steinberger
3d959c46d0
fix(macos): hide skipped onboarding panes
2025-12-14 19:14:05 +00:00
Peter Steinberger
4cdd61eb78
ui(macos): recommend Opus on Claude step
2025-12-14 19:13:55 +00:00
Peter Steinberger
6d08d84011
ui(macos): tweak Claude sign-in copy
2025-12-14 19:12:52 +00:00
Peter Steinberger
f6cafd1a15
fix(macos): clarify OAuth detection
2025-12-14 19:10:48 +00:00
Peter Steinberger
5792887883
docs(macos): critter-first onboarding copy
2025-12-14 06:26:51 +00:00
Peter Steinberger
e82ee731bf
test(ios): bump app coverage
2025-12-14 06:09:28 +00:00
Peter Steinberger
5e09aae4ca
test(ios): cover RootCanvas bridge states
2025-12-14 05:51:48 +00:00
Peter Steinberger
740f7b0fb6
test(ios): exercise ScreenController eval
2025-12-14 05:51:12 +00:00
Peter Steinberger
7510a6f66a
test(ios): cover ScreenController webview setup
2025-12-14 05:42:39 +00:00
Peter Steinberger
1ff7d458a5
fix(android): avoid non-exhaustive sheet switch
2025-12-14 05:42:39 +00:00
Peter Steinberger
3f5dff35f8
Merge remote-tracking branch 'origin/main'
2025-12-14 05:32:24 +00:00
Peter Steinberger
08bfe2b263
Merge remote-tracking branch 'origin/main'
2025-12-14 05:31:06 +00:00
Peter Steinberger
42645a7e0a
test(macos): cover control/camera disabled paths
2025-12-14 05:30:39 +00:00
Peter Steinberger
7d4c8ef6b2
fix(camera): harden capture pipeline
2025-12-14 05:30:34 +00:00
Peter Steinberger
a1d7b8db6f
refactor(macos): tidy gateway discovery naming
2025-12-14 05:30:07 +00:00
Peter Steinberger
4a3a4558e2
fix(android): respect insets and enable settings scroll
2025-12-14 05:30:07 +00:00
Peter Steinberger
1b83fc85cd
fix(ios): update observation env in smoke tests
2025-12-14 05:27:19 +00:00
Peter Steinberger
841a9b4c8a
fix(macos): fix oauth base64 helper visibility
2025-12-14 05:19:49 +00:00
Peter Steinberger
f3db02018f
fix(chat-ui): reflect gateway connection
2025-12-14 05:19:01 +00:00
Peter Steinberger
4cbaee59cd
style(ios): swiftformat
2025-12-14 05:17:59 +00:00
Peter Steinberger
0d10aa4098
ui(ios): animate idle background
2025-12-14 05:17:59 +00:00
Peter Steinberger
f3f8aa5397
fix(ios): use Observation environment in settings
2025-12-14 05:17:59 +00:00
Peter Steinberger
4970af6bb9
fix(macos): satisfy swiftformat
2025-12-14 05:16:03 +00:00
Peter Steinberger
a48aebc78c
iOS: Fix canvas touch events and auto-hide status bubble
...
- Disable scroll on WKWebView to allow touch events to reach canvas
- Add WKNavigationDelegate to intercept clawdis:// deep links from canvas
- Wire up onDeepLink callback to handle taps on canvas buttons
- Auto-hide status bubble after 3 seconds
2025-12-14 05:14:26 +00:00
Peter Steinberger
26bbddde8f
style(macos): swiftformat
2025-12-14 05:09:48 +00:00
Peter Steinberger
b48a556de5
refactor(observation): migrate SwiftUI state
2025-12-14 05:06:34 +00:00
Peter Steinberger
aab5c490dc
refactor(chat-ui): compact layout
2025-12-14 05:06:34 +00:00
Peter Steinberger
d54cc49d66
feat(android): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
0cef22ef83
feat(ios): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
7b2f712e20
feat(macos): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
26a05292b9
fix(macos): live-check Pi oauth.json
2025-12-14 04:48:03 +00:00
Peter Steinberger
caaa79bb76
style(ios): swiftformat
2025-12-14 04:47:15 +00:00
Peter Steinberger
b80c0d85e0
style(macos): swiftformat
2025-12-14 04:42:04 +00:00
Peter Steinberger
0641281cfe
chore(protocol): sync generated artifacts
2025-12-14 04:42:04 +00:00
Peter Steinberger
9e80764c2b
feat(ios): add discovery debug logs
2025-12-14 04:36:00 +00:00
Peter Steinberger
ce915d3438
fix(android): safe area + settings scroll
2025-12-14 04:35:06 +00:00
Peter Steinberger
3ef910d23e
test(macos): boost Clawdis coverage to 40%
2025-12-14 04:31:04 +00:00
Peter Steinberger
845b26a73b
fix(camera): retain capture delegates
2025-12-14 04:31:04 +00:00
Peter Steinberger
e0545e2f94
fix(chat): improve history + polish SwiftUI panel
2025-12-14 04:31:04 +00:00
Peter Steinberger
01341d983c
fix(macos): sane chat window placement
2025-12-14 04:31:04 +00:00