Mariano Belinky
bc05143e4e
Onboarding/Media: harden QR scanner and data URL parsing
2026-02-16 17:19:12 +01:00
Hongwei Ma
06adadc759
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 >
(cherry picked from commit d79ed65be0 )
2026-02-16 17:19:12 +01:00
Peter Steinberger
df6d0ee92b
refactor(core): dedupe tool policy and IPv4 matcher logic
2026-02-16 16:14:54 +00:00
Peter Steinberger
110b1cf46f
refactor(test): centralize auth test env lifecycle cleanup
2026-02-16 16:10:18 +00:00
Peter Steinberger
def3a3ced1
refactor(test): reduce auth and channel setup duplication
2026-02-16 16:03:22 +00:00
Peter Steinberger
9adcaccd0b
refactor(test): share non-interactive onboarding test helpers
2026-02-16 16:03:22 +00:00
Peter Steinberger
db3480f9b5
refactor(test): reuse provider-auth onboarding config helper
2026-02-16 15:53:13 +00:00
Peter Steinberger
f1351fc545
refactor(test): centralize auth test agent-dir helpers
2026-02-16 15:44:33 +00:00
Peter Steinberger
36a5ff8135
refactor(test): consolidate provider-auth config snapshot typing
2026-02-16 15:42:50 +00:00
Peter Steinberger
a948a3bd00
refactor(test): share gateway onboarding state-dir lifecycle
2026-02-16 15:40:48 +00:00
Peter Steinberger
a0e8f00b20
refactor(test): simplify auth-choice profile assertions
2026-02-16 15:38:37 +00:00
Peter Steinberger
716872c174
refactor(test): dedupe agents identity test setup
2026-02-16 15:38:37 +00:00
Mariano
68e39cf2c3
CLI: restore and harden qr --remote pairing behavior ( #18166 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a79fc2a3c6
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-16 15:38:07 +00:00
Peter Steinberger
1633c6fe98
refactor(test): dedupe auth-choice e2e setup plumbing
2026-02-16 15:25:45 +00:00
Peter Steinberger
94f455c693
refactor(test): share auth test env/profile helpers
2026-02-16 15:25:45 +00:00
Peter Steinberger
1d37389490
test: annotate harness mocks to avoid TS2742 in CI
2026-02-16 15:19:11 +00:00
Peter Steinberger
a1ca9291f3
test(agents): fix reasoning replay input assertion helper
2026-02-16 14:59:31 +00:00
Peter Steinberger
93ca0ed54f
refactor(channels): dedupe transport and gateway test scaffolds
2026-02-16 14:59:31 +00:00
Peter Steinberger
f717a13039
refactor(agent): dedupe harness and command workflows
2026-02-16 14:59:30 +00:00
Peter Steinberger
04892ee230
refactor(core): dedupe shared config and runtime helpers
2026-02-16 14:59:30 +00:00
Peter Steinberger
bc55ffb160
test: isolate qr/setup-code token env in unit tests
2026-02-16 14:58:38 +00:00
Peter Steinberger
c9f2c3aef9
test: trim redundant non-stop abort assertion
2026-02-16 14:58:38 +00:00
Mariano
599c890221
CLI/Gateway: restore qr flow with --remote support (clean) ( #18091 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 4bee77ce06
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-02-16 14:48:14 +00:00
pierreeurope
fec4be8dec
fix(cron): prevent daily jobs from skipping days (48h jump) #17852 ( #17903 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 1ffe6a45af
Co-authored-by: pierreeurope <248892285+pierreeurope@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:35:49 -05:00
brandonwise
095d522099
fix(security): create session transcript files with 0o600 permissions ( #18066 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 962f497d24
Co-authored-by: brandonwise <21148772+brandonwise@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:33:40 -05:00
sebslight
6931f0fb50
refactor(telegram): avoid double-wrapping proxy fetch
2026-02-16 08:24:55 -05:00
sebslight
b4fa10ae67
refactor(infra): make fetch wrapping idempotent
2026-02-16 08:24:55 -05:00
sebslight
7b8cce0910
test(config): normalize merge-patch regression fixture formatting
2026-02-16 08:24:55 -05:00
sebslight
5b8bfd261b
test(gateway): cover mixed-id config.patch rollback
2026-02-16 08:24:55 -05:00
sebslight
f4b2fd00bc
fix(config): harden object-array merge-by-id fallback
2026-02-16 08:24:55 -05:00
Hongwei Ma
dddb1bc942
fix(telegram): fix streaming with extended thinking models overwriting previous messages/ also happens to Execution error ( #17973 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 34b52eead8
Co-authored-by: Marvae <11957602+Marvae@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-16 18:54:34 +05:30
sebslight
553d17f8af
refactor(agents): use silent token constant in prompts
2026-02-16 08:20:24 -05:00
Jackten
e3e8046a93
fix(infra): avoid detached finally unhandled rejection in fetch wrapper ( #18014 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 4ec21c89cb
Co-authored-by: Jackten <2895479+Jackten@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:17:23 -05:00
不做了睡大觉
cb391f4bdc
fix(config): prevent config.patch from destroying arrays when patch entries lack id ( #18030 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a857df9e32
Co-authored-by: stakeswky <64798754+stakeswky@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:13:51 -05:00
sebslight
3a277e394e
test(agents): add cooldown expiry helper regressions
2026-02-16 08:10:52 -05:00
sebslight
d224776ffb
refactor(agents): extract cooldown probe decision helper
2026-02-16 08:10:52 -05:00
zerone0x
c2a0cf0c28
fix(tts): update tool description to prevent duplicate audio delivery ( #18046 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 70c096abaa
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:09:02 -05:00
Ítalo Souza
39bb1b3322
fix: auto-recover primary model after rate-limit cooldown expires ( #17478 ) ( #18045 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f7a7865727
Co-authored-by: PlayerGhost <28265945+PlayerGhost@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:03:35 -05:00
yinghaosang
244ed9db39
fix(telegram): draft stream preview not threaded when replyToMode is on ( #17880 ) ( #17928 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: cfd4181a23
Co-authored-by: yinghaosang <261132136+yinghaosang@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-16 18:10:24 +05:30
Ayaan Zaidi
b2aa6e094d
fix(telegram): prevent non-abort slash commands from racing chat replies ( #17899 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 5c2f6f2c96
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-16 16:21:10 +05:30
Advait Paliwal
bc67af6ad8
cron: separate webhook POST delivery from announce ( #17901 )
...
* cron: split webhook delivery from announce mode
* cron: validate webhook delivery target
* cron: remove legacy webhook fallback config
* fix: finalize cron webhook delivery prep (#17901 ) (thanks @advaitpaliwal)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM >
2026-02-16 02:36:00 -08:00
Peter Steinberger
d841c9b26b
test: remove duplicate replyToTag assertion in split-tag case
2026-02-16 10:02:59 +00:00
Peter Steinberger
597f956a4f
test: remove duplicate existing-id all-mode planner case
2026-02-16 10:01:58 +00:00
Peter Steinberger
f043f2d8c9
test: trim duplicate first-mode hasReplied assertion variant
2026-02-16 10:00:57 +00:00
Peter Steinberger
a4e7f256db
test: drop redundant off-mode hasReplied assertion
2026-02-16 09:59:59 +00:00
Peter Steinberger
893f56b87d
test: remove redundant multi-variable template resolution case
2026-02-16 09:59:09 +00:00
Peter Steinberger
4da68afc73
test: remove duplicate off-mode existing-id planner case
2026-02-16 09:58:05 +00:00
Peter Steinberger
7cfd0aed5f
test: remove duplicate non-date negative-case assertion
2026-02-16 09:56:46 +00:00
Peter Steinberger
d611db8049
test: remove duplicate provider-prefix assertion variant
2026-02-16 09:55:44 +00:00
Peter Steinberger
3eb9c2105c
test: remove duplicate date-suffix assertion variant
2026-02-16 09:54:56 +00:00