Commit Graph

172 Commits

Author SHA1 Message Date
yishai
3e57ca5d72 Android: brighter menu, always-visible orb, camera & file upload
1. Menu now brighter (0xFF3A3A4A) for better contrast
2. Orb on main page always visible (static when off, pulsing when on)
3. Implemented camera capture (saves to MediaStore, loads as attachment)
4. Implemented file picker (any file type)
5. Attachment type auto-detected (image vs file) based on MIME
2026-01-28 22:14:16 +02:00
yishai
fbf18d55b8 Android: ChatGPT-style menu with Camera/Photos/Files
- Top row of attachment buttons: Camera | Photos | Files
- Dark menu background (0xFF1E1E2E) for contrast
- Styled menu items with icons and trailing values
- Session and Thinking level show current value on right
- Dividers between sections
- TODO: Implement camera capture and file picker
2026-01-28 22:04:46 +02:00
yishai
40a5b0ce1e Android: ChatGPT-style chat composer with integrated PTT
Redesigned ChatComposer with Telegram/ChatGPT-style layout:
- Hamburger menu on left (session, thinking level, attach, refresh)
- Rounded text input field in center
- Right button transforms:
  - Empty: Mini orb (PTT) with mic icon
  - Has text: Send button (arrow up)
  - Running: Stop button
- Haptic feedback on orb tap
- Compact connection status pill below
- Talk overlay shows centered when voice active
2026-01-28 21:58:18 +02:00
yishai
9c059906fe Android: integrated chat + smaller orb at bottom
- Reduced orb size from 360dp to 200dp
- Moved orb to bottom of screen
- Chat messages display above the orb (max 400dp height)
- Cleaner assistant UI with chat and PTT in one view
2026-01-28 21:43:00 +02:00
yishai
69ba01468c Android: orb as always-visible PTT button
- Orb is now always visible (not just when talk mode is on)
- Tap to toggle talk mode on/off
- When inactive: static, dimmed, shows 'Tap to talk'
- When active: pulsing animation with status text
- Haptic feedback on tap
2026-01-28 21:34:43 +02:00
yishai
32cf8c3290 Android: tap orb to dismiss talk mode with haptic feedback
Makes the talk orb tappable to disable voice mode - much easier to hit
than the small button. Includes haptic feedback on tap.
2026-01-28 21:31:46 +02:00
yishai
e5198b8f31 Android: auto-enable voice mode when launched via digital assistant
When MainActivity is launched via ACTION_ASSIST (long-press power button),
automatically enable talk mode so the user can start speaking immediately.
2026-01-28 21:24:40 +02:00
yishai
b02d042239 Android: disable VoiceInteractionService for OPPO/ColorOS compatibility
OPPO's PhoneWindowManager sets IsQuickLaunchSupport=false for apps with
VoiceInteractionService, blocking long-press power button from triggering
the assistant. Disabling the service makes OPPO fall back to the standard
ACTION_ASSIST intent path (same as App Manager).

- Disabled ClawdbotVoiceInteractionService and SessionService
- MainActivity now handles ASSIST intents directly
- Tested working on OnePlus 13 (ColorOS)
2026-01-28 21:19:25 +02:00
yishai
a3b467167f Android: fix digital assistant invocation with proxy activity and missing intent filters 2026-01-28 18:32:43 +02:00
yishai
b5c0a66fb7 Android: add manual token authentication support
- Add manual token field to gateway settings with password masking and show/hide toggle
- Implement token resolution priority: manual > global > null
- Add error normalization to prevent token leakage in error messages
- Store manual token in EncryptedSharedPreferences (AES256_GCM)
- Add clear button to revert to global token
- Modify connectManual() to use resolved token (manual if set, else global)

Files modified:
- SecurePrefs.kt: Storage layer with encrypted token persistence
- NodeRuntime.kt: Token resolution and error normalization logic
- MainViewModel.kt: ViewModel layer exposing token state
- SettingsSheet.kt: UI layer with token field, masking, and controls
- CHANGELOG.md: Document feature addition
2026-01-27 11:46:09 +02: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