Commit Graph

377 Commits

Author SHA1 Message Date
Ahmad Bitar c179f71f42
feat: Android companion app improvements & gateway URL camera payloads (#13541)
Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 9c179c9c31
Co-authored-by: smartprogrammer93 <33181301+smartprogrammer93@users.noreply.github.com>
Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Reviewed-by: @steipete
2026-02-13 16:49:28 +01:00
Peter Steinberger 63bb1e02b0 chore(release): bump version to 2026.2.13 2026-02-13 04:13:07 +01:00
Peter Steinberger 7695b4842b chore: bump version to 2026.2.12 2026-02-12 18:20:46 +01:00
Peter Steinberger 1872d0c592 chore: bump version to 2026.2.10 2026-02-11 11:27:23 +01:00
Peter Steinberger fb8c653f53 chore(release): 2026.2.9 2026-02-09 11:19:07 -06:00
Peter Steinberger 677450cd9b chore(release): bump version to 2026.2.6 2026-02-06 15:37:31 -08:00
Peter Steinberger 5031b283a5 chore: bump version to 2026.2.4 2026-02-05 00:38:50 -08:00
Peter Steinberger e4b084c762 chore: bump version to 2026.2.3 2026-02-03 18:33:27 -08:00
Peter Steinberger 1c4db91593 chore: prepare 2026.2.2 release 2026-02-03 10:02:01 -08:00
Peter Steinberger 85cd55e22b chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
Peter Steinberger 247fab47ca chore: bump version to 2026.1.30 2026-01-31 11:37:36 +01:00
Peter Steinberger 9a7160786a refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
Peter Steinberger cb4b3f74b5 chore(release): bump versions to 2026.1.29 2026-01-29 16:48:13 +00:00
Peter Steinberger 8d07955f2c chore: bump beta version to 2026.1.27-beta.1 2026-01-28 01:28:16 +01:00
Shadow 9ec4c619e0
Branding: remove legacy android packages 2026-01-27 14:46:50 -06:00
Shadow f7a0b0934d
Branding: update bot.molt bundle IDs + launchd labels 2026-01-27 14:46:50 -06:00
Shadow cc72498b46
Mac: finish Moltbot rename 2026-01-27 14:12:17 -06:00
Peter Steinberger 6d16a658e5 refactor: rename clawdbot to moltbot with legacy compat 2026-01-27 12:21:02 +00:00
Peter Steinberger 72fea5e305 chore: bump version to 2026.1.26 2026-01-27 09:10:47 +00:00
Peter Steinberger 8f6542409a chore: bump versions for 2026.1.25 2026-01-25 22:13:04 +00:00
Dan Guido 48aea87028
feat: add prek pre-commit hooks and dependabot (#1720)
* feat: add prek pre-commit hooks and dependabot

Pre-commit hooks (via prek):
- Basic hygiene: trailing-whitespace, end-of-file-fixer, check-yaml, check-added-large-files, check-merge-conflict
- Security: detect-secrets, zizmor (GitHub Actions audit)
- Linting: shellcheck, actionlint, oxlint, swiftlint
- Formatting: oxfmt, swiftformat

Dependabot:
- npm and GitHub Actions ecosystems
- Grouped updates (production/development/actions)
- 7-day cooldown for supply chain protection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add prek install instruction to AGENTS.md

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:53:23 +00:00
Peter Steinberger bcedeb4e1f chore: bump 2026.1.24 2026-01-24 15:00:00 +00:00
Peter Steinberger 69f645c662 fix: auto-save voice wake words across apps 2026-01-23 23:59:08 +00:00
Peter Steinberger 4ee70be690 chore: bump version to 2026.1.23 2026-01-23 22:14:56 +00:00
Peter Steinberger 3ad0d2fe23 chore: bump version to 2026.1.21 2026-01-22 01:59:16 +00:00
Peter Steinberger 34a126a6d7 fix: allow mobile node client ids (#1354) (thanks @vignesh07) 2026-01-21 05:07:26 +00:00
Peter Steinberger 842be7b864 chore: bump version to 2026.1.20 2026-01-20 16:36:37 +00:00
Peter Steinberger 1f7cb4b853 fix: shorten bonjour gateway service type 2026-01-20 15:10:06 +00:00
Peter Steinberger fa51294f65 fix: sync mobile gateway auth v3 2026-01-20 13:30:40 +00:00
Peter Steinberger 754494d1a0 fix(android): align node protocol payloads 2026-01-19 16:53:31 +00:00
Peter Steinberger 079c29ceb8 refactor(android): drop legacy bridge transport 2026-01-19 15:45:50 +00:00
Peter Steinberger b826bd668c fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
Peter Steinberger e6a4cf01ee feat: migrate android node to gateway ws 2026-01-19 11:05:59 +00:00
Peter Steinberger c5003e5441 fix: clear lint blockers 2026-01-16 06:35:05 +00:00
Peter Steinberger 23981496f9 fix: resolve bridge warnings 2026-01-16 06:15:45 +00:00
Peter Steinberger 1ab1e312b2 feat: add TLS for node bridge 2026-01-16 05:28:40 +00:00
Peter Steinberger 84e9401d53 fix(ci): repair format + android tests 2026-01-15 09:50:18 +00:00
Peter Steinberger b77b47bb98 fix: use canonical main session keys in apps 2026-01-15 08:59:05 +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 5805bb051b fix(android): enforce strict lint checks 2026-01-10 16:04:32 +00:00
Peter Steinberger 92cc7a841c refactor: centralize main session key normalization in apps 2026-01-09 22:38:17 +01:00
Peter Steinberger e0c310d056 chore: bump versions to 2026.1.9 2026-01-09 10:02:15 +01: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 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 02ad9eccad fix: resolve CI asset/protocol drift 2026-01-08 01:25:17 +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
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 39e482414a chore: apply upstream autostash 2026-01-05 00:26:52 +00: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 246adaa119 chore: rename project to clawdbot 2026-01-04 14:38:51 +00: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
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 e1dd764504 feat: add node location support 2026-01-04 00:54:44 +01:00
Peter Steinberger be3da5b856 fix: update protocol models and android parsing 2026-01-03 15:04:24 +00: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 b417fe5727 fix: show rich session names in chat UIs 2026-01-03 05:07:13 +01:00
Peter Steinberger 9adbf47773 refactor: normalize group session keys 2026-01-02 10:14:58 +01:00
Peter Steinberger 7c0379ce05 feat: add recent session switchers 2026-01-01 23:50:26 +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 cf903be4a7 fix: avoid duplicate gateway reconnecting pill 2025-12-30 14:37:59 +01:00
Peter Steinberger 3bf8b9ccf4 fix: default android talk pcm_24000 2025-12-30 12:52:56 +01:00
Peter Steinberger 27adfb76fa fix: stream elevenlabs tts playback 2025-12-30 12:17:40 +01:00
Peter Steinberger 2814815312 feat: add talk voice alias map 2025-12-30 11:35:29 +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 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 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 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 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 ebfe55f909 fix: enable canvas webview scrolling on mobile nodes 2025-12-29 17:13:31 +01:00
Peter Steinberger 8826170635 fix: resolve CI lint and android build 2025-12-27 01:41:43 +01:00
Peter Steinberger a13db82d28 fix(nodes): improve version reporting 2025-12-26 21:45:00 +01:00
Peter Steinberger a808cdce13 fix(android): drop duplicate scaffold asset 2025-12-21 14:50:28 +01:00
Peter Steinberger 7932e966db feat(android): toggle debug canvas status 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 5adec0eae0 fix: align canvas defaults and A2UI auto-nav 2025-12-21 12:32:36 +01:00
Peter Steinberger 2b2f13ca79 fix: restore canvas action bridge 2025-12-21 01:07:35 +01: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 65329496a7 refactor: serve canvas host on gateway port 2025-12-20 17:13:36 +01:00
Peter Steinberger ed001a5f55 refactor(canvas): host A2UI via gateway 2025-12-20 12:17:27 +00:00
Peter Steinberger 0ac7a93c28 fix: decode bonjour escaped utf8 2025-12-19 23:21:07 +01: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 1fbd84da39 feat(nodes): add mac node mode + permission UX 2025-12-19 01:48:19 +01:00
Peter Steinberger 06f71d883c Android: JPEG canvas snapshots + camera permission prompts 2025-12-18 23:32:07 +01:00
Peter Steinberger 801e44f4eb feat(node): show camera capture HUD 2025-12-18 14:49:07 +01:00
Peter Steinberger 790079c3b6 feat(canvas): remove setMode; host A2UI in scaffold 2025-12-18 13:18:24 +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 4a68b4add4 fix(android): show backdrop behind WebView 2025-12-18 09:46:32 +01:00
Peter Steinberger fceab511b3 Android: run canvas WebView loads on main 2025-12-18 08:31:56 +00:00
Peter Steinberger 97ec5d52c3 fix(android): allow cleartext for tailnet web 2025-12-18 09:12:06 +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 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 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 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 f4b186a9d3 ui(nodes): unify idle background animation 2025-12-18 01:22:26 +01: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 ba204d0330 fix(android): show idle background under WebView 2025-12-18 00:53:31 +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 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 b3e466ccb6 nodes: better default display names 2025-12-17 23:15:15 +01:00
Peter Steinberger 76ddfc4a9e fix(android): canvas idle background + tailscale DNS 2025-12-17 22:27:16 +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 51bdf01e2e Presence: add device identity fields 2025-12-17 21:51:36 +01:00
Peter Steinberger df4e4534f4 Android: advertise device model to bridge 2025-12-17 20:10:58 +00:00
Peter Steinberger 079c1d8786 Bridge: advertise node capabilities 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 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 2ce24fdbf8 Nodes: auto-discover clawdis.internal 2025-12-17 17:01:30 +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 1ff7d458a5 fix(android): avoid non-exhaustive sheet switch 2025-12-14 05:42:39 +00:00
Peter Steinberger 4a3a4558e2 fix(android): respect insets and enable settings scroll 2025-12-14 05:30:07 +00:00
Peter Steinberger d54cc49d66 feat(android): sync wake words via gateway 2025-12-14 05:06:27 +00:00
Peter Steinberger ce915d3438 fix(android): safe area + settings scroll 2025-12-14 04:35:06 +00:00
Peter Steinberger 41da61dd6a fix(android): make settings sheet scrollable 2025-12-14 03:13:36 +00:00
Peter Steinberger 35e8dae939 fix(android): inset top buttons for status bar 2025-12-14 03:10:46 +00:00
Peter Steinberger eaebf4b896 chore(android): update toolchain and deps 2025-12-14 02:37:47 +00:00
Peter Steinberger df8915cf5c test(android): add bridge unit tests 2025-12-14 02:14:05 +00:00
Peter Steinberger b792175ec5 feat(android): keep node connected via foreground service 2025-12-14 02:01:56 +00:00
Peter Steinberger b2378c01ea feat(android): add Compose node app (bridge+canvas+chat+camera) 2025-12-14 01:55:40 +00:00