openclaw/src
Hongwei Ma d79ed65be0 feat: QR code scanning for gateway onboarding
iOS:
- QR scanner view using DataScannerViewController
- Photo library QR detection via CIDetector for saved QR images
- Deep link parser for openclaw://gateway URLs and base64url setup codes
- Onboarding wizard: full-screen welcome with "Scan QR Code" button,
  auto-connect on scan, back navigation, step indicators for manual flow

Backend:
- Add /pair qr action to device-pair extension for QR code generation
- TUI/WebUI differentiation: ASCII QR for TUI, markdown image for WebUI
- Telegram: send QR as media attachment via sendMessageTelegram
- Add data URI support to loadWebMedia for generic base64 media handling
- Export renderQrPngBase64 from plugin SDK for extension use

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:48:03 +08:00
..
acp chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agents fix(discord): support forum channel thread-create (#10062) 2026-02-08 05:51:10 +00:00
auto-reply Core: pass plugin command context 2026-02-08 08:40:51 +01:00
browser Make openclaw consistent in this file (#8533) 2026-02-04 00:02:25 -05:00
canvas-host fix: use STATE_DIR instead of hardcoded ~/.openclaw for identity and canvas (#4824) 2026-02-07 22:16:59 -05:00
channels fix(discord): support forum channel thread-create (#10062) 2026-02-08 05:51:10 +00:00
cli fix(discord): support forum channel thread-create (#10062) 2026-02-08 05:51:10 +00:00
commands fix(doctor): suppress repeated legacy state migration warnings (#11709) 2026-02-08 02:27:49 -05:00
compat
config Memory: harden QMD startup, timeouts, and fallback recovery 2026-02-07 17:55:34 -08:00
cron fix: context overflow compaction and subagent announce improvements (#11664) (thanks @tyler6204) 2026-02-07 20:02:32 -08:00
daemon fix(runtime): bump minimum Node.js version to 22.12.0 (#5370) 2026-02-05 13:42:52 -08:00
discord fix(discord): support forum channel thread-create (#10062) 2026-02-08 05:51:10 +00:00
docs Docs: landing page revamp (#8885) 2026-02-04 10:37:14 -05:00
gateway fix(gateway): allow node chat and session rpc methods 2026-02-12 13:24:10 +05:30
hooks fix: use STATE_DIR instead of hardcoded ~/.openclaw for identity and canvas (#4824) 2026-02-07 22:16:59 -05:00
imessage feat: per-channel responsePrefix override (#9001) 2026-02-04 16:16:34 -05:00
infra fix(doctor): suppress repeated legacy state migration warnings (#11709) 2026-02-08 02:27:49 -05:00
line feat: per-channel responsePrefix override (#9001) 2026-02-04 16:16:34 -05:00
link-understanding chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logging fix: guard resolveUserPath against undefined input (#10176) 2026-02-06 13:16:58 -05:00
macos chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
markdown chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
media fix: add .caf to AUDIO_FILE_EXTENSIONS (#10982) 2026-02-07 18:04:22 -05:00
media-understanding feat: add Claude Opus 4.6 to built-in model catalog (#9853) 2026-02-05 12:09:23 -08:00
memory Tests: harden flake hotspots and consolidate provider-auth suites (#11598) 2026-02-07 21:32:23 -05:00
node-host fix: harden Windows exec allowlist 2026-02-03 09:34:25 -08:00
pairing chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
plugin-sdk feat: QR code scanning for gateway onboarding 2026-02-14 21:48:03 +08:00
plugins Plugins: add device pairing and phone controls 2026-02-08 08:40:51 +01:00
process fix: skip extension append if command already has one 2026-01-31 20:39:33 -06:00
providers chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
routing fix: guard resolveUserPath against undefined input (#10176) 2026-02-06 13:16:58 -05:00
scripts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
security Tests: harden flake hotspots and consolidate provider-auth suites (#11598) 2026-02-07 21:32:23 -05:00
sessions chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
shared/text chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
signal feat: per-channel responsePrefix override (#9001) 2026-02-04 16:16:34 -05:00
slack feat: per-channel responsePrefix override (#9001) 2026-02-04 16:16:34 -05:00
telegram Core: pass plugin command context 2026-02-08 08:40:51 +01:00
terminal fix: error handling in restore failure reporting 2026-02-03 06:22:51 +00:00
test-helpers fix: use STATE_DIR instead of hardcoded ~/.openclaw for identity and canvas (#4824) 2026-02-07 22:16:59 -05:00
test-utils chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
tts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
tui Tests: restore TUI gateway env 2026-02-04 19:09:52 -05:00
types fix: update pi packages to 0.51.0, remove bogus type augmentation 2026-02-02 01:52:33 +01:00
utils Web UI: add token usage dashboard (#10072) 2026-02-05 22:35:46 -06:00
web feat: QR code scanning for gateway onboarding 2026-02-14 21:48:03 +08:00
whatsapp chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
wizard Gateway: default-deny dangerous node commands 2026-02-08 08:40:51 +01:00
channel-web.barrel.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
channel-web.ts
docker-setup.test.ts
entry.ts fix(cli): avoid NODE_OPTIONS for --disable-warning (#9691) (thanks @18-RAJAT) 2026-02-05 12:05:14 -08:00
extensionAPI.ts chore: Migrate to tsdown, speed up JS bundling by ~10x (thanks @hyf0). 2026-02-03 20:18:16 +09:00
globals.test.ts
globals.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
index.test.ts
index.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logger.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logger.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
logging.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
polls.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
polls.ts
runtime.ts CLI: restore terminal state on exit 2026-02-03 06:10:19 +00:00
utils.test.ts fix: guard resolveUserPath against undefined input (#10176) 2026-02-06 13:16:58 -05:00
utils.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
version.test.ts fix: CLI harden update restart imports and fix nested bundle version resolution 2026-02-06 00:09:48 -05:00
version.ts fix: CLI harden update restart imports and fix nested bundle version resolution 2026-02-06 00:09:48 -05:00