Peter Steinberger
8778c39ed0
fix: restore GatewayAgentChannel enum location
2026-01-13 10:10:25 +00:00
Peter Steinberger
afde0a17b7
fix: macOS app release 2026.1.12-2
2026-01-13 10:06:07 +00:00
Peter Steinberger
6fdfe8ea73
fix: finalize channels rename cleanup
2026-01-13 08:40:40 +00:00
Peter Steinberger
84bfaad6e6
fix: finish channels rename sweep
2026-01-13 08:40:40 +00:00
Peter Steinberger
9ec0016258
chore: regenerate protocol models
2026-01-13 05:18:07 +00:00
Peter Steinberger
d8f14078f0
refactor: simplify cron job editor payloads
2026-01-13 05:13:49 +00:00
Peter Steinberger
38244b8e94
test: cover cron delete-after-run in macos
2026-01-13 05:12:48 +00:00
Peter Steinberger
9308762d0b
style: swiftformat macos swift files
2026-01-13 05:12:48 +00:00
Peter Steinberger
75a7855223
feat: cron ISO at + delete-after-run
2026-01-13 04:55:48 +00:00
Peter Steinberger
b41e75a15d
feat: cron agent binding + doctor UI refresh
2026-01-13 04:25:41 +00:00
Peter Steinberger
50260fd385
fix: sync protocol outputs
2026-01-13 04:04:22 +00:00
Peter Steinberger
6f496b7739
fix(macos): treat tests as preview
2026-01-12 20:38:34 +00:00
Peter Steinberger
7dc44b04c1
fix: close memory index and refresh protocol outputs
2026-01-12 18:49:24 +00:00
Peter Steinberger
bf7e813573
chore: release 2026.1.11-4
2026-01-12 10:52:34 +00:00
Peter Steinberger
5a29ec78ca
chore: release 2026.1.11-3
2026-01-12 10:35:50 +00:00
Peter Steinberger
c1f8f1d9d0
chore: release 2026.1.11-2
2026-01-12 10:14:24 +00:00
Peter Steinberger
c13de0b41d
chore: release 2026.1.11-1
2026-01-12 09:46:34 +00:00
Peter Steinberger
6bd689a847
chore: release 2026.1.11
2026-01-12 09:27:43 +00:00
Peter Steinberger
83c206d68a
test: isolate macos gateway connection control
2026-01-12 09:08:07 +00:00
Peter Steinberger
1f63ee565f
fix(macos): surface wizard cli errors
2026-01-12 08:33:25 +00:00
Peter Steinberger
3ab9d99eed
fix(macos): add gateway connect timeout
2026-01-12 08:24:19 +00:00
Peter Steinberger
8b60003601
fix(macos): harden onboarding wizard session handling
2026-01-12 08:16:47 +00:00
Peter Steinberger
4c5f78ca01
feat(macos): add wizard debug CLI
2026-01-12 07:41:13 +00:00
Peter Steinberger
121c9bd6f3
style: run swift lint/format
2026-01-12 05:42:10 +00:00
Peter Steinberger
51d5f16770
refactor: remove mac attach-only setting
2026-01-12 04:58:38 +00:00
Peter Steinberger
d26518687a
fix(macos): restore gateway launch agent build
2026-01-12 04:58:38 +00:00
Peter Steinberger
221c0b4cf8
fix: tighten gateway listener detection
2026-01-12 03:34:42 +00:00
Peter Steinberger
7acd26a2fc
Move provider to a plugin-architecture ( #661 )
...
* refactor: introduce provider plugin registry
* refactor: move provider CLI to plugins
* docs: add provider plugin implementation notes
* refactor: shift provider runtime logic into plugins
* refactor: add plugin defaults and summaries
* docs: update provider plugin notes
* feat(commands): add /commands slash list
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* Tests: align google shared expectations
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* refactor: move provider routing into plugins
* test: align agent routing expectations
* docs: update provider plugin notes
* refactor: route replies via provider plugins
* docs: note route-reply plugin hooks
* refactor: extend provider plugin contract
* refactor: derive provider status from plugins
* refactor: unify gateway provider control
* refactor: use plugin metadata in auto-reply
* fix: parenthesize cron target selection
* refactor: derive gateway methods from plugins
* refactor: generalize provider logout
* refactor: route provider logout through plugins
* refactor: move WhatsApp web login methods into plugin
* refactor: generalize provider log prefixes
* refactor: centralize default chat provider
* refactor: derive provider lists from registry
* refactor: move provider reload noops into plugins
* refactor: resolve web login provider via alias
* refactor: derive CLI provider options from plugins
* refactor: derive prompt provider list from plugins
* style: apply biome lint fixes
* fix: resolve provider routing edge cases
* docs: update provider plugin refactor notes
* fix(gateway): harden agent provider routing
* refactor: move provider routing into plugins
* refactor: move provider CLI to plugins
* refactor: derive provider lists from registry
* fix: restore slash command parsing
* refactor: align provider ids for schema
* refactor: unify outbound target resolution
* fix: keep outbound labels stable
* feat: add msteams to cron surfaces
* fix: clean up lint build issues
* refactor: localize chat provider alias normalization
* refactor: drive gateway provider lists from plugins
* docs: update provider plugin notes
* style: format message-provider
* fix: avoid provider registry init cycles
* style: sort message-provider imports
* fix: relax provider alias map typing
* refactor: move provider routing into plugins
* refactor: add plugin pairing/config adapters
* refactor: route pairing and provider removal via plugins
* refactor: align auto-reply provider typing
* test: stabilize telegram media mocks
* docs: update provider plugin refactor notes
* refactor: pluginize outbound targets
* refactor: pluginize provider selection
* refactor: generalize text chunk limits
* docs: update provider plugin notes
* refactor: generalize group session/config
* fix: normalize provider id for room detection
* fix: avoid provider init in system prompt
* style: formatting cleanup
* refactor: normalize agent delivery targets
* test: update outbound delivery labels
* chore: fix lint regressions
* refactor: extend provider plugin adapters
* refactor: move elevated/block streaming defaults to plugins
* refactor: defer outbound send deps to plugins
* docs: note plugin-driven streaming/elevated defaults
* refactor: centralize webchat provider constant
* refactor: add provider setup adapters
* refactor: delegate provider add config to plugins
* docs: document plugin-driven provider add
* refactor: add plugin state/binding metadata
* refactor: build agent provider status from plugins
* docs: note plugin-driven agent bindings
* refactor: centralize internal provider constant usage
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize default chat provider
* refactor: centralize WhatsApp target normalization
* refactor: move provider routing into plugins
* refactor: normalize agent delivery targets
* chore: fix lint regressions
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* feat: expand provider plugin adapters
* refactor: route auto-reply via provider plugins
* fix: align WhatsApp target normalization
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize WhatsApp target normalization
* feat: add /config chat config updates
* docs: add /config get alias
* feat(commands): add /commands slash list
* refactor: centralize default chat provider
* style: apply biome lint fixes
* chore: fix lint regressions
* fix: clean up whatsapp allowlist typing
* style: format config command helpers
* refactor: pluginize tool threading context
* refactor: normalize session announce targets
* docs: note new plugin threading and announce hooks
* refactor: pluginize message actions
* docs: update provider plugin actions notes
* fix: align provider action adapters
* refactor: centralize webchat checks
* style: format message provider helpers
* refactor: move provider onboarding into adapters
* docs: note onboarding provider adapters
* feat: add msteams onboarding adapter
* style: organize onboarding imports
* fix: normalize msteams allowFrom types
* feat: add plugin text chunk limits
* refactor: use plugin chunk limit fallbacks
* feat: add provider mention stripping hooks
* style: organize provider plugin type imports
* refactor: generalize health snapshots
* refactor: update macOS health snapshot handling
* docs: refresh health snapshot notes
* style: format health snapshot updates
* refactor: drive security warnings via plugins
* docs: note provider security adapter
* style: format provider security adapters
* refactor: centralize provider account defaults
* refactor: type gateway client identity constants
* chore: regen gateway protocol swift
* fix: degrade health on failed provider probe
* refactor: centralize pairing approve hint
* docs: add plugin CLI command references
* refactor: route auth and tool sends through plugins
* docs: expand provider plugin hooks
* refactor: document provider docking touchpoints
* refactor: normalize internal provider defaults
* refactor: streamline outbound delivery wiring
* refactor: make provider onboarding plugin-owned
* refactor: support provider-owned agent tools
* refactor: move telegram draft chunking into telegram module
* refactor: infer provider tool sends via extractToolSend
* fix: repair plugin onboarding imports
* refactor: de-dup outbound target normalization
* style: tidy plugin and agent imports
* refactor: data-drive provider selection line
* fix: satisfy lint after provider plugin rebase
* test: deflake gateway-cli coverage
* style: format gateway-cli coverage test
* refactor(provider-plugins): simplify provider ids
* test(pairing-cli): avoid provider-specific ternary
* style(macos): swiftformat HealthStore
* refactor(sandbox): derive provider tool denylist
* fix(sandbox): avoid plugin init in defaults
* refactor(provider-plugins): centralize provider aliases
* style(test): satisfy biome
* refactor(protocol): v3 providers.status maps
* refactor(ui): adapt to protocol v3
* refactor(macos): adapt to protocol v3
* test: update providers.status v3 fixtures
* refactor(gateway): map provider runtime snapshot
* test(gateway): update reload runtime snapshot
* refactor(whatsapp): normalize heartbeat provider id
* docs(refactor): update provider plugin notes
* style: satisfy biome after rebase
* fix: describe sandboxed elevated in prompt
* feat(gateway): add agent image attachments + live probe
* refactor: derive CLI provider options from plugins
* fix(gateway): harden agent provider routing
* fix(gateway): harden agent provider routing
* refactor: align provider ids for schema
* fix(protocol): keep agent provider string
* fix(gateway): harden agent provider routing
* fix(protocol): keep agent provider string
* refactor: normalize agent delivery targets
* refactor: support provider-owned agent tools
* refactor(config): provider-keyed elevated allowFrom
* style: satisfy biome
* fix(gateway): appease provider narrowing
* style: satisfy biome
* refactor(reply): move group intro hints into plugin
* fix(reply): avoid plugin registry init cycle
* refactor(providers): add lightweight provider dock
* refactor(gateway): use typed client id in connect
* refactor(providers): document docks and avoid init cycles
* refactor(providers): make media limit helper generic
* fix(providers): break plugin registry import cycles
* style: satisfy biome
* refactor(status-all): build providers table from plugins
* refactor(gateway): delegate web login to provider plugin
* refactor(provider): drop web alias
* refactor(provider): lazy-load monitors
* style: satisfy lint/format
* style: format status-all providers table
* style: swiftformat gateway discovery model
* test: make reload plan plugin-driven
* fix: avoid token stringification in status-all
* refactor: make provider IDs explicit in status
* feat: warn on signal/imessage provider runtime errors
* test: cover gateway provider runtime warnings in status
* fix: add runtime kind to provider status issues
* test: cover health degradation on probe failure
* fix: keep routeReply lightweight
* style: organize routeReply imports
* refactor(web): extract auth-store helpers
* refactor(whatsapp): lazy login imports
* refactor(outbound): route replies via plugin outbound
* docs: update provider plugin notes
* style: format provider status issues
* fix: make sandbox scope warning wrap-safe
* refactor: load outbound adapters from provider plugins
* docs: update provider plugin outbound notes
* style(macos): fix swiftformat lint
* docs: changelog for provider plugins
* fix(macos): satisfy swiftformat
* fix(macos): open settings via menu action
* style: format after rebase
* fix(macos): open Settings via menu action
---------
Co-authored-by: LK <luke@kyohere.com>
Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-01-11 11:45:25 +00:00
Peter Steinberger
d8a13481eb
fix: hide onboarding chat when configured
2026-01-11 10:34:23 +00:00
Peter Steinberger
a83f86a4a1
feat(macos): install CLI via app script
2026-01-11 10:32:52 +00:00
Peter Steinberger
6d2928888c
feat(macos): prompt for CLI install
2026-01-11 10:32:52 +00:00
Peter Steinberger
5fa682d8f0
fix(macos): show connecting state for remote tunnel
2026-01-11 04:45:37 +01:00
Peter Steinberger
89291c384b
fix(macos): improve onboarding discovery
2026-01-11 03:51:08 +01:00
Jefferson Warrior
e43abd3f14
macos: keep launchagent stable on --no-sign
2026-01-11 03:12:36 +01:00
Peter Steinberger
84d9c5f5e5
fix(macos): stabilize onboarding discovery
2026-01-11 03:02:47 +01:00
Peter Steinberger
920436da65
fix(macos): add gateway discovery refresh
2026-01-11 02:45:42 +01:00
Peter Steinberger
2cc0d8c058
fix(macos): wrap usage provider errors
2026-01-11 02:35:53 +01:00
Peter Steinberger
fa0f2b971f
fix(macos): wrap usage errors in menu
2026-01-11 02:04:27 +01:00
Peter Steinberger
b0b4b33b6b
fix: update gateway auth docs and clients
2026-01-11 01:51:24 +01:00
Peter Steinberger
49e7004664
fix(macos): group usage by selected model
2026-01-11 01:51:04 +01:00
Peter Steinberger
21ba04755b
fix(macos): onboarding location + layout
2026-01-11 01:36:00 +01:00
Peter Steinberger
d2098e4492
fix(macos): avoid discovery retries during tests
2026-01-11 01:16:39 +01:00
Peter Steinberger
3dbd6766ab
fix(macos): improve onboarding discovery + restart onboarding
2026-01-11 01:13:53 +01:00
Peter Steinberger
f3882671c9
fix(macos): avoid hiding gateways by substring match
2026-01-11 00:47:01 +01:00
Peter Steinberger
d4a93bc25c
fix: normalize model picker refs ( #683 ) (thanks @benithors)
2026-01-10 23:43:06 +01:00
benithors
7fb0b4e1eb
macOS: fix model picker formatting + protocol sync
2026-01-10 23:42:24 +01:00
benithors
04951b0629
Config: add searchable model picker with provider/model hints
2026-01-10 23:42:24 +01:00
Peter Steinberger
621f710d60
fix(mac): add tailnet discovery fallback and debug CLI
2026-01-10 23:39:27 +01:00
Peter Steinberger
66bc003126
fix: harden mac bridge disconnect handling ( #676 ) (thanks @ngutman)
2026-01-10 22:27:09 +01:00
Nimrod Gutman
55d2608808
fix(macos): stabilize bridge tunnels
2026-01-10 22:26:47 +01:00
Peter Steinberger
ee5acd6d4b
fix: move attach-only toggle to General settings
2026-01-10 22:21:40 +01:00
Peter Steinberger
d45c27e51f
chore(protocol): regenerate GatewayModels.swift
2026-01-10 22:15:06 +01:00
Peter Steinberger
8dd8818e08
style: swiftformat GatewayEnvironment
2026-01-10 18:31:36 +01:00
Peter Steinberger
e3cd431551
fix(auto-reply): RawBody commands + locked session updates ( #643 )
2026-01-10 17:32:31 +01:00
Peter Steinberger
e2733d21bf
refactor(ios): require bridge stable ID
2026-01-10 16:23:53 +00:00
Peter Steinberger
701e146c06
refactor(shared): default ToolDisplay config
2026-01-10 16:23:53 +00:00
Peter Steinberger
8bc9209094
refactor(apple): share AsyncTimeout helper
2026-01-10 16:23:53 +00:00
Peter Steinberger
5805bb051b
fix(android): enforce strict lint checks
2026-01-10 16:04:32 +00:00
Peter Steinberger
ef3bab5a74
fix(macos): improve activity tool labels
2026-01-10 16:04:32 +00:00
Peter Steinberger
f428ed9038
fix(ios): enable strict concurrency checks
2026-01-10 16:04:32 +00:00
Kristijan Jovanovski
e4fea2b80b
fix(ios): add Swift 6 strict concurrency compatibility
...
Applies the same Swift 6 compatibility patterns from PR #166 (macOS) to the iOS app.
Changes:
- LocationService.swift: Added Sendable constraint to withTimeout<T> generic,
made CLLocationManagerDelegate methods nonisolated with Task { @MainActor in }
pattern to safely access MainActor state
- TalkModeManager.swift: Fixed OSLog string interpolation to avoid operator
overload issues with OSLogMessage in Swift 6
Addresses #164
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 16:04:32 +00:00
Peter Steinberger
001a19eb2c
refactor: tidy mac bundled gateway packaging
2026-01-10 16:03:36 +01:00
Peter Steinberger
449bee9645
fix: bundle node runtime for mac app
2026-01-10 15:28:37 +01:00
Peter Steinberger
870c9f0b99
refactor: stop pinning hardcoded main session in chat UI
2026-01-09 23:20:58 +01:00
Peter Steinberger
50461c23c0
fix(protocol): sync generated Swift models
2026-01-09 22:12:28 +00:00
Peter Steinberger
15757d01bc
fix(protocol): regen Swift GatewayModels
2026-01-09 22:10:01 +00:00
Peter Steinberger
92cc7a841c
refactor: centralize main session key normalization in apps
2026-01-09 22:38:17 +01:00
Wes
6f5503688d
fix(macos): prevent launch-at-login plist deletion on startup
2026-01-09 21:53:32 +01:00
Peter Steinberger
81e7e25b3a
style(macos): swiftformat cleanup
2026-01-09 19:49:12 +00:00
Peter Steinberger
dac3b675cc
fix: stabilize CI path assumptions
2026-01-09 18:35:52 +01:00
Peter Steinberger
c892fd174e
refactor(sessions): add sessions.resolve + label helper ( #570 )
2026-01-09 17:02:57 +01:00
Peter Steinberger
7d518e336e
feat(sessions): label lookup tightening ( #570 ) (thanks @azade-c)
2026-01-09 16:42:09 +01:00
Peter Steinberger
f5cc6bb283
fix: harden node bridge keepalive
2026-01-09 15:46:45 +01:00
Peter Steinberger
f7e8cd8ac8
chore: regen protocol models ( #570 ) (thanks @azade-c)
2026-01-09 15:32:49 +01:00
Peter Steinberger
cb86d0d6d4
fix: land mac node bridge ping loop ( #572 ) (thanks @ngutman)
2026-01-09 14:01:20 +01:00
Nimrod Gutman
975aa5bf82
fix(macos): add node bridge ping loop
2026-01-09 13:50:38 +01:00
Peter Steinberger
7b81d97ec2
feat: wire multi-agent config and routing
...
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger
e0c310d056
chore: bump versions to 2026.1.9
2026-01-09 10:02:15 +01:00
Peter Steinberger
151523f47b
feat: add usage cost reporting
2026-01-09 02:29:54 +00:00
Erik von Essen Fisher
fb0c566b2a
Rebrand app icons from Clawdis to Clawdbot
...
Replace app icons with new Clawdbot branding (lobster-in-phone-booth design) across iOS, Android, and macOS.
Changes:
- iOS: Updated all 14 icon sizes in AppIcon.appiconset (20px to 1024px)
- Android: Updated launcher icons for all density buckets (mdpi to xxxhdpi)
- macOS: Updated Icon.icon bundle and regenerated Clawdbot.icns
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 23:31:24 +01:00
Peter Steinberger
f1bc178141
fix: land macos resource bundle guard ( #473 ) — thanks @gupsammy
2026-01-08 19:24:20 +00:00
gupsammy
29e9a574b0
fix(macos): prevent crash from missing ClawdbotKit resources and Swift library
...
The macOS app was crashing in two scenarios:
1. Bundle.module crash (fixes #213 ): When the first tool event arrived,
ToolDisplayRegistry tried to load config via ClawdbotKitResources.bundle,
which used Bundle.module directly. In packaged apps, Bundle.module
couldn't find the resource bundle at the expected path, causing a
fatal assertion failure after ~40-80 minutes of runtime.
2. dyld crash (fixes #417 ): Swift 6.2 requires libswiftCompatibilitySpan.dylib
but SwiftPM doesn't bundle it automatically, causing immediate crash on
launch with "Library not loaded" error.
Changes:
- ClawdbotKitResources.swift: Replace direct Bundle.module access with a
safe locator that checks multiple paths and falls back gracefully
- package-mac-app.sh: Copy ClawdbotKit_ClawdbotKit.bundle to Resources
- package-mac-app.sh: Copy libswiftCompatibilitySpan.dylib from Xcode
toolchain to Frameworks
Tested on macOS 26.2 with Swift 6.2 - app launches and runs without crashes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:24:20 +00:00
Peter Steinberger
257204f0cd
fix: remove swift/android build warnings
2026-01-08 05:57:27 +00:00
Peter Steinberger
7d492cb0ab
chore: sync app versions
2026-01-08 05:21:20 +00:00
Peter Steinberger
9fd2fd9362
chore: bump version to 2026.1.8
2026-01-08 05:15:51 +00:00
Peter Steinberger
0bcf3f40f4
fix(ci): sync logs tail protocol artifacts
2026-01-08 03:49:19 +00:00
Peter Steinberger
1e1293cc0a
style: swiftformat sweep
2026-01-08 02:36:29 +00:00
SirCrumpet
2381c19925
fix(macos): fix node bridge tunnel port override
2026-01-08 03:09:31 +01:00
Peter Steinberger
1ebde4dc24
style: align voice wake text utils format
2026-01-08 01:49:29 +00:00
Peter Steinberger
d9482719fb
refactor: share voice wake text utils
2026-01-08 01:46:25 +00:00
Peter Steinberger
45deb50e1a
fix: voice wake logging privacy (PR #438 @xadenryan)
2026-01-08 01:37:42 +00:00
Xaden Ryan
a15943c809
Mac: format voice wake files
2026-01-08 01:36:16 +00:00
Xaden Ryan
da972b119d
Voice Wake: trigger on wake-word pause
2026-01-08 01:36:15 +00:00
Xaden Ryan
804177b1f5
Voice Wake: preserve mic selection across disconnects
...
- Keep the chosen mic label visible when it disconnects and show a disconnected hint while falling back to system default.
- Avoid clearing the preferred mic on device changes so it auto-restores when available.
- Add audio input change and default-input logs in voice wake runtime/tester/meter to debug routing.
2026-01-08 01:36:15 +00:00
Xaden Ryan
830613d9fa
Mac: keep voice wake tester local-only
...
Why: Start Test is a local verification tool, but it was forwarding transcripts to the gateway/chat, which confused users and made tests look like real commands.
What: stop forwarding from VoiceWakeTester and clarify in docs that the tester does not send to the gateway.
2026-01-08 01:36:15 +00:00
Xaden Ryan
0f1a262ae1
Mac: stabilize voice wake test flow
...
Why: voice wake tests often delivered partial/final transcripts without reliable word timings, so trigger matching failed, timeouts overwrote detections, and test runs/mic capture kept running after UI changes.
What: add text-only/prefix fallback and silence-based detection in the test flow, stop/clean up any prior test, cancel timeout on detection/stop, and tear down meter/test when the Voice Wake tab is inactive. Runtime detection now falls back on final text-only matches when timing is missing. UI state now reflects finalizing and prevents hanging tests.
2026-01-08 01:36:15 +00:00
Peter Steinberger
02ad9eccad
fix: resolve CI asset/protocol drift
2026-01-08 01:25:17 +00:00
Peter Steinberger
9859ad3176
style(macos): swiftformat + swiftlint cleanup
2026-01-07 20:41:41 +00:00
Peter Steinberger
2b6adc9e60
test(macos): make env/defaults helper Swift 6-safe
2026-01-07 20:32:15 +00:00
Peter Steinberger
eb5f0b73a9
refactor(macos): inject main-actor services into node runtime
2026-01-07 20:32:15 +00:00
Peter Steinberger
5a09926126
test(macos): isolate env + defaults
2026-01-07 20:32:15 +00:00
Peter Steinberger
d45fcc44da
refactor(macos): move launchctl + plist snapshot
2026-01-07 20:32:15 +00:00
Peter Steinberger
f10d1fd9ac
fix(macos): stabilize node runtime + menu sessions
2026-01-07 19:42:49 +00:00
Peter Steinberger
8913bfbcd5
refactor(macos): drop duplicate AnyCodable
2026-01-07 19:42:49 +00:00
Peter Steinberger
e4f62c5b0c
fix(macos): make launchd enable idempotent
2026-01-07 19:42:49 +00:00
gupsammy
c572859c86
fix(macos): prevent gateway launchd race condition on startup ( #306 )
2026-01-07 19:42:49 +00:00
Peter Steinberger
9be7e1b332
fix(ClawdbotKit): bundle tool-display.json
2026-01-07 18:30:45 +00:00
François Catuhe
04ae9bdbef
fix(android): rotate camera photos by EXIF orientation
2026-01-07 19:19:07 +01:00
Manuel Jiménez Torres
6de2a1d958
fix(android): fix build error
2026-01-07 18:09:31 +00:00
Peter Steinberger
ec0ae6fb85
fix(android): drop broken apk output renaming
2026-01-07 18:04:37 +00:00
Peter Steinberger
b83570c5e7
fix(android): restore tool display config
2026-01-07 15:38:10 +00:00
Peter Steinberger
491a6e02fb
Merge branch 'main' into pr-402
2026-01-07 15:36:34 +00:00
Peter Steinberger
7f6b98929f
build(android): bump 2026.1.7 + apk naming
2026-01-07 15:30:03 +00:00
François Catuhe
d3ae92aaa8
android: set version 2026.1.5, add APK naming convention, remove duplicate asset
2026-01-07 16:05:26 +01:00
Peter Steinberger
85e536f3ff
fix(macos): validate remote ports
2026-01-07 11:00:21 +00:00
Nima Karimi
a5b29623b8
fix(macos): honor discovered gateway ports
2026-01-07 10:51:06 +00:00
Peter Steinberger
9bf6684366
feat: add provider usage tracking
2026-01-07 11:42:46 +01:00
Peter Steinberger
86fde78442
chore: sync swift protocol models
2026-01-07 06:14:15 +00:00
Peter Steinberger
b0bd7b946e
fix(macos): fix swiftformat lint in A2UI handler
2026-01-06 21:54:46 +01:00
Peter Steinberger
250debcc00
Merge PR #310
2026-01-06 20:25:47 +01:00
Peter Steinberger
91f67f5bd7
build(protocol): regenerate protocol artifacts
2026-01-06 18:37:20 +00:00
Peter Steinberger
dbfa316d19
feat: multi-agent routing + multi-account providers
2026-01-06 18:33:37 +00:00
Nimrod Gutman
62e590323a
fix(macOS): keep gateway config sync local
2026-01-06 18:05:28 +02:00
Peter Steinberger
dbac51e60f
chore(protocol): regenerate GatewayModels.swift
2026-01-06 09:55:58 +01:00
Shadow
69f285c5ca
chore: fixed CI
2026-01-05 23:36:48 -06:00
Marcus Neves
67e1452f4a
Cron: normalize cron.add inputs + align channels ( #256 )
...
* fix: harden cron add and align channels
* fix: keep cron tool id params
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-06 02:09:48 +00:00
Peter Steinberger
8e8d07cbf4
fix(ci): satisfy formatter checks
2026-01-05 13:55:53 +00:00
Peter Steinberger
d9103b387a
fix: sync gateway mode via gateway config
2026-01-05 06:39:37 +00:00
Peter Steinberger
30038f7d37
fix: custom connections sidebar
2026-01-05 07:25:13 +01:00
Peter Steinberger
7c51efe8f8
fix: prefer gateway config in local mode
2026-01-05 06:16:48 +00:00
Peter Steinberger
1119f2003e
fix: preserve JSON5 config parsing
2026-01-05 06:16:48 +00:00
Peter Steinberger
0d0da2e297
fix: remove sidebar toggle toolbar item safely
2026-01-05 06:49:57 +01:00
Peter Steinberger
82c16a8bed
fix: remove settings sidebar toggle
2026-01-05 06:48:49 +01:00
Peter Steinberger
545f52d7d5
fix: hide settings toolbar row
2026-01-05 06:36:34 +01:00
Peter Steinberger
a7d33c06f9
refactor: align agent lifecycle
2026-01-05 05:55:02 +01:00
Peter Steinberger
a89204362e
fix: use sidebar settings layout
2026-01-05 05:54:21 +01:00
Peter Steinberger
95d9160e27
fix: avoid settings toolbar overflow
2026-01-05 05:32:14 +01:00
Peter Steinberger
8a31a868c0
fix: honor tailnet bind for macOS gateway endpoint
2026-01-05 05:30:40 +01:00
Peter Steinberger
f871563f37
chore: sync generated protocol swift
2026-01-05 00:54:54 +00:00
Peter Steinberger
39e482414a
chore: apply upstream autostash
2026-01-05 00:26:52 +00:00
Andranik Sahakyan
d9a9f6db7d
fix(mac): add Sendable conformance to generated Swift protocol structs ( #195 )
...
* fix(mac): add Sendable conformance to generated Swift protocol structs
* fix(mac): make generated protocol types Sendable
* chore(mac): drop redundant Sendable extensions
* docs(changelog): thank @andranik-sahakyan for Sendable fix
* chore(swiftformat): exclude generated protocol models
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-04 22:39:21 +00:00
Nachx639
fa3a768a3a
fix(macos): remove authorizedWhenInUse references (iOS-only API) ( #165 )
...
CLAuthorizationStatus.authorizedWhenInUse only exists on iOS. On macOS,
location services only support .authorizedAlways. This was causing
compilation warnings and potentially incorrect behavior.
Fixes:
- GeneralSettings.swift: Remove authorizedWhenInUse check
- PermissionManager.swift: Update ensureLocation and status methods
- MacNodeRuntime.swift: Update location permission check
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 17:58:01 +00:00
Peter Steinberger
5dcf43d6ad
test: cover macos location permission status
2026-01-04 18:49:36 +01:00
Peter Steinberger
9eee832282
chore: update protocol swift models
2026-01-04 18:16:36 +01:00
Peter Steinberger
564cc9359d
style: swiftformat gateway models
2026-01-04 18:12:33 +01:00
Peter Steinberger
e2c6a96cd3
test(android): cover notification tap intent
2026-01-04 18:05:26 +01:00
Manuel Jiménez Torres
7200dabfb2
feat(android): open app when tapping foreground service notification
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 18:05:26 +01:00
Peter Steinberger
d923dc56ec
fix: update ClawdBot Swift references
2026-01-04 17:57:53 +01:00
Peter Steinberger
5eb6b779f5
fix: macOS Swift cleanup
2026-01-04 17:57:53 +01:00
Peter Steinberger
4e072d59c1
chore(protocol): regenerate GatewayModels
2026-01-04 16:05:47 +00:00
Peter Steinberger
5d29985c4f
fix: avoid sendable issue in mac location timeout
2026-01-04 16:27:17 +01:00
Peter Steinberger
026a25d164
chore: lint and format cleanup
2026-01-04 16:24:17 +01:00
Peter Steinberger
fd95ededaa
refactor: streamline node invoke handling
2026-01-04 16:24:17 +01:00
Peter Steinberger
c0b248f291
refactor: split connections settings/store
2026-01-04 16:24:17 +01:00
Peter Steinberger
246adaa119
chore: rename project to clawdbot
2026-01-04 14:38:51 +00:00
Peter Steinberger
529cf91ac3
fix: keep node presence fresh
2026-01-04 14:41:52 +01:00
Peter Steinberger
71fdf46f18
fix(android): refresh hello on sms permission grant
2026-01-04 13:59:05 +01:00
Peter Steinberger
0d56a73118
fix(android): add sms permission flow and tests
2026-01-04 13:59:05 +01:00
Vasanth Rao Naik Sabavat
1318276105
feat(android): add SMS sending capability to Android node
...
Add sms.send command to allow sending text messages via the paired Android device.
Changes:
- Add SmsManager class to handle SMS sending via Android SmsManager API
- Add ClawdisSmsCommand enum and Sms capability to protocol constants
- Wire sms.send command into NodeRuntime invoke handler
- Add SEND_SMS permission to AndroidManifest.xml
- Advertise sms capability when SEND_SMS permission is granted
The SMS capability is only advertised when the user has granted SEND_SMS
permission. Messages longer than 160 chars are automatically split into
multipart messages.
2026-01-04 13:58:05 +01:00
Peter Steinberger
259b14d66a
chore: refresh protocol models
2026-01-04 07:07:21 +01:00
Peter Steinberger
04cd1bd11a
fix(macos): bridge wizard option values
2026-01-04 06:17:07 +01:00
Tu Nombre Real
b978cc4e91
feat(macos): add Swift 6 strict concurrency compatibility
...
Prepares the macOS app for Swift 6 strict concurrency mode by:
1. Adding Sendable conformance to WizardNextResult, WizardStartResult,
and WizardStatusResult in GatewayModels.swift
2. Adding AnyCodable bridging helpers in OnboardingWizard.swift to
handle type conflicts between ClawdisProtocol and local module
3. Making CLLocationManagerDelegate methods nonisolated in:
- MacNodeLocationService.swift
- PermissionManager.swift (LocationPermissionRequester)
Using Task { @MainActor in } pattern to safely access MainActor
state from nonisolated protocol requirements.
These changes are forward-compatible and don't affect behavior on
current Swift versions.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 06:09:52 +01:00
Peter Steinberger
add1301a51
feat(sessions): add agent-to-agent post step
2026-01-04 03:04:55 +01:00
Peter Steinberger
052cec70ae
fix: render thinking text in italics
2026-01-04 02:44:11 +01:00
Cash Williams
12186e14a9
fix(android): handle unreachable gateway gracefully
...
Previously, if the gateway was unreachable (wrong IP, offline, etc.),
the Android app would crash with an unhandled socket exception.
Changes:
- Wrap socket.connect() in try/catch to handle connection failures
- Return PairResult with error message instead of crashing
- Display actual error message in status text instead of generic 'pairing required'
This gives users useful feedback like 'Connection refused' or
'Network is unreachable' instead of a crash.
2026-01-04 01:44:43 +01:00
Peter Steinberger
44bdd4ca0c
chore: regen Swift protocol models
2026-01-04 01:20:20 +01:00
Peter Steinberger
5862f95bd2
fix: lock main session deletion
2026-01-03 23:57:17 +00:00
Peter Steinberger
e1dd764504
feat: add node location support
2026-01-04 00:54:44 +01:00
Peter Steinberger
3d39e2ad75
feat(macos): sync gateway config
2026-01-03 22:17:04 +01:00
Peter Steinberger
52458a5628
Discord: default reaction notifications to own
2026-01-03 18:48:36 +00:00
Shadow
451174ca10
Discord: add reaction notification allowlist
2026-01-03 18:48:36 +00:00
Peter Steinberger
0af89022ff
fix: avoid Swift compiler crash in onboarding wizard
2026-01-03 17:59:37 +00:00
Peter Steinberger
53baba71fa
feat: unify onboarding + config schema
2026-01-03 16:48:08 +01:00
Peter Steinberger
be3da5b856
fix: update protocol models and android parsing
2026-01-03 15:04:24 +00:00
Peter Steinberger
3043dd3a0c
fix: restructure macOS connections settings
2026-01-03 14:25:03 +01:00
Peter Steinberger
f11b352089
fix(macos): expand onboarding window height
2026-01-03 13:34:30 +01:00
Peter Steinberger
6e16c0699a
feat: centralize tool display metadata
2026-01-03 13:18:27 +01:00
Peter Steinberger
7165c8a7e5
refactor: rename bundle identifiers to com.clawdis
2026-01-03 12:26:22 +01:00
Peter Steinberger
f47c7ac369
feat: support configurable gateway port
2026-01-03 12:00:17 +01:00
Shadow
7400c0946e
Discord: update UIs to use the new config
2026-01-03 01:02:22 -06:00
Peter Steinberger
c3e1b8cfd9
chore: update protocol swift models
2026-01-03 06:44:21 +01:00
Peter Steinberger
b417fe5727
fix: show rich session names in chat UIs
2026-01-03 05:07:13 +01:00
Shadow
98a1deb129
UI: add discord action toggles
2026-01-03 03:07:13 +01:00
Shadow
0c38f2df2a
Discord: drop enableReactions config
2026-01-03 03:07:13 +01:00
Peter Steinberger
c5d70019bb
fix: respect onboarding scroll indicator preference
2026-01-03 02:55:43 +01:00
Shadow
a35fb3a9b4
macOS: add onboarding scroll gutter
2026-01-03 02:55:43 +01:00
Peter Steinberger
75a9cd83a0
fix(mac): resolve camera type deprecation
2026-01-03 01:49:27 +01:00
Peter Steinberger
9dd613edf7
fix(mac): harden remote tunnel recovery
2026-01-03 00:02:27 +01:00
Peter Steinberger
118a6d7421
fix: align discord config ui
2026-01-02 21:15:59 +01:00
Peter Steinberger
4541bb2716
Merge pull request #108 from thewilloftheshadow/shadow/ui-connection-update
...
UI: Update connections UIs
2026-01-02 21:04:45 +01:00
Peter Steinberger
675420013d
fix(macos): resolve gateway launch args
2026-01-02 19:58:38 +00:00
Peter Steinberger
7b4fa9e1a1
test: cover camera list invoke
2026-01-02 20:24:41 +01:00
Peter Steinberger
8b47315845
fix(macos): improve session preview loading
2026-01-02 19:55:19 +01:00
Shadow
96a5e01878
macOS: swiftformat connections settings
2026-01-02 12:30:59 -06:00
Shadow
5e36390a27
macOS: fix swiftlint param count
2026-01-02 12:25:47 -06:00
Shadow
729a545173
Update connections UIs
2026-01-02 12:06:05 -06:00
Peter Steinberger
49e89cf3f1
fix: satisfy swiftformat for ios build
2026-01-02 18:48:05 +01:00
Peter Steinberger
8e48cffe3b
fix(macos): decode session preview payload
2026-01-02 18:32:03 +01:00
Peter Steinberger
3ed01adabc
feat(macos): add session previews in menu
2026-01-02 18:29:47 +01:00
Peter Steinberger
74db53d939
feat: add camera list and device selection
2026-01-02 18:23:26 +01:00
Peter Steinberger
2b34bf08da
fix: resolve mac camera continuation isolation
2026-01-02 18:02:24 +01:00
Peter Steinberger
34d2e1e2e8
fix: wait for camera exposure to settle
2026-01-02 17:57:34 +01:00
Peter Steinberger
a4f12babb7
test(macos): cover gateway password whitespace
2026-01-02 17:15:26 +01:00
Peter Steinberger
0de6e38ce9
fix(macos): keep config writes on main actor
2026-01-02 17:15:26 +01:00
Peter Steinberger
314164fb8a
chore: fix lint and add gateway auth tests
2026-01-02 17:15:26 +01:00
Peter Steinberger
f489b6e7a5
chore: merge origin/main
2026-01-02 16:50:29 +01:00
Peter Steinberger
a8bc974a2e
fix: harden gateway password auth
2026-01-02 16:47:52 +01:00
Peter Steinberger
8de40e0c10
feat(macos): add Camera permission to onboarding flow
...
- Add 'camera' case to Capability enum
- Add UI strings (title, subtitle, icon) in PermissionsSettings
- Add ensureCamera() and camera status check in PermissionManager
- Add CameraPermissionHelper for opening System Settings
🦞 Clawd's first code contribution!
2026-01-02 15:27:54 +00:00
Peter Steinberger
25e52e19dc
fix(macos): return node name
2026-01-02 15:28:34 +01:00
Peter Steinberger
68806902ff
fix(macos): show gateway in devices list
2026-01-02 15:27:21 +01:00
Peter Steinberger
87be5c737c
fix(macos): suppress cancelled node refresh
2026-01-02 15:12:57 +01:00
Peter Steinberger
f57f892409
fix(macos): clarify gateway error state
2026-01-02 13:48:19 +01:00
Peter Steinberger
d2e2077ada
fix: add top padding before first chat message
2026-01-02 10:23:40 +01:00
Peter Steinberger
9adbf47773
refactor: normalize group session keys
2026-01-02 10:14:58 +01:00
Jefferson Nunn
fe87d6d8be
feat(macOS): add gateway password auth support and fix Swift 6.2 concurrency
...
- Add CLAWDIS_GATEWAY_PASSWORD to launchd plist environment
- Read password from gateway.remote.password config in client
- Fix Swift 6.2 sending parameter violations in config save functions
- Add password parameter to GatewayConnection.Config type
- GatewayChannel now sends password in connect auth params
- GatewayEndpointStore and GatewayLaunchAgentManager read password from config
- CLI gateway client reads password from remote config and env
2026-01-01 21:34:46 -06:00
jeffersonwarrior
9387ecf043
fix(macos): support password auth mode for gateway connections
...
GatewayChannel now sends both 'token' and 'password' fields in the auth
payload to support both authentication modes. Gateway checks the field
matching its auth.mode configuration ('token' or 'password').
Also adds config file password fallback for remote mode, allowing
gateway password to be configured in ~/.clawdis/clawdis.json without
requiring environment variables.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-01 21:26:37 -06:00
Peter Steinberger
9180cbe821
fix: keep chat scrolled to bottom on session switch
2026-01-02 00:21:48 +01:00
Peter Steinberger
8a2168ecf6
style: fix swiftlint warnings
2026-01-02 00:17:49 +01:00
Peter Steinberger
7c0379ce05
feat: add recent session switchers
2026-01-01 23:50:26 +01:00
Peter Steinberger
279a191b86
fix(macos): colorize provider status subtitles
2026-01-01 23:16:22 +01:00
Peter Steinberger
f0da42917b
feat(macos): verify Claude OAuth in onboarding
2026-01-01 23:16:15 +01:00
Peter Steinberger
b858fdd755
feat(macos): show skills in onboarding
2026-01-01 22:55:10 +01:00
Peter Steinberger
952c8c2d64
fix: improve canvas debug status in remote mode
2026-01-01 20:41:13 +00:00
Peter Steinberger
7b1687d7e5
fix: resolve macOS config store concurrency
2026-01-01 21:31:37 +01:00
Peter Steinberger
693be03dcc
test: cover remote config routing
2026-01-01 20:29:53 +01:00
Peter Steinberger
6e3cb34024
chore: pin ElevenLabsKit + wizard note
2026-01-01 20:19:00 +01:00
Peter Steinberger
850cbfe369
fix: route macOS remote config via gateway
2026-01-01 18:58:41 +01:00
Petter Blomberg
17009d28cf
build: fix hardcoded dependency path for ElevenLabsKit
2026-01-01 17:43:27 +01:00
Marc Beaupre
b51b24955c
fix(chat): clear input immediately after send to prevent duplicate messages
...
Two issues were causing the input field to retain text after sending:
1. ChatComposer's NSViewRepresentable was skipping all updates while the
text view was first responder. Now it allows clearing (empty binding)
even during editing, only skipping other updates to avoid cursor jumps.
2. ChatViewModel cleared input after awaiting the network response, leaving
text visible during the round trip. Now clears immediately after capturing
the message content, before the async send.
Together these prevent users from accidentally re-sending messages when
the input appeared unchanged after pressing Enter.
2026-01-01 17:42:05 +01:00
Petter Blomberg
ad475239a5
fix(macos): prioritize main bundle for device resources to prevent crash
2026-01-01 17:39:33 +01:00
Peter Steinberger
a5777300d8
fix(macos): add icon to app logging menu
2026-01-01 16:48:17 +01:00
Peter Steinberger
0a4c2f91f5
fix: add bottom padding to macos web chat
2026-01-01 13:20:27 +01:00
Peter Steinberger
5b33a7dcbe
fix: polish macos web chat composer
2026-01-01 12:49:05 +01:00
Peter Steinberger
c7e2b1230c
fix: make composer pill full-width
2026-01-01 12:18:18 +01:00
Peter Steinberger
bdf6a23de9
fix: polish web chat empty/error state
2026-01-01 11:40:11 +01:00
Peter Steinberger
1a539b9830
fix(macos): restore swift test build
2026-01-01 11:05:14 +01:00
Peter Steinberger
3addd3420b
fix: tidy web chat composer layout
2026-01-01 11:05:14 +01:00
Peter Steinberger
0a9f06d60f
docs: annotate nix path resolution
2026-01-01 09:30:12 +01:00
Peter Steinberger
f6956320f9
feat: centralize config paths and expose in snapshot
2026-01-01 09:22:37 +01:00
Peter Steinberger
bcead5f0f4
fix: honor nix config overrides in mac app
2026-01-01 09:17:21 +01:00
Peter Steinberger
ad9a9d8d35
Merge remote-tracking branch 'origin/main' into upstream-preview-nix-2025-12-20
2026-01-01 09:15:28 +01:00
Peter Steinberger
2d5c401d11
fix: prefer module bundle for device models
2026-01-01 08:58:54 +01:00
Peter Steinberger
78cf68549f
Merge pull request #64 from mbelinky/fix-instances-crash
...
Fix Instances crash by bundling device model resources
2026-01-01 08:58:35 +01:00
Mariano Belinky
c4de0b8255
Use user home for pnpm path
2026-01-01 08:35:54 +01:00
Mariano Belinky
ea248f6743
Fix device model resources for Instances
2025-12-31 16:45:35 +01:00
Peter Steinberger
0babf08926
chore: add mac app logging coverage
2025-12-31 16:28:51 +01:00
Peter Steinberger
6517b05abe
feat: add swift-log app logging controls
2025-12-31 16:03:18 +01:00
Manuel Jiménez Torres
f831ccfc63
fix(android): wrong text color in user chat bubbles
2025-12-31 12:48:59 +01:00
Peter Steinberger
a2a26b26fb
fix: satisfy swiftformat in chat view
2025-12-30 20:41:12 +01:00
Peter Steinberger
ed76cd7574
fix: restore talk orb hit testing
2025-12-30 20:25:52 +01:00
Peter Steinberger
cf903be4a7
fix: avoid duplicate gateway reconnecting pill
2025-12-30 14:37:59 +01:00
Peter Steinberger
6306786645
fix: allow mp3 fallback result
2025-12-30 14:35:53 +01:00
Peter Steinberger
d7b267843e
fix: fallback mp3 when pcm blocked
2025-12-30 14:32:47 +01:00
Peter Steinberger
3d6cc435ef
fix: hop audio to main actor
2025-12-30 14:22:03 +01:00
Peter Steinberger
973bd3a427
fix: improve talk overlay input + drag
2025-12-30 14:18:51 +01:00
Peter Steinberger
7d1ec51df5
fix: modernize chat scroll position
2025-12-30 13:52:12 +01:00
Peter Steinberger
9fb74399c8
refactor: inject audio players
2025-12-30 13:46:14 +01:00
Peter Steinberger
bc0a6fffd1
fix: tighten macOS menu device rows
2025-12-30 13:31:11 +01:00
Peter Steinberger
73d595eecc
chore: sync local changes
2025-12-30 12:53:17 +01:00
Peter Steinberger
3bf8b9ccf4
fix: default android talk pcm_24000
2025-12-30 12:52:56 +01:00
Peter Steinberger
83262a67b1
refactor: extract elevenlabs kit
2025-12-30 12:48:09 +01:00
Peter Steinberger
66952a682d
test: add pcm streaming smoke
2025-12-30 12:27:06 +01:00
Peter Steinberger
9df22c0093
fix: address talk streaming build
2025-12-30 12:20:32 +01:00
Peter Steinberger
27adfb76fa
fix: stream elevenlabs tts playback
2025-12-30 12:17:40 +01:00
Peter Steinberger
9c532eac07
feat(talk): pause + drag overlay orb
2025-12-30 11:37:52 +01:00
Peter Steinberger
2814815312
feat: add talk voice alias map
2025-12-30 11:35:29 +01:00
Peter Steinberger
ab27586674
test: cover external chat completion
2025-12-30 11:23:45 +01:00
Peter Steinberger
2749c5cac3
fix: clear external streaming bubbles
2025-12-30 11:21:57 +01:00
Peter Steinberger
715cf311df
fix(ui): move mac talk orb to corner
2025-12-30 11:20:14 +01:00
Peter Steinberger
312443235d
fix(ios): unblock device builds
2025-12-30 11:16:15 +01:00
Peter Steinberger
0d95d63258
fix(macos): await-safe session key selection
2025-12-30 11:07:34 +01:00
Peter Steinberger
f86772f26c
fix(talk): harden TTS + add system fallback
2025-12-30 07:40:02 +01:00
Peter Steinberger
a7617e4d79
fix(ui): refine talk overlays
2025-12-30 06:47:35 +01:00
Peter Steinberger
7612a83fa2
fix(talk): align sessions and chat UI
2025-12-30 06:47:19 +01:00
Peter Steinberger
afbd18e8df
fix(talk): harden playback, interrupts, and timeouts
2025-12-30 06:05:43 +01:00
Peter Steinberger
be2bc61d38
fix(talk): hard-timeout ElevenLabs synthesis
2025-12-30 05:46:47 +01:00
Peter Steinberger
fb8f72d5a9
feat(ui): add centered talk orb
2025-12-30 05:27:29 +01:00
Peter Steinberger
b5ae2ccc3c
fix(voice): sync talk mode chat events
2025-12-30 05:27:11 +01:00
Peter Steinberger
05efc3eace
fix: avoid iOS talk mode audio tap crash
2025-12-30 04:52:57 +01:00
Peter Steinberger
24f8ff7548
chore(protocol): regenerate Swift gateway models
2025-12-30 04:42:08 +01:00
Peter Steinberger
c0c6782a17
fix(android): stabilize BridgeSession shutdown
2025-12-30 04:42:02 +01:00
Peter Steinberger
d2ac672f47
feat: add ui.seamColor accent
2025-12-30 04:14:36 +01:00
Peter Steinberger
e3d8d5f300
fix(macos): prevent Talk Mode audio hang
2025-12-30 04:14:16 +01:00
Peter Steinberger
c5d5c9fcb5
fix: make android canvas background visible
2025-12-30 04:02:52 +01:00
Peter Steinberger
2e040ee07a
fix: brighten android canvas
2025-12-30 03:58:18 +01:00
Peter Steinberger
9846c46434
fix: tag A2UI platform and boost Android canvas
2025-12-30 03:49:24 +01:00
Peter Steinberger
5c7c1af44e
fix: android talk timestamp parsing
2025-12-30 02:05:14 +01:00
Peter Steinberger
e119a82334
feat: talk mode key distribution and tts polling
2025-12-30 01:57:58 +01:00
Peter Steinberger
02db68aa67
fix(macos): hide Restart Gateway when remote
2025-12-30 01:57:58 +01:00
Peter Steinberger
7aabe73521
chore: sync pending changes
2025-12-30 00:59:30 +01:00
Peter Steinberger
37f85bb2d1
fix: expand talk overlay bounds
2025-12-30 00:58:58 +01:00
Peter Steinberger
39fccc3699
fix: talk overlay + elevenlabs defaults
2025-12-30 00:51:17 +01:00
Peter Steinberger
53eccc1c1e
fix: wire talk menu + mac build
2025-12-30 00:17:10 +01:00
Peter Steinberger
c56292a6ec
feat: move talk mode to overlay button
2025-12-30 00:01:21 +01:00
Peter Steinberger
857cd6a28a
fix: align ios lint and android build
2025-12-29 23:45:58 +01:00
Peter Steinberger
303954ae8c
feat: extend status activity indicators
2025-12-29 23:42:22 +01:00
Peter Steinberger
3c338d1858
fix: adjust android talk parser for kotlin json
2025-12-29 23:26:38 +01:00
Peter Steinberger
20d7882033
feat: add talk mode across nodes
2025-12-29 23:21:05 +01:00
Peter Steinberger
6927b0fb8d
fix: align camera payload caps
2025-12-29 23:20:55 +01:00
Peter Steinberger
8f0c8a6561
fix: cap camera snap payload size
2025-12-29 23:12:20 +01:00
Peter Steinberger
a61b7056d5
feat: surface camera activity in status pill
2025-12-29 23:12:03 +01:00
Peter Steinberger
b0396e196f
fix: refresh bridge tokens and enrich node settings
2025-12-29 22:11:12 +01:00
Peter Steinberger
cf42fabfd8
test: add ios swift testing + android kotest
2025-12-29 21:10:44 +01:00
Peter Steinberger
24151a2028
fix: mark screen recorder sendable
2025-12-29 20:28:06 +01:00
Peter Steinberger
c11e2d9e5e
fix: avoid self capture in ReplayKit start
2025-12-29 20:26:49 +01:00
Peter Steinberger
a8c9b2810b
fix: align ReplayKit stopCapture call
2025-12-29 20:25:44 +01:00
Peter Steinberger
7a849ab7d1
fix: isolate ReplayKit capture state
2025-12-29 20:24:34 +01:00
Peter Steinberger
c14d738d37
fix: avoid screen recorder data races
2025-12-29 20:22:26 +01:00
Peter Steinberger
65478a6ff3
fix: avoid main-actor stopCapture error
2025-12-29 20:20:14 +01:00
Peter Steinberger
41be9232fe
fix: prevent iOS screen capture crash
2025-12-29 20:10:36 +01:00
Peter Steinberger
653932e50d
fix: show connected nodes only
2025-12-29 18:35:52 +01:00
Josh Palmer
0f7029583c
macOS: load device models from bundle resources
2025-12-29 17:49:13 +01:00
Josh Palmer
1d8b47785c
feat(macos): add current TeamID to Peekaboo allowlist
...
Problem: The bridge only accepts the upstream TeamID, so packaged builds signed locally (Nix/CI) can’t use the bridge even though they are the same app.
Fix: Include the running app’s TeamID (from its code signature) in the allowlist.
Safety: TeamID gating remains; this just adds the app’s own TeamID to preserve permissions/automation in reproducible installs.
2025-12-29 17:49:13 +01:00
Josh Palmer
5d19afd422
feat: improve health checks (telegram tokenFile + hints)
2025-12-29 17:49:13 +01:00
Josh Palmer
b7363f7c18
feat: Nix mode config, UX, onboarding, SwiftPM plist, docs
2025-12-29 17:49:13 +01:00
Peter Steinberger
aa2700ffa7
chore: set ios signing team for device builds
2025-12-29 17:38:21 +01:00
Peter Steinberger
510e2a1d17
fix: menu devices list
2025-12-29 17:31:23 +01:00
Peter Steinberger
ebfe55f909
fix: enable canvas webview scrolling on mobile nodes
2025-12-29 17:13:31 +01:00
Peter Steinberger
d529736597
fix(macos): fully stop Voice Wake runtime when disabled
2025-12-28 10:17:30 +00:00
Peter Steinberger
8dfc031c4d
fix: start gateway before control channel
2025-12-28 09:24:43 +00:00
Peter Steinberger
91c9859000
fix: harden heartbeat acks + gateway reconnect
2025-12-27 20:02:27 +00:00
Peter Steinberger
907371453d
fix(macos): soften light mode usage bar track
2025-12-27 14:05:36 +01:00
Peter Steinberger
81abffd145
fix(macos): boost light mode usage bar contrast
2025-12-27 14:03:45 +01:00
Peter Steinberger
44ef8fe5c8
fix(macos): refresh sessions on menu open
2025-12-27 13:49:03 +01:00
Peter Steinberger
ec482ac867
fix(macos): tighten chat window chrome
2025-12-27 03:21:14 +01:00
Peter Steinberger
ae52fb7a01
fix(macos): relax chat window min size
2025-12-27 02:55:24 +01:00
Peter Steinberger
e8ff08e121
fix(macos): round chat window chrome
2025-12-27 02:51:59 +01:00
Peter Steinberger
cc8e104cd6
fix(macos): enforce chat window default size
2025-12-27 02:43:50 +01:00
Peter Steinberger
5919a277bb
fix(macos): stabilize menu width tracking
2025-12-27 02:43:50 +01:00
Peter Steinberger
acd3f7dba7
fix(macos): lock menu width on hover
2025-12-27 01:50:25 +01:00
Peter Steinberger
eafcd862be
chore: update protocol models
2025-12-27 01:45:58 +01:00
Peter Steinberger
8826170635
fix: resolve CI lint and android build
2025-12-27 01:41:43 +01:00
Peter Steinberger
c54e4d0900
refactor: node tools and canvas host url
2025-12-27 01:36:29 +01:00
Peter Steinberger
4daf75a469
fix(macos): enforce node bridge timeouts
2025-12-27 00:02:41 +01:00
Peter Steinberger
d0293649cd
fix(macos): refresh menu sessions without resizing
2025-12-26 22:48:58 +01:00
Peter Steinberger
353366ac54
fix(macos): expand highlighted menu rows to full width
2025-12-26 22:41:29 +01:00
Peter Steinberger
1a8ffebb00
fix(macos): stabilize menu row width
2025-12-26 22:34:18 +01:00
Peter Steinberger
5ffbddcc57
feat(mac): add allow camera toggle
2025-12-26 21:33:22 +00:00
Peter Steinberger
5fbcbe7e52
feat(mac): add discord connections UI
2025-12-26 21:33:22 +00:00
Peter Steinberger
7daa93cf5a
fix(macos): expand menu hover highlight width
2025-12-26 22:30:29 +01:00
Peter Steinberger
1f25e38c2d
fix(macos): keep menu width stable while open
2025-12-26 22:27:24 +01:00
Peter Steinberger
c10a386d17
fix(macos): detect and reset stale SSH tunnels
2025-12-26 22:12:33 +01:00
Peter Steinberger
a13db82d28
fix(nodes): improve version reporting
2025-12-26 21:45:00 +01:00
Peter Steinberger
ec392dc870
feat(mac): add node ssh and compact versions
2025-12-26 20:42:49 +00:00
Peter Steinberger
90d00fb095
fix(mac): reorder menu toggles
2025-12-26 20:42:45 +00:00
Peter Steinberger
7f4c992dd7
fix(mac): move action group below toggles
2025-12-26 20:31:37 +00:00
Peter Steinberger
ba1626a5b9
fix(ios): accept truthy A2UI ready check
2025-12-26 21:17:37 +01:00
Peter Steinberger
ab73c40bfe
fix(mac): refine node submenu copy behavior
2025-12-26 20:05:23 +00:00
Peter Steinberger
4016bc2416
fix(a2ui): center empty canvas text
2025-12-26 20:43:45 +01:00
Peter Steinberger
9302daadc1
fix(mac): align node details
2025-12-26 19:32:48 +00:00
Peter Steinberger
de7429e148
fix(mac): show node versions in menu
2025-12-26 19:25:28 +00:00
Peter Steinberger
5892bd45d8
fix(mac): tweak menu icons
2025-12-26 19:23:53 +00:00
Peter Steinberger
9317eccfc8
fix(mac): regroup menubar sections
2025-12-26 19:18:12 +00:00
Peter Steinberger
1236c4dafb
refactor: make browser actions ref-only
2025-12-26 19:02:27 +00:00
Peter Steinberger
f50f18f65a
feat(mac): refine menubar nodes layout
2025-12-26 19:02:27 +00:00
Peter Steinberger
51b6a785e6
fix(canvas): center debug status overlay
2025-12-26 20:01:23 +01:00
Peter Steinberger
f4d41ef254
chore(ios): auto team id fallback
2025-12-26 18:19:48 +01:00
Peter Steinberger
b9d80aa535
chore(ios): add team id helper
2025-12-26 18:16:13 +01:00
Peter Steinberger
541b8cbb6c
fix(ios): silence device build warnings
2025-12-26 18:09:44 +01:00
Shadow
ac659ff5a7
feat(discord): Discord transport
2025-12-26 13:20:30 +01:00
Peter Steinberger
2868dc975c
chore: require node >=22.12 and fix swiftformat lint
2025-12-25 23:02:31 +01:00
Peter Steinberger
1c88d9575e
fix(webchat): refresh bubbles on theme change
2025-12-25 22:35:46 +01:00
Peter Steinberger
57090d4f8d
fix: align chat scroll anchor
2025-12-25 04:10:47 +01:00
Peter Steinberger
2442186a31
fix: silence view warnings
2025-12-25 03:23:31 +01:00
Peter Steinberger
3bb5baa6d2
fix: default tailscale serve in settings
2025-12-24 22:09:23 +00:00
Peter Steinberger
88be2701f4
refactor: split utilities
2025-12-24 22:16:06 +01:00
Peter Steinberger
4d4308af78
fix: resolve coverage profile symbol at runtime
2025-12-24 21:43:46 +01:00
Peter Steinberger
3bc1644f34
refactor: split canvas window
2025-12-24 21:04:52 +01:00
Peter Steinberger
337390b590
fix: allow overlay present access
2025-12-24 20:24:37 +01:00
Peter Steinberger
836d950e05
fix: restore voice wake overlay build
2025-12-24 20:17:01 +01:00
Peter Steinberger
ad096f77fc
refactor: split voice wake overlay
2025-12-24 20:09:56 +01:00
Peter Steinberger
3774494f7e
test: add ios coverage tests
2025-12-24 20:00:51 +01:00
Peter Steinberger
14fae5af9e
test: add ios coverage hooks
2025-12-24 20:00:45 +01:00
Peter Steinberger
65b48561a9
refactor: split critter status label
2025-12-24 19:56:24 +01:00
Peter Steinberger
842dc14c18
style: format port guardian
2025-12-24 19:41:32 +01:00
Peter Steinberger
af1afa7ba6
style: format cron settings
2025-12-24 19:40:11 +01:00
Peter Steinberger
8c4c5e524b
refactor: split cron settings
2025-12-24 19:36:10 +01:00
Peter Steinberger
204bd7d2c4
test: add mac coverage helpers
2025-12-24 19:29:44 +01:00
Peter Steinberger
f44014ff00
refactor: split onboarding view
2025-12-24 19:29:27 +01:00
Peter Steinberger
01719b02e2
test: cover bridge settings discovery
2025-12-24 18:07:41 +01:00
Peter Steinberger
4ba86bbe00
test: cover bridge hello defaults
2025-12-24 18:07:38 +01:00
Peter Steinberger
131a9aa1ac
style: format macos sources
2025-12-24 17:47:35 +01:00
Peter Steinberger
f4fb80e523
test: expand overlay coverage
2025-12-24 17:43:30 +01:00
Peter Steinberger
49e466dd40
test: expand menu and node coverage
2025-12-24 17:43:30 +01:00
Peter Steinberger
deec315f6a
test: expand settings coverage
2025-12-24 17:43:30 +01:00
Peter Steinberger
7fafe54e16
test: expand onboarding coverage
2025-12-24 17:43:30 +01:00
Peter Steinberger
bdcbc829a0
test: add coverage flush helper
2025-12-24 17:43:30 +01:00
Peter Steinberger
aa62ac4042
fix: use recognition update segments
2025-12-24 15:27:06 +01:00
Peter Steinberger
e8f24910bd
style: swiftformat chat ui
2025-12-24 15:10:31 +01:00
Peter Steinberger
8d34e54dc5
fix: address swiftlint warnings
2025-12-24 15:10:22 +01:00
Peter Steinberger
8878fd3028
ui: merge tool call results
2025-12-24 14:38:43 +01:00
Peter Steinberger
a22d4e7962
fix: import AnyCodable for tool cards
2025-12-24 14:35:06 +01:00
Peter Steinberger
25d2d7389f
ui: render tool call cards
2025-12-24 14:29:40 +01:00
Peter Steinberger
816b784399
ui: constrain typing indicator width
2025-12-24 14:10:32 +01:00
Peter Steinberger
c250f092bb
test: cover overlay level throttling
2025-12-24 13:54:03 +01:00
Peter Steinberger
5ba90db049
perf: throttle voice overlay updates
2025-12-24 13:51:41 +01:00
Peter Steinberger
88d20c5419
perf: gate idle pulse animations
2025-12-24 13:51:40 +01:00
Peter Steinberger
e158bee95f
perf: reduce chat animation churn
2025-12-24 13:51:40 +01:00
Peter Steinberger
96da2efb13
style: swiftformat gateway process manager
2025-12-24 00:33:40 +00:00
Peter Steinberger
93af424ce5
refactor: move inbound config
2025-12-24 00:22:52 +00:00
Peter Steinberger
5e07400cd1
refactor: update macOS config paths
2025-12-23 23:45:27 +00:00
Peter Steinberger
c8c807adcc
refactor: drop PAM auth and require password for funnel
2025-12-23 13:13:09 +00:00
Peter Steinberger
facfd64787
fix: avoid spawning duplicate gateway when external listener exists
2025-12-23 12:43:51 +00:00
Peter Steinberger
af82224f82
fix: relax Sparkle delegate isolation
2025-12-23 03:36:56 +01:00
Peter Steinberger
a938e9473b
fix: isolate Sparkle delegate conformance
2025-12-23 03:28:39 +01:00
Peter Steinberger
3e88553d52
fix: isolate updater factory on main actor
2025-12-23 03:16:47 +01:00
Peter Steinberger
fc4a395c88
chore: update gateway protocol models
2025-12-23 03:05:04 +01:00
Peter Steinberger
89ace66972
style: format macOS sources
2025-12-23 03:02:09 +01:00
Tu Nombre Real
8431874b15
fix(macOS): remove redundant kickstart -k causing gateway restart loop
...
The launchd bootstrap already starts the gateway job. The subsequent
kickstart -k was killing it immediately after startup, and combined
with KeepAlive=true, this caused a port-conflict restart loop where
launchd would try to restart while the old instance was still
shutting down.
Symptoms: 'Bootstrap failed: 5: Input/output error' and repeated
'Gateway failed to start: another gateway instance is already
listening' messages in the log.
2025-12-23 01:57:54 +01:00
Peter Steinberger
54d2ccda99
feat(mac): surface update-ready state
2025-12-23 01:42:33 +01:00
Peter Steinberger
926b6d9464
chore: format wake gate + chat theme
2025-12-23 01:41:13 +01:00
Peter Steinberger
abfb6832c3
fix(mac): default session menu checks
2025-12-23 01:36:01 +01:00
Peter Steinberger
ceeea359fc
chore: remove shared build artifacts
2025-12-23 01:32:02 +01:00
Peter Steinberger
ef35868bef
feat: share wake gate via SwabbleKit
2025-12-23 01:31:59 +01:00
Peter Steinberger
ce04308c17
refactor: remove session syncing metadata
2025-12-23 00:50:51 +01:00
Peter Steinberger
823195a122
style(mac): increase session row padding
2025-12-23 00:10:38 +01:00
Peter Steinberger
581583abb4
fix(mac): drop syncing menu + show state checks
2025-12-23 00:10:38 +01:00
Peter Steinberger
882fd48408
style: add visual effect host for chat
2025-12-23 00:10:38 +01:00
Peter Steinberger
6205b955da
style(mac): adjust session row padding and menu options
2025-12-22 23:30:25 +01:00
Peter Steinberger
d265a04b19
style(mac): pad session rows + thicken bars
2025-12-22 23:22:36 +01:00
Peter Steinberger
afc09744b4
fix(mac): size highlighted session rows
2025-12-22 22:59:59 +01:00
Peter Steinberger
1e1d76d600
fix(mac): restore sessions bars with injected submenus
2025-12-22 22:49:37 +01:00
Peter Steinberger
0b70aa0c56
fix(mac): hide sessions header when disconnected
2025-12-22 22:09:26 +01:00
Peter Steinberger
4ca6591045
refactor: move OAuth storage and drop legacy sessions
2025-12-22 21:02:48 +00:00
Peter Steinberger
469c8a1a4b
fix(mac): show disconnected sessions + sleeping eyes
2025-12-22 21:13:33 +01:00
Peter Steinberger
9d47b15575
fix(mac): sessions error UI + sleeping icon
2025-12-22 21:02:45 +01:00
Peter Steinberger
f24d8473b1
fix(mac): restore session usage bar
2025-12-22 20:14:54 +01:00
Peter Steinberger
3412ff7003
style: add macos chat glass background
2025-12-22 19:55:17 +01:00
Peter Steinberger
a0dd504991
feat(mac): sessions submenus
2025-12-22 19:29:24 +01:00
Peter Steinberger
19b847b23b
style: tighten macos chat composer
2025-12-22 19:08:23 +01:00
Peter Steinberger
c872f37aae
fix: remove redundant await in CanvasManager
2025-12-22 18:53:14 +01:00
Peter Steinberger
79c0fd27a0
fix: center debug status overlay
2025-12-21 20:43:06 +01:00
Peter Steinberger
f1202ff152
chore: fix lint + build
2025-12-21 15:58:37 +01:00
Peter Steinberger
a808cdce13
fix(android): drop duplicate scaffold asset
2025-12-21 14:50:28 +01:00
Peter Steinberger
bcd3c13e2c
feat(macos): surface canvas debug status
2025-12-21 14:21:06 +01:00
Peter Steinberger
7932e966db
feat(android): toggle debug canvas status
2025-12-21 14:21:06 +01:00
Peter Steinberger
30d84643db
feat(ios): toggle debug canvas status
2025-12-21 14:21:06 +01:00
Peter Steinberger
264c91e620
feat(canvas): gate debug status overlay
2025-12-21 14:21:06 +01:00
Peter Steinberger
20630b8744
chore: bump Peekaboo + menu cleanup
2025-12-21 13:59:41 +01:00
Peter Steinberger
4021da524c
fix(chat-ui): avoid animated initial scroll
2025-12-21 12:33:41 +01:00
Peter Steinberger
5adec0eae0
fix: align canvas defaults and A2UI auto-nav
2025-12-21 12:32:36 +01:00
Peter Steinberger
2a975f751b
refactor(macos): regroup menu sections
2025-12-21 12:29:29 +01:00
Peter Steinberger
80e1934f4e
style: fix tailscale swiftformat
2025-12-21 03:52:28 +01:00
Peter Steinberger
04e3d0c2fe
style: swiftformat cleanup
2025-12-21 03:44:12 +01:00
Peter Steinberger
6496a288b8
fix: add A2UI inset vars
2025-12-21 03:21:49 +01:00
Peter Steinberger
0197fb35fe
fix: clear canvas error banner on load
2025-12-21 03:21:48 +01:00
Peter Steinberger
f90ab3c4c2
fix(mac): trim onboarding checklist
2025-12-21 01:57:18 +00:00
Peter Steinberger
79280f3d93
fix(mac): tighten onboarding layout
2025-12-21 01:57:18 +00:00
Peter Steinberger
a5b4a01594
fix(mac): shrink onboarding + respect existing workspace
2025-12-21 01:51:48 +00:00
Peter Steinberger
5b25eeb449
refactor(macos): remove manual identity onboarding
2025-12-21 01:39:50 +00:00
Peter Steinberger
fb259e8a50
fix(mac): shrink onboarding height
2025-12-21 01:35:27 +00:00
Peter Steinberger
00cdcd4d28
fix(mac): guard onboarding workspace bootstrap
2025-12-21 01:31:31 +00:00
Peter Steinberger
28ad475ab4
feat(mac): add tailscale settings
2025-12-21 01:16:49 +00:00
Peter Steinberger
de2fd659ab
fix(mac): shrink onboarding height
2025-12-21 00:57:11 +00:00
Peter Steinberger
aa198594fd
fix(mac): avoid buttonStyle ternary
2025-12-21 00:49:07 +00:00
Peter Steinberger
406a94bf76
fix: use A2UI message context
2025-12-21 01:48:21 +01:00
Peter Steinberger
fef1841fee
build: update iOS lint scripts
2025-12-21 01:48:21 +01:00
Peter Steinberger
1cb85fdea8
fix(mac): disambiguate skills install ForEach
2025-12-21 00:47:49 +00:00
Peter Steinberger
78263e81f1
fix(mac): restore skills install ForEach
2025-12-21 00:46:38 +00:00
Peter Steinberger
e94aa296e2
feat: refine skills install actions
2025-12-21 01:07:35 +01:00
Peter Steinberger
98891103d0
fix: streamline WhatsApp login flow
2025-12-21 01:07:35 +01:00
Peter Steinberger
2b2f13ca79
fix: restore canvas action bridge
2025-12-21 01:07:35 +01:00
Peter Steinberger
78159a9435
fix(onboarding): nudge bottom padding
2025-12-20 23:52:45 +00:00
Peter Steinberger
b4af7b919e
fix(macos): simplify skills view and resize onboarding
2025-12-20 23:45:50 +00:00
Peter Steinberger
65056915d3
fix(onboarding): lift bottom bar
2025-12-20 23:36:24 +00:00
Peter Steinberger
62f624b66b
fix(mac): re-ensure remote gateway tunnel
2025-12-21 00:25:56 +01:00
Peter Steinberger
aae68e4f82
style(chatui): fix SwiftFormat warnings
2025-12-21 00:25:56 +01:00
Peter Steinberger
1d715d7b1b
chore(ios): link AppIntents framework
2025-12-21 00:24:24 +01:00
Peter Steinberger
1d7110ea8f
fix(onboarding): fit chat card
2025-12-20 23:15:35 +00:00
Peter Steinberger
80f70a58e3
fix(chat): refine onboarding bubbles
2025-12-20 23:15:29 +00:00
Peter Steinberger
02f6cac9d6
style(chat): use integrated bubble tail
2025-12-20 23:00:21 +00:00
Peter Steinberger
878f074494
chore(android): update kotlin compiler settings
2025-12-20 23:43:28 +01:00
Peter Steinberger
c1050da852
chore(android): update icons and platform config
2025-12-20 23:43:28 +01:00
Peter Steinberger
df9e4bdd63
chore(macos): tidy discovery and runtime
2025-12-20 23:43:27 +01:00
Peter Steinberger
43ba1671f1
feat(macos): add connections settings
...
# Conflicts:
# apps/macos/Sources/Clawdis/SettingsRootView.swift
2025-12-20 23:43:27 +01:00
Peter Steinberger
ce4b68d5fb
fix: pre-size menu context card
2025-12-20 23:43:27 +01:00
Peter Steinberger
8c18dd40a3
feat(macos): load models from gateway
2025-12-20 23:43:27 +01:00
Peter Steinberger
817abd8b5f
feat(gateway): add models.list
2025-12-20 23:43:27 +01:00
Peter Steinberger
7aeacdcc6c
style(settings): widen window
2025-12-20 22:23:15 +00:00
Peter Steinberger
16e4a0c4bd
style(onboarding): refine bubble tails
2025-12-20 22:23:06 +00:00
Peter Steinberger
d613800516
fix(onboarding): anchor bottom bar and reduce height
2025-12-20 22:16:13 +00:00
Peter Steinberger
94b89216f7
style(onboarding): add speech bubble tails
2025-12-20 22:08:01 +00:00
Peter Steinberger
153e09120a
style(onboarding): lower bottom row
2025-12-20 22:07:51 +00:00
Peter Steinberger
238c0c1b86
fix(onboarding): clearer bubbles and tighter composer
2025-12-20 22:03:24 +00:00
Peter Steinberger
98ff213708
style(onboarding): lower bottom controls
2025-12-20 22:03:13 +00:00
Peter Steinberger
8a2a07eddb
fix(macos): always show CLI installer
2025-12-20 22:00:51 +00:00
Peter Steinberger
9076d543f3
fix(onboarding): restore bubbles and spacing
2025-12-20 21:56:03 +00:00
Peter Steinberger
cd77dc9563
fix(onboarding): restore chat bubble styling
2025-12-20 21:47:43 +00:00
Peter Steinberger
9ccf80848d
style(onboarding): reduce window height
2025-12-20 21:33:56 +00:00
Peter Steinberger
e53442d983
style(voicewake): widen label and clarify language
2025-12-20 21:14:46 +00:00
Peter Steinberger
bc079b29c3
fix(macos): fix skill install target access
2025-12-20 22:01:11 +01:00
Peter Steinberger
cd6addd742
chore(ci): swiftformat macos settings
2025-12-20 21:52:47 +01:00
Peter Steinberger
12d6e1cddd
feat(macos): choose skill install target
2025-12-20 21:52:42 +01:00
Peter Steinberger
28e5ebd72b
feat(macos): support gateway bind config
2025-12-20 21:52:19 +01:00
Peter Steinberger
d1d27a0bd6
style(onboarding): refine icon and bottom bar spacing
2025-12-20 20:24:18 +00:00
Peter Steinberger
ebb7428479
style(onboarding): nudge icon up
2025-12-20 20:19:18 +00:00
Peter Steinberger
35a25c3dc2
refactor(macos): collapse control channel status
2025-12-20 21:17:32 +01:00
Peter Steinberger
f34f374179
chore(macos): widen settings window
2025-12-20 21:17:29 +01:00
Peter Steinberger
aa330350fc
refactor(macos): simplify sessions header
2025-12-20 21:17:24 +01:00
Peter Steinberger
a2cf1f98d9
refactor(macos): move skills filter into header
2025-12-20 21:17:20 +01:00
Peter Steinberger
91d4c24078
refactor(macos): simplify skills list rows
2025-12-20 21:12:57 +01:00
Peter Steinberger
8fe0b72a04
fix: accept new ssh host keys
2025-12-20 21:06:39 +01:00
Peter Steinberger
2bcdf741f9
feat(cron): require job name
2025-12-20 19:56:49 +00:00
Peter Steinberger
9ae73e87eb
fix(onboarding): restore bottom bar padding
2025-12-20 19:50:30 +00:00
Peter Steinberger
77582ff5d4
refactor(macos): refresh skills settings layout
2025-12-20 20:49:32 +01:00
Peter Steinberger
52a2dfe08b
feat(onboarding): hide kickoff bubble and tweak typing
2025-12-20 19:46:06 +00:00
Peter Steinberger
09d2165d36
style(onboarding): lower welcome icon
2025-12-20 19:44:35 +00:00
Peter Steinberger
405ff0377a
refactor(macos): bundle single relay binary
2025-12-20 19:35:30 +00:00
Peter Steinberger
44ffe41775
fix(macos): allow identity refresh off main actor
2025-12-20 20:32:04 +01:00
Peter Steinberger
2ca7c2629c
chore(ci): fix swiftformat lint
2025-12-20 20:32:04 +01:00
Josh Palmer
483c0e4cea
chore(ci): fix biome + swiftformat lint
2025-12-20 20:32:04 +01:00
Peter Steinberger
7d51bf0eb0
fix(macos): allow identity refresh off MainActor
2025-12-20 19:19:57 +00:00
Peter Steinberger
21ac34bc6a
fix(gateway): start browser control server
2025-12-20 19:16:49 +00:00
Peter Steinberger
a44a313f77
test: cover ssh autofill helpers
2025-12-20 19:53:15 +01:00
Peter Steinberger
d159602928
refactor: centralize gateway parsing
2025-12-20 19:53:08 +01:00
Peter Steinberger
c38aeb1081
fix: resolve bonjour txt for ssh autofill
2025-12-20 19:28:40 +01:00
Peter Steinberger
35e0894655
fix: merge bonjour txt records for ssh autofill
2025-12-20 19:27:36 +01:00
Peter Steinberger
943f0d475f
fix: move host lookup off main thread
2025-12-20 19:26:04 +01:00
Peter Steinberger
cdb2a0736a
docs(onboarding): add soul creation step
2025-12-20 17:38:54 +00:00
Peter Steinberger
b13723d3d7
style: satisfy swiftformat in chat composer
2025-12-20 18:18:30 +01:00
Peter Steinberger
5936ed7941
feat(chat): restyle onboarding chat UI
2025-12-20 16:52:11 +00:00
Peter Steinberger
6b56f7d643
feat(mac): add onboarding chat kickoff
2025-12-20 16:52:11 +00:00
Peter Steinberger
9c801e9c08
Merge remote-tracking branch 'origin/main'
2025-12-20 17:33:00 +01:00
Peter Steinberger
ba0791b896
feat: add skills search and website
2025-12-20 17:32:40 +01:00
Peter Steinberger
c4a67b7d02
feat: refresh skills metadata and toggles
2025-12-20 17:32:05 +01:00
Peter Steinberger
65329496a7
refactor: serve canvas host on gateway port
2025-12-20 17:13:36 +01:00
Peter Steinberger
2288ec7384
fix(mac): align cli button height
2025-12-20 16:02:05 +00:00
Peter Steinberger
3876c1679a
feat(workspace): add bootstrap ritual
2025-12-20 15:48:57 +00:00
Peter Steinberger
f03d2d1b33
feat: advertise cli path for remote ssh
2025-12-20 16:45:26 +01:00
Peter Steinberger
e800e84a77
fix(macos): streamline onboarding ui
2025-12-20 15:20:31 +00:00
Peter Steinberger
d306fcb8a2
fix(macos): validate embedded CLI helper
2025-12-20 15:12:57 +00:00
Peter Steinberger
f508fd3fa2
feat(macos): auto-enable local gateway
2025-12-20 14:47:37 +00:00
Peter Steinberger
cf96ad8ef9
fix: route voice wake to main
2025-12-20 15:33:28 +01:00
Peter Steinberger
066a2828c4
fix(macos): clarify bridge discovery labels
2025-12-20 14:27:27 +00:00
Peter Steinberger
23ffa1905a
style: soften hover hud status dot
2025-12-20 15:20:58 +01:00
Peter Steinberger
a88e5968ae
fix(macos): hide local bridge discovery
2025-12-20 14:19:22 +00:00
Peter Steinberger
4abaf62783
feat(macos): clarify local gateway choice
2025-12-20 14:11:57 +00:00
Peter Steinberger
9bf5b92d8f
fix: clarify remote gateway error
2025-12-20 15:05:57 +01:00
Peter Steinberger
554d9bc6ce
fix: stabilize a2ui bundle output
2025-12-20 14:54:37 +01:00
Peter Steinberger
49654803aa
style: fix lint formatting
2025-12-20 14:54:37 +01:00
Peter Steinberger
055d839fc3
feat(runtime): bootstrap PATH for clawdis
2025-12-20 13:31:46 +00:00
Peter Steinberger
3e39dd49aa
fix: auto-detect tailnet DNS hint
2025-12-20 14:23:53 +01:00
Peter Steinberger
de1f119a7d
fix: add ClawdisIPC import
2025-12-20 14:07:07 +01:00
Peter Steinberger
7ce12863b8
fix: clarify SSH test failure
2025-12-20 14:07:07 +01:00
Peter Steinberger
cc0075e988
feat: add skills settings and gateway skills management
2025-12-20 13:33:42 +01:00
Peter Steinberger
ed001a5f55
refactor(canvas): host A2UI via gateway
2025-12-20 12:17:27 +00:00
Peter Steinberger
529543b36d
build: refresh a2ui bundle
2025-12-20 13:00:03 +01:00
Peter Steinberger
636e4d38d5
style: tidy macos swift formatting
2025-12-20 13:00:03 +01:00
Peter Steinberger
13124542cf
fix(a2ui): improve modal styling
2025-12-20 11:12:11 +00:00
Peter Steinberger
cd5809d11f
fix(a2ui): stabilize canvas host
2025-12-20 10:58:13 +00:00
Peter Steinberger
28938ddb32
chore: update a2ui bundle
2025-12-20 11:32:20 +01:00
Peter Steinberger
06806a1ea1
fix(mac): probe loopback bridge
2025-12-20 03:05:06 +00:00
Peter Steinberger
849446ae17
refactor(cli): unify on clawdis CLI + node permissions
2025-12-20 02:08:04 +00:00
Peter Steinberger
1a51257b71
fix(mac): use gateway main session for WebChat
2025-12-20 01:27:51 +00:00
Peter Steinberger
4e74ba996d
feat(macos): add unconfigured gateway mode
2025-12-20 02:21:10 +01:00
Peter Steinberger
80a87e5f9e
refactor(mac): remove clawdis-mac browser cli
2025-12-20 01:06:27 +00:00
Peter Steinberger
a526d3c1f2
feat(browser): add native action commands
2025-12-20 00:53:56 +00:00
Peter Steinberger
d67bec0740
style: polish logging and lint hints
2025-12-20 01:48:29 +01:00
Peter Steinberger
b2e11c504b
fix: tighten iOS main-actor handling
2025-12-20 01:48:29 +01:00
Peter Steinberger
1b38ee8b46
fix: harden device model decoding
2025-12-20 01:48:29 +01:00
Peter Steinberger
0ac7a93c28
fix: decode bonjour escaped utf8
2025-12-19 23:21:07 +01:00
Peter Steinberger
bc2a66da32
refactor: unify gateway discovery on bridge
2025-12-19 23:12:52 +01:00
Peter Steinberger
96be450cbb
fix: handle screen record microphone output
2025-12-19 22:09:38 +01:00
Peter Steinberger
56cb415509
fix: restore mac app build
2025-12-19 22:08:17 +01:00
Peter Steinberger
a4d4a30a6b
feat(macos): run bundled gateway via launchd
2025-12-19 19:21:27 +01:00
Peter Steinberger
bd63b5a231
fix: show Dock icon during onboarding
2025-12-19 19:21:26 +01:00
Peter Steinberger
590f3d0e8f
feat(templates): centralize workspace templates
2025-12-19 18:18:15 +00:00
Peter Steinberger
f929e1b105
fix: surface gateway failure details
2025-12-19 18:48:30 +01:00
Peter Steinberger
fc7a63a4de
perf: throttle gateway environment checks
2025-12-19 18:21:55 +01:00
Peter Steinberger
aec1869d32
fix(ios): make parseA2UIActionBody nonisolated
2025-12-19 18:10:10 +01:00
Peter Steinberger
ba497ce57d
chore: log gateway env timings
2025-12-19 17:54:23 +01:00
Peter Steinberger
5e7d12fefa
perf: move gateway env checks off main
2025-12-19 17:54:18 +01:00
Peter Steinberger
a019d3cd83
chore(protocol): regenerate schema
2025-12-19 17:52:50 +01:00
Peter Steinberger
8c6a592523
style(macos): swiftformat sources
2025-12-19 17:52:26 +01:00
Peter Steinberger
47a1774dc0
Mac: add summarize tool
2025-12-19 17:47:04 +01:00
Peter Steinberger
2bc0c57f18
build(canvas): refresh a2ui bundle
2025-12-19 17:47:04 +01:00
Peter Steinberger
f0705a928a
fix(macos): allow fractional timeout
2025-12-19 17:47:04 +01:00
Peter Steinberger
22f9322905
fix(ios): refine canvas and screen handling
2025-12-19 17:47:04 +01:00
Peter Steinberger
6795e78edf
fix(macos): reduce node pairing polling
2025-12-19 13:58:33 +00:00
Peter Steinberger
c498348a34
fix(control-ui): serve dashboard at root
2025-12-19 05:11:08 +00:00
Peter Steinberger
00fc731d64
feat(macos): add menu link to dashboard
2025-12-19 04:28:32 +00:00
Peter Steinberger
d80d112e09
fix(onboarding): default identity to Clawd
2025-12-19 03:12:10 +00:00
Peter Steinberger
65d723d53c
test: add canvas.present IPC coverage
2025-12-19 03:53:55 +01:00
Peter Steinberger
41108f497b
fix(onboarding): load saved identity defaults
2025-12-19 02:40:11 +00:00
Peter Steinberger
beefda7f60
refactor: replace canvas.show with canvas.present
2025-12-19 03:35:33 +01:00
Peter Steinberger
74cdc1cf3e
feat: route mac control via nodes
2025-12-19 03:16:25 +01:00
Peter Steinberger
7f3be083c1
feat: add node screen recording across apps
2025-12-19 02:57:00 +01:00
Peter Steinberger
b8012a2281
fix(canvas): load A2UI resources across platforms
2025-12-19 01:53:55 +00:00
Peter Steinberger
95ea67de28
feat: add mac node screen recording and ssh tunnel
2025-12-19 02:33:43 +01:00
Peter Steinberger
1fbd84da39
feat(nodes): add mac node mode + permission UX
2025-12-19 01:48:19 +01:00
Peter Steinberger
77a67484ea
feat(pairing): add silent SSH auto-approve
2025-12-19 01:04:47 +01:00
Peter Steinberger
8f0b5d2d97
iOS: fix camera clip clamp regression test
2025-12-19 00:53:06 +01:00
Peter Steinberger
0e3e4f269d
iOS: allow Tailnet/MagicDNS canvas actions
2025-12-19 00:52:52 +01:00
Peter Steinberger
3772a29557
macOS: add screen record + safer camera defaults
2025-12-19 00:29:38 +01:00
Peter Steinberger
7831e0040e
feat(macos): delay hover HUD
2025-12-19 00:25:46 +01:00
Peter Steinberger
3780f3152c
macOS: auto-fill Anthropic OAuth from clipboard
2025-12-18 23:15:08 +00:00
Peter Steinberger
3146f8bdbc
CanvasA2UI: refresh bundled renderer
2025-12-18 23:08:07 +00:00
Peter Steinberger
47510e2912
feat(macos): hover HUD for activity
2025-12-19 00:04:45 +01:00
Peter Steinberger
06f71d883c
Android: JPEG canvas snapshots + camera permission prompts
2025-12-18 23:32:07 +01:00
Peter Steinberger
9ace6af3df
iOS: allow A2UI actions from local canvas host
2025-12-18 23:31:49 +01:00
Peter Steinberger
9062f60e3d
ClawdisKit: accept jpg for canvas.snapshot
2025-12-18 23:31:34 +01:00
Peter Steinberger
2307756892
iOS: allow HTTP loads in WKWebView
2025-12-18 19:59:43 +01:00
Peter Steinberger
b5a89e8907
iOS: support jpeg canvas snapshots
2025-12-18 19:48:29 +01:00
Peter Steinberger
801e44f4eb
feat(node): show camera capture HUD
2025-12-18 14:49:07 +01:00
Peter Steinberger
16e2193911
fix(ios): restore ScreenController.mode
2025-12-18 13:56:40 +01:00
Peter Steinberger
982f85bf90
chore(naming): remove remaining iris references
2025-12-18 13:30:22 +01:00
Peter Steinberger
d182f7e4b2
chore(naming): remove Iris codename
2025-12-18 13:18:33 +01:00
Peter Steinberger
790079c3b6
feat(canvas): remove setMode; host A2UI in scaffold
2025-12-18 13:18:24 +01:00
Peter Steinberger
dda6d7f9e1
ci: fix swiftformat
2025-12-18 12:50:59 +01:00
Peter Steinberger
e1f320276e
Android: hide Disconnect without remote
2025-12-18 11:39:23 +01:00
Peter Steinberger
c61bd6c84d
A2UI: share web UI and action bridge
2025-12-18 11:38:32 +01:00
Peter Steinberger
cfb36525ab
Android: add canvas.a2ui push/reset
2025-12-18 10:44:50 +01:00
Peter Steinberger
6f58a9d643
iOS: support canvas.a2ui push/reset
2025-12-18 10:44:32 +01:00
Peter Steinberger
0913329b03
A2UI: share bundle via ClawdisKit
2025-12-18 10:44:06 +01:00
Peter Steinberger
402b04a68c
ci: raise iOS coverage
2025-12-18 10:34:09 +01:00
Peter Steinberger
4a68b4add4
fix(android): show backdrop behind WebView
2025-12-18 09:46:32 +01:00
Peter Steinberger
98a745b3df
macOS: hide node pairing alert host window
2025-12-18 09:37:17 +01:00
Peter Steinberger
24009ed00f
macOS: move instance update info to third row
2025-12-18 09:36:07 +01:00
Peter Steinberger
fceab511b3
Android: run canvas WebView loads on main
2025-12-18 08:31:56 +00:00
Peter Steinberger
2f8b75d86e
macOS: add leading device icons in Instances
2025-12-18 09:15:50 +01:00
Peter Steinberger
97ec5d52c3
fix(android): allow cleartext for tailnet web
2025-12-18 09:12:06 +01:00
Peter Steinberger
5c705ab675
ci: fix swiftformat and bun CI
2025-12-18 08:55:47 +01:00
Peter Steinberger
2f21b94a76
iOS: fix BridgeClient SwiftFormat indent
2025-12-18 08:40:59 +01:00
Peter Steinberger
6f1ae147da
ui: improve idle background blend mode fallback
2025-12-18 08:32:06 +01:00
Peter Steinberger
f2d503ad04
Android: drop screen.* invoke aliases
2025-12-18 02:17:35 +00:00
Peter Steinberger
82d8526732
macOS: add clawdis-mac node describe and verbose list
2025-12-18 02:06:36 +00:00
Peter Steinberger
efed2ae30f
Nodes: advertise canvas invoke commands
2025-12-18 02:06:35 +00:00
Peter Steinberger
ce1a8d70d9
Android: hide connected bridge from discovery list
2025-12-18 02:37:37 +01:00
Peter Steinberger
cd719a8c85
Android: centralize canvas protocol strings
2025-12-18 02:32:34 +01:00
Peter Steinberger
3df53836ca
fix(ui): harden idle background animation
2025-12-18 02:27:11 +01:00
Peter Steinberger
21a27e3b65
Nodes: handle canvas.* commands on iOS/Android
2025-12-18 01:20:20 +00:00
Peter Steinberger
ea53f1bec7
Android: test bridge auto-reconnect
2025-12-18 02:18:19 +01:00
Peter Steinberger
33bf5cf42a
iOS: centralize canvas commands and capabilities
2025-12-18 02:16:31 +01:00
Peter Steinberger
60321352aa
Android: add Voice Wake (foreground/always)
2025-12-18 02:08:57 +01:00
Peter Steinberger
6d60224c93
fix(android): improve webview compatibility
2025-12-18 02:08:53 +01:00
Peter Steinberger
2b2434d239
fix(android): decode UTF-8 TXT records
2025-12-18 01:58:16 +01:00
Peter Steinberger
f8bea661fc
iOS: alias canvas.* invoke commands
2025-12-18 01:57:31 +01:00
Peter Steinberger
86225d0eb6
fix(android): improve wide-area bridge discovery
2025-12-18 01:40:08 +01:00
Peter Steinberger
3351c972e7
refactor(android): drop legacy theme fallback
2025-12-18 01:39:57 +01:00
Peter Steinberger
99325040f8
gateway: persist and surface node capabilities
2025-12-18 01:36:38 +01:00
Peter Steinberger
568fcbda54
iOS: allow settings light mode
2025-12-18 01:29:45 +01:00
Peter Steinberger
f4b186a9d3
ui(nodes): unify idle background animation
2025-12-18 01:22:26 +01:00
Peter Steinberger
d862ae17eb
clawdis-mac: fetch node list via gateway
2025-12-18 00:16:36 +00:00
Peter Steinberger
99310a5bbb
style(android): respect system theme and clamp overlays
2025-12-18 01:15:50 +01:00
Peter Steinberger
1673bf2d44
fix(android): use system DNS for wide-area discovery
2025-12-18 01:04:13 +01:00
Peter Steinberger
4c656ea22f
Android: reorder settings sections
2025-12-18 01:00:50 +01:00
Peter Steinberger
7707e3d887
iOS: reorder settings sections
2025-12-18 01:00:36 +01:00
Peter Steinberger
ba204d0330
fix(android): show idle background under WebView
2025-12-18 00:53:31 +01:00
Peter Steinberger
cbb327227a
macOS: unify device + OS chip
2025-12-18 00:43:58 +01:00
Peter Steinberger
14fa2f47f5
style(android): improve idle background
2025-12-18 00:41:21 +01:00
Peter Steinberger
579da8cc9b
style(android): use tonal surfaces for overlays
2025-12-18 00:34:11 +01:00
Peter Steinberger
5693d7d733
macOS: remove Instances row duplication
2025-12-18 00:28:45 +01:00
Peter Steinberger
07c8fdffd1
macOS: compact Instances row
2025-12-18 00:24:10 +01:00
Peter Steinberger
d3f4db649f
style(ios): use Offline bridge status
2025-12-18 00:20:37 +01:00
Peter Steinberger
abbe237cc0
style(android): use Offline bridge status
2025-12-18 00:20:28 +01:00
Peter Steinberger
ac4a65ddfd
refactor(android): unify chat status label
2025-12-18 00:20:19 +01:00
Peter Steinberger
693215723a
Android: enable immersive fullscreen
2025-12-18 00:07:58 +01:00
Peter Steinberger
5f0e474be1
Android: polish settings UI
2025-12-18 00:07:52 +01:00
Peter Steinberger
0e201c4c18
style(android): make chat more Material
2025-12-17 23:57:14 +01:00
Peter Steinberger
d12ca22b19
feat(android): chat parity + wide-area discovery
2025-12-17 23:49:29 +01:00
Peter Steinberger
c7b80c28a1
macOS: remove stale WebChat exclude
2025-12-17 23:31:46 +01:00
Peter Steinberger
3ed33c5856
chore(webchat): remove legacy bundled web assets
2025-12-17 23:27:27 +01:00
Peter Steinberger
b3e466ccb6
nodes: better default display names
2025-12-17 23:15:15 +01:00
Peter Steinberger
875cf9a054
refactor(webchat): SwiftUI-only WebChat UI
...
# Conflicts:
# apps/macos/Package.swift
2025-12-17 23:05:28 +01:00
Peter Steinberger
ca85d217ec
ChatUI: swiftformat fixes
2025-12-17 23:01:31 +01:00
Peter Steinberger
6652b1f4f3
ui(chat): reduce padding
2025-12-17 23:01:31 +01:00
Peter Steinberger
9fe04f5659
ui(chat): align status pill with send
2025-12-17 23:01:31 +01:00
Peter Steinberger
5b9e51bfaa
ui(chat): tighten padding + keep status in composer
2025-12-17 23:01:31 +01:00
Peter Steinberger
cdea744725
ui(chat): move connection pill into composer
2025-12-17 23:01:30 +01:00
Peter Steinberger
44365f2e27
test(chat): harden abort/stream + hide session switching
2025-12-17 23:01:30 +01:00
Peter Steinberger
888dbd7d11
macOS: load device model names from dataset
2025-12-17 22:55:50 +01:00
Peter Steinberger
76ddfc4a9e
fix(android): canvas idle background + tailscale DNS
2025-12-17 22:27:16 +01:00
Peter Steinberger
7950a646c3
macOS: show friendly device names in Instances
2025-12-17 22:23:57 +01:00
Peter Steinberger
fe6bf6966b
style(android): format bridge hello
2025-12-17 22:04:51 +01:00
Peter Steinberger
fce487669b
feat(android): iOS canvas background
2025-12-17 22:03:11 +01:00
Peter Steinberger
e6ba373d08
feat(android): add status pill overlay
2025-12-17 22:00:12 +01:00
Peter Steinberger
d4b3d504e4
fix(android): dedupe hello fields
2025-12-17 21:53:38 +01:00
Peter Steinberger
2b2376d4c0
style(swift): fix lint
2025-12-17 21:51:36 +01:00
Peter Steinberger
51bdf01e2e
Presence: add device identity fields
2025-12-17 21:51:36 +01:00
Peter Steinberger
9d29fbbf80
Docs/tests: node list hardware fields
2025-12-17 20:11:13 +00:00
Peter Steinberger
a40fc50e5e
clawdis-mac: show hardware model in node list
2025-12-17 20:11:05 +00:00
Peter Steinberger
df4e4534f4
Android: advertise device model to bridge
2025-12-17 20:10:58 +00:00
Peter Steinberger
fca6e466b1
macOS: include node hardware identifiers
2025-12-17 20:10:50 +00:00
Peter Steinberger
0321174519
Tests: cover clawdis-mac node list
2025-12-17 20:03:56 +00:00
Peter Steinberger
c452f8c430
clawdis-mac: enrich node list output
2025-12-17 20:03:56 +00:00
Peter Steinberger
079c1d8786
Bridge: advertise node capabilities
2025-12-17 20:03:56 +00:00
Peter Steinberger
0677567cdd
macOS: fix InstanceInfo device fields
2025-12-17 20:03:56 +00:00
Peter Steinberger
7fe7c30b17
Mobile: prevent sleep setting
2025-12-17 21:01:47 +01:00
Peter Steinberger
cc1d8060c4
fix(android): bonjour discovery parity
2025-12-17 20:57:04 +01:00
Peter Steinberger
428a82e734
feat(chat): Swift chat parity (abort/sessions/stream)
2025-12-17 20:51:27 +01:00
Peter Steinberger
249f97d1ed
tools: add blucli
2025-12-17 20:39:34 +01:00
Peter Steinberger
9051c5891e
Canvas: click progress + context-rich actions
2025-12-17 20:34:54 +01:00
Peter Steinberger
e6a96bea47
fix(macos): improve canvas A2UI forwarding
2025-12-17 20:31:21 +01:00
Peter Steinberger
cf82e37c36
Menu: reopen canvas without reload
2025-12-17 20:31:21 +01:00
Peter Steinberger
4fb3e0500a
Canvas: fix A2UI click actions
2025-12-17 20:31:21 +01:00
Peter Steinberger
9c7d51429e
macOS: auto-start gateway for Canvas actions
2025-12-17 20:31:21 +01:00
Peter Steinberger
c1985443fd
macOS: fix gateway strict-concurrency issues
2025-12-17 20:31:21 +01:00
Peter Steinberger
17a27fd312
macOS: fold agent control into GatewayConnection
2025-12-17 20:31:21 +01:00
Peter Steinberger
557ffdbe35
Discovery: wide-area bridge DNS-SD
...
# Conflicts:
# apps/ios/Sources/Bridge/BridgeDiscoveryModel.swift
# src/cli/dns-cli.ts
2025-12-17 20:31:02 +01:00
Peter Steinberger
e9bfe34850
chore(canvas): rebuild CanvasA2UI bundle
2025-12-17 19:15:19 +00:00
Peter Steinberger
1a4540d386
feat(macos): show Anthropic auth mode + OAuth connect
2025-12-17 19:15:19 +00:00
Peter Steinberger
db7eeee07b
fix(macos): sync node pairing approvals
2025-12-17 19:15:19 +00:00
Peter Steinberger
0a32610b37
iOS: satisfy SwiftFormat in bridge discovery
2025-12-17 18:01:01 +01:00
Peter Steinberger
2ce24fdbf8
Nodes: auto-discover clawdis.internal
2025-12-17 17:01:30 +01:00
Peter Steinberger
a1940418fb
GatewayConnection: validate agent message
2025-12-17 16:09:22 +01:00
Peter Steinberger
6fdc62c008
macOS: fold AgentRPC into GatewayConnection
2025-12-17 16:07:37 +01:00
Peter Steinberger
5e5cb7a292
Canvas: forward A2UI actions
2025-12-17 15:41:04 +01:00
Peter Steinberger
f5ab3e41c5
Android: fix unicast discovery address resolution
2025-12-17 15:32:07 +01:00
Peter Steinberger
036bdde764
Android: add unicast discovery domain + app icon
2025-12-17 15:29:45 +01:00
Peter Steinberger
691bf85d7e
Canvas: shrink close button
2025-12-17 14:52:32 +01:00
Peter Steinberger
4482965d80
Canvas: add vibrancy close pill
2025-12-17 14:50:29 +01:00
Peter Steinberger
fdca8fb592
Canvas: fix A2UI push rendering
2025-12-17 14:36:42 +01:00
Peter Steinberger
316a04f606
iOS: allow unicast DNS-SD discovery domain
2025-12-17 14:14:17 +01:00
Peter Steinberger
9eaa45a291
Canvas: fix A2UI v0.8 rendering
2025-12-17 13:20:27 +01:00
Peter Steinberger
81a9439eb2
feat(macos): add menu Canvas open/close
2025-12-17 11:53:57 +01:00
Peter Steinberger
6653813cb9
fix(macos): avoid treating '/' as file target
2025-12-17 11:36:51 +01:00
Peter Steinberger
cf1278295d
macOS: update config settings copy
2025-12-17 11:36:21 +01:00
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