Nikolay Petrov
13690d406a
Telegram: coalesce forwarded text+media bursts into one inbound turn ( #19476 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 09e0b4e9bd1a799c30249f21b87782429a8f8e32
Co-authored-by: napetrov <18015221+napetrov@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-22 21:41:09 +05:30
Peter Steinberger
333fbb8634
refactor(net): consolidate IP checks with ipaddr.js
2026-02-22 17:02:44 +01:00
Marcus Castro
337eef55d7
fix(telegram): link forwarded messages with comments ( #9720 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 5f81061b5f613903422a624d95aab8b0fc04027a
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-22 21:23:56 +05:30
Ayaan Zaidi
6268ed57ea
fix(agents): stop param shadowing in auth failure marker
2026-02-22 21:00:17 +05:30
Marcus Castro
ace8357149
fix(telegram): skip failed photo downloads in media group instead of dropping entire group ( #20598 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 4a9c5f7af7c136952bf5dd396acee7f9f4e3c5d1
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-22 20:57:06 +05:30
Peter Steinberger
9363c320d8
fix(security): harden shell env fallback startup env handling
2026-02-22 16:06:27 +01:00
Peter Steinberger
a0d0104a86
test: speed up signal reconnect and temp path guard scans
2026-02-22 14:44:19 +00:00
Peter Steinberger
142c0a7f7d
refactor: extract gateway transcript append helper
2026-02-22 14:44:19 +00:00
Peter Steinberger
8e6b465fa8
test: speed up agent command suite with lightweight runtime mocks
2026-02-22 14:44:19 +00:00
Peter Steinberger
1cf8f41134
test: dedupe expensive web auto-reply compression coverage
2026-02-22 14:44:19 +00:00
Peter Steinberger
d0b59270a7
refactor: dedupe auth-profile failure marking and rotation test setup
2026-02-22 15:44:10 +01:00
Peter Steinberger
44dfbd23df
fix(ssrf): centralize host/ip block checks
2026-02-22 15:41:41 +01:00
Peter Steinberger
39be5e44df
refactor: split config reload flow and test harness
2026-02-22 15:38:23 +01:00
Glucksberg
53adae9cec
fix(telegram): add dnsResultOrder=ipv4first default on Node 22+ to fix fetch failures ( #5405 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 71366e9532b6c67f0413b65a9ac8623eae000e9b
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-22 20:07:51 +05:30
Peter Steinberger
4e65e61612
fix: retry missing config snapshots before skip ( #23343 ) (thanks @lbo728)
2026-02-22 15:34:46 +01:00
lbo728
aaa9bd0f1c
fix(config-reload): skip reload when config file is not found
...
When a config file is written atomically (tmp → rename), chokidar can
fire an 'unlink' event for the temporary removal of the destination file
before the rename completes. runReload() would then call readSnapshot(),
which returns { exists: false, valid: true, config: {} } — an empty
config that looks valid — causing diffConfigPaths() to find many changes
and triggering an unnecessary SIGUSR1 restart.
The restarted gateway process then fails to find the config file (still
in the middle of the write) and enters a crash loop with:
'Missing config. Run openclaw setup...'
Fix: guard against exists=false before the existing valid=false check,
so mid-write snapshots are silently skipped rather than treated as a
config wipe.
Fixes #23321
2026-02-22 15:34:46 +01:00
Peter Steinberger
3e2849c578
fix: align timeout cooldown behavior docs/tests ( #22622 ) (thanks @vageeshkumar)
2026-02-22 15:34:20 +01:00
Vageesh Kumar
71d0b86352
fix(agents): skip auth profile cooldown for timeout failures
...
A timeout is model/network-specific, not an auth issue. Marking the
auth profile as failed on timeout poisons fallback models on the same
provider (e.g. gpt-5.3 timeout would block gpt-5.2 via shared profile
cooldown). The prompt-phase path already guards against this; this
aligns the post-response timeout path to match.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 15:34:20 +01:00
Peter Steinberger
4c355a28a3
refactor: centralize tool-error visibility policy
2026-02-22 15:30:53 +01:00
Peter Steinberger
ac3ac6a83a
refactor(signal): extract rpc parse helper and validate response envelope
2026-02-22 15:29:56 +01:00
Peter Steinberger
835be4392e
fix: gate tool error details behind verbose
2026-02-22 15:26:47 +01:00
Peter Steinberger
184844e50c
fix: add signal rpc malformed-json regression test ( #22995 ) (thanks @adhitShet)
2026-02-22 15:23:37 +01:00
adhitShet
4b78e91acd
fix(signal): guard JSON.parse of Signal RPC response with try-catch
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 15:23:37 +01:00
Peter Steinberger
7d7297f57f
fix: downgrade telegram autoSelectFamily log to debug
2026-02-22 15:21:23 +01:00
Peter Steinberger
f5ede0f2bd
test: stabilize acp cwd prefix assertions across env leakage
2026-02-22 14:18:44 +00:00
Peter Steinberger
b0a8b3bebb
test: share fast-path mocks for targeted doctor suites
2026-02-22 14:18:44 +00:00
Peter Steinberger
2c0b72acb8
test: speed up slow media and synology suites
2026-02-22 14:18:44 +00:00
Peter Steinberger
32c33f4faa
test: isolate doctor allowFrom migration assertions from unrelated checks
2026-02-22 14:18:44 +00:00
tyler
9b23e5ce1f
test: fix flaky auth tests when OPENCLAW_GATEWAY_TOKEN is present
2026-02-22 15:17:37 +01:00
Peter Steinberger
9f2b25426b
test(core): increase coverage for sessions, auth choice, and model listing
2026-02-22 14:08:51 +00:00
Peter Steinberger
d116bcfb14
refactor(runtime): consolidate followup, gateway, and provider dedupe paths
2026-02-22 14:08:51 +00:00
Peter Steinberger
38752338dc
refactor(tui): dedupe handlers and formatter test setup
2026-02-22 14:08:51 +00:00
Peter Steinberger
66f814a0af
refactor(channels): dedupe plugin routing and channel helpers
2026-02-22 14:08:51 +00:00
Peter Steinberger
013299b001
perf: lazy-load non-interactive onboarding heavy paths
2026-02-22 13:47:25 +00:00
Peter Steinberger
adfbbcf1f6
chore: merge origin/main into main
2026-02-22 13:42:52 +00:00
Peter Steinberger
06d93cc12c
test: dedupe doctor routing allowFrom migration coverage
2026-02-22 13:41:00 +00:00
Peter Steinberger
1becebe188
fix: harden session lock contention and cleanup
2026-02-22 13:40:55 +00:00
Peter Steinberger
648d2daf67
test: drop duplicate timeout-fallback e2e and trim onboarding auth overlap
2026-02-22 13:33:40 +00:00
Peter Steinberger
7a2b05314a
test: speed up onboarding provider auth and temp-path guard scans
2026-02-22 13:24:59 +00:00
Peter Steinberger
494bb685f8
test: merge signal typing-read-receipt coverage into inbound contract suite
2026-02-22 13:24:53 +00:00
Peter Steinberger
a395479d8b
test: merge signal sender-prefix coverage into typing suite
2026-02-22 13:12:57 +00:00
Peter Steinberger
83597572df
test: speed up thread-bindings shared-state loader test
2026-02-22 13:09:59 +00:00
Peter Steinberger
d236ded43f
test: speed up non-interactive gateway onboarding suite
2026-02-22 13:08:34 +00:00
Peter Steinberger
9e868dcf5a
test: remove redundant channels smoke parse case
2026-02-22 12:56:18 +00:00
Peter Steinberger
5e62d0105b
test: trim smoke duplicates and reuse telegram bot setup
2026-02-22 12:55:27 +00:00
Peter Steinberger
27053826e5
test: close bootstrap ws in approval bypass suite
2026-02-22 12:55:22 +00:00
Peter Steinberger
83a2926328
test: align remaining trigger configs with fast harness defaults
2026-02-22 12:43:10 +00:00
Peter Steinberger
829236afa7
test: reuse trigger harness defaults in custom configs
2026-02-22 12:41:37 +00:00
Peter Steinberger
2c40a20737
test: trim background hold duration in abort coverage
2026-02-22 12:38:57 +00:00
Peter Steinberger
00eb2541dc
test: shorten idle child timers in timeout assertions
2026-02-22 12:37:49 +00:00