nabbilkhan
250896cf6e
fix: correct contradictory test name (Greptile review)
...
The test verifies that cooldownUntil IS cleared when it equals exactly
`now` (>= comparison), but the test name said "does not clear". Fixed
the name to match the actual assertion behavior.
2026-02-16 12:53:45 -06:00
nabbilkhan
03cadc4b7a
fix(auth): auto-expire stale auth profile cooldowns and reset error count
...
When an auth profile hits a rate limit, `errorCount` is incremented and
`cooldownUntil` is set with exponential backoff. After the cooldown
expires, the time-based check correctly returns false — but `errorCount`
persists. The next transient failure immediately escalates to a much
longer cooldown because the backoff formula uses the stale count:
60s × 5^(errorCount-1), max 1h
This creates a positive feedback loop where profiles appear permanently
stuck after rate limits, requiring manual JSON editing to recover.
Add `clearExpiredCooldowns()` which sweeps all profiles on every call to
`resolveAuthProfileOrder()` and clears expired `cooldownUntil` /
`disabledUntil` values along with resetting `errorCount` and
`failureCounts` — giving the profile a fair retry window (circuit-breaker
half-open → closed transition).
Key design decisions:
- `cooldownUntil` and `disabledUntil` handled independently (a profile
can have both; only the expired one is cleared)
- `errorCount` reset only when ALL unusable windows have expired
- `lastFailureAt` preserved for the existing failureWindowMs decay logic
- In-memory mutation; disk persistence happens lazily on the next store
write, matching the existing save pattern
Fixes #3604
Related: #13623 , #15851 , #11972 , #8434
2026-02-16 12:53:45 -06:00
Vignesh Natarajan
02c268eec1
fix (gateway/memory): start qmd onBoot for all agents
2026-02-16 10:35:26 -08:00
Vignesh
b0a01fe482
Agents/Tools: preflight exec script files for shell var injection ( #18457 )
...
* fix(agents): don't force store=true for codex responses
* test: stabilize respawn + subagent usage assertions
* Agents/Tools: preflight exec to detect shell variable injection in scripts
* Changelog: fix merge marker formatting
2026-02-16 10:34:29 -08:00
Peter Steinberger
9b70849567
refactor(test): dedupe trusted-proxy auth test setup
2026-02-16 18:31:37 +00:00
Peter Steinberger
96eabcbe89
refactor(test): share antigravity usage endpoint fixtures
2026-02-16 18:31:31 +00:00
Peter Steinberger
b0035a1e49
refactor(test): table-drive web tool defaults checks
2026-02-16 18:31:27 +00:00
Peter Steinberger
8a1893a215
refactor(test): table-drive legacy config policy assertions
2026-02-16 18:25:04 +00:00
Peter Steinberger
9372df45f2
refactor(test): table-drive auth choice option checks
2026-02-16 18:25:04 +00:00
Peter Steinberger
23480bb4e3
refactor(test): dedupe trigger model command fixtures
2026-02-16 18:25:04 +00:00
Peter Steinberger
9ff473fa05
refactor(test): share sandbox config test helpers
2026-02-16 18:25:04 +00:00
Peter Steinberger
30c8361d0a
refactor(test): dedupe isolated cron turn setup
2026-02-16 18:25:04 +00:00
Shadow
1b7301051b
Config: require Discord ID strings ( #18220 )
2026-02-16 12:22:58 -06:00
Peter Steinberger
5d40d47501
refactor(test): reduce dispatch-from-config setup duplication
2026-02-16 18:09:49 +00:00
Peter Steinberger
74c49c943d
refactor(test): share web fetch e2e setup helpers
2026-02-16 18:09:45 +00:00
Peter Steinberger
9c6e879a06
refactor(test): dedupe heartbeat runner e2e scaffolding
2026-02-16 18:09:38 +00:00
Peter Steinberger
c7e386982f
refactor(test): dedupe agent and memory cli test setup
2026-02-16 17:57:45 +00:00
Peter Steinberger
616d4692a9
refactor(hooks): share install temp-dir and archive fixtures
2026-02-16 17:57:45 +00:00
Peter Steinberger
9a29d7833b
refactor(cli): dedupe browser and hooks command handlers
2026-02-16 17:57:45 +00:00
Peter Steinberger
d688188864
refactor(tests): share outbound runner and delivery helpers
2026-02-16 17:22:26 +00:00
Peter Steinberger
71111c9978
refactor(tests): dedupe gateway send and threading fixtures
2026-02-16 17:22:26 +00:00
Peter Steinberger
291275982c
refactor(web): reuse send api + access-control test helpers
2026-02-16 17:22:26 +00:00
Peter Steinberger
94a4dd0189
refactor(gateway): dedupe wizard and exec approval handler paths
2026-02-16 17:22:26 +00:00
Ayaan Zaidi
16327f21da
feat(telegram): support inline button styles ( #18241 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 239cb3552e
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 22:48:47 +05:30
Peter Steinberger
a177f7b9fe
refactor(tests): dedupe slack telegram and web monitor setup
2026-02-16 17:06:40 +00:00
Peter Steinberger
8df83d1835
refactor(core): extract shared runtime and wizard schemas
2026-02-16 17:06:40 +00:00
Peter Steinberger
c37f65a449
refactor(tests): share harnesses for cli and monitor fixtures
2026-02-16 17:06:40 +00:00
Peter Steinberger
b991919755
refactor(cron): dedupe next-run recompute paths
2026-02-16 17:06:40 +00:00
Gustavo Madeira Santana
8a67016646
Agents: raise bootstrap total cap and warn on /context truncation ( #18229 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f6620526df
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-16 12:04:53 -05:00
Peter Steinberger
5b185da366
refactor(test): remove remaining command test duplication
2026-02-16 16:52:53 +00:00
Peter Steinberger
0d51869c3c
refactor(test): consolidate doctor health and sandbox fixtures
2026-02-16 16:48:55 +00:00
Peter Steinberger
2d8edf85ad
refactor(test): share onboarding and model auth test helpers
2026-02-16 16:48:55 +00:00
Peter Steinberger
ac5f6e7c9d
refactor(test): dedupe agent and status command fixtures
2026-02-16 16:48:55 +00:00
Mariano
44ef045614
fix(canvas): port remaining iOS branch stability fixes ( #18228 )
...
* fix(canvas): prevent snapshot disconnects on proxied gateways
(cherry picked from commit 2a3c9f746a65f3301c0cfe58ebe6596fed06230f)
* fix(canvas): accept url alias for present and navigate
(cherry picked from commit 674ee86a0b776cbb738add1920a4031246125312)
---------
Co-authored-by: Nimrod Gutman <nimrod.g@singular.net >
2026-02-16 16:42:28 +00:00
Ayaan Zaidi
c8a536e30a
fix(agents): scope message tool schema by channel ( #18215 )
...
Co-authored-by: Shadow <shadow@openclaw.ai >
2026-02-16 10:34:18 -06:00
Peter Steinberger
3a2fffefdb
refactor(test): centralize doctor e2e runtime and snapshot scaffolding
2026-02-16 16:32:37 +00:00
Peter Steinberger
ffeeb835aa
refactor(test): extract shared doctor migration test setup
2026-02-16 16:32:37 +00:00
Peter Steinberger
261f5ee492
refactor(test): dedupe command config and model test fixtures
2026-02-16 16:32:37 +00: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