Peter Steinberger
a38b340e07
feat(macos): add Canvas A2UI renderer
2025-12-17 11:35:06 +01:00
Peter Steinberger
df6f032f86
Canvas: simplify show + report status
2025-12-17 10:37:35 +01:00
Peter Steinberger
d293c36c85
fix(macos): anchor canvas panel to active screen
2025-12-17 09:28:53 +01:00
Peter Steinberger
2351387916
fix(chat): reduce system spam and cap history
2025-12-16 20:35:03 +01:00
Peter Steinberger
428a55971b
fix(chat-ui): improve typing dots and composer
2025-12-16 20:13:23 +01:00
Peter Steinberger
1764880037
test(macos): guard FileHandle read APIs
2025-12-16 10:41:47 +01:00
Peter Steinberger
2c97f97a3e
fix(macos): use safe FileHandle reads
2025-12-16 10:41:47 +01:00
Tu Nombre Real
90c5fce647
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
672aab20c4
ui(macos): remove Claude auth skip button
2025-12-14 19:23:49 +00:00
Peter Steinberger
cb3b0ffd4b
ui(macos): polish onboarding wording
2025-12-14 19:22:31 +00:00
Peter Steinberger
e69e5bbf60
fix(macos): hide skipped onboarding panes
2025-12-14 19:14:05 +00:00
Peter Steinberger
46aaa097da
ui(macos): recommend Opus on Claude step
2025-12-14 19:13:55 +00:00
Peter Steinberger
3aef8aea20
ui(macos): tweak Claude sign-in copy
2025-12-14 19:12:52 +00:00
Peter Steinberger
5997653cfc
fix(macos): clarify OAuth detection
2025-12-14 19:10:48 +00:00
Peter Steinberger
c6262f9dfb
docs(macos): critter-first onboarding copy
2025-12-14 06:26:51 +00:00
Peter Steinberger
99e2d82751
test(ios): bump app coverage
2025-12-14 06:09:28 +00:00
Peter Steinberger
1384fbed97
test(ios): cover RootCanvas bridge states
2025-12-14 05:51:48 +00:00
Peter Steinberger
e3e474b724
test(ios): exercise ScreenController eval
2025-12-14 05:51:12 +00:00
Peter Steinberger
668514d29b
test(ios): cover ScreenController webview setup
2025-12-14 05:42:39 +00:00
Peter Steinberger
dba10a46bb
fix(android): avoid non-exhaustive sheet switch
2025-12-14 05:42:39 +00:00
Peter Steinberger
476fffc26f
Merge remote-tracking branch 'origin/main'
2025-12-14 05:32:24 +00:00
Peter Steinberger
0c5b7995a2
Merge remote-tracking branch 'origin/main'
2025-12-14 05:31:06 +00:00
Peter Steinberger
355bf31580
test(macos): cover control/camera disabled paths
2025-12-14 05:30:39 +00:00
Peter Steinberger
504990193b
fix(camera): harden capture pipeline
2025-12-14 05:30:34 +00:00
Peter Steinberger
0895ec5a34
refactor(macos): tidy gateway discovery naming
2025-12-14 05:30:07 +00:00
Peter Steinberger
a6544fd622
fix(android): respect insets and enable settings scroll
2025-12-14 05:30:07 +00:00
Peter Steinberger
c80fbb3f71
fix(ios): update observation env in smoke tests
2025-12-14 05:27:19 +00:00
Peter Steinberger
53740c56d9
fix(macos): fix oauth base64 helper visibility
2025-12-14 05:19:49 +00:00
Peter Steinberger
0e76a55661
fix(chat-ui): reflect gateway connection
2025-12-14 05:19:01 +00:00
Peter Steinberger
96293461b6
style(ios): swiftformat
2025-12-14 05:17:59 +00:00
Peter Steinberger
86fac4bb86
ui(ios): animate idle background
2025-12-14 05:17:59 +00:00
Peter Steinberger
286c1865c0
fix(ios): use Observation environment in settings
2025-12-14 05:17:59 +00:00
Peter Steinberger
aa597631c2
fix(macos): satisfy swiftformat
2025-12-14 05:16:03 +00:00
Peter Steinberger
e941333d8c
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
7a5e9d8258
style(macos): swiftformat
2025-12-14 05:09:48 +00:00
Peter Steinberger
2c5a612329
refactor(observation): migrate SwiftUI state
2025-12-14 05:06:34 +00:00
Peter Steinberger
bd47aa4522
refactor(chat-ui): compact layout
2025-12-14 05:06:34 +00:00
Peter Steinberger
63fbafc80f
feat(android): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
1d16c110c1
feat(ios): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
2c0a2a4d8b
feat(macos): sync wake words via gateway
2025-12-14 05:06:27 +00:00
Peter Steinberger
db8278ea31
fix(macos): live-check Pi oauth.json
2025-12-14 04:48:03 +00:00
Peter Steinberger
9374c0b786
style(ios): swiftformat
2025-12-14 04:47:15 +00:00
Peter Steinberger
8ab161e1e4
style(macos): swiftformat
2025-12-14 04:42:04 +00:00
Peter Steinberger
1839f766b9
chore(protocol): sync generated artifacts
2025-12-14 04:42:04 +00:00
Peter Steinberger
a09fd319ef
feat(ios): add discovery debug logs
2025-12-14 04:36:00 +00:00
Peter Steinberger
bbcf078dce
fix(android): safe area + settings scroll
2025-12-14 04:35:06 +00:00
Peter Steinberger
8b25844f85
test(macos): boost Clawdis coverage to 40%
2025-12-14 04:31:04 +00:00
Peter Steinberger
84d466ed1a
fix(camera): retain capture delegates
2025-12-14 04:31:04 +00:00
Peter Steinberger
0105786fe3
fix(chat): improve history + polish SwiftUI panel
2025-12-14 04:31:04 +00:00
Peter Steinberger
420e6040ed
fix(macos): sane chat window placement
2025-12-14 04:31:04 +00:00