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
Shadow
d3707147c0
chore: update carbon
2026-02-16 12:45:08 -06:00
Vignesh Natarajan
1cf3aba3f6
chore (changelog): note qmd multi-agent startup fix
2026-02-16 10:35:48 -08: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
Nimrod Gutman
5a39e13c92
fix(ios): restore missing location monitor merge files ( #18260 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f60cd10f6d0b089efc2f146c570efc4c8c250175
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Co-authored-by: ngutman <1540134+ngutman@users.noreply.github.com>
Reviewed-by: @ngutman
2026-02-17 01:41:53 +08:00
Mariano
f2e12646b4
docs(changelog): credit @Marvae for iOS onboarding QR ( #18325 )
...
Co-authored-by: Mariano Belinky <mariano@mb-server-643.local>
2026-02-16 17:39:53 +00:00
Mariano
9e26fe4459
fix(ios): gate talk barge-in on isolated audio routes ( #18265 )
...
Co-authored-by: Mariano Belinky <mariano@mb-server-643.local>
2026-02-16 17:37:10 +00:00
Mariano
b3859b488c
feat(ios): add background listening core toggle ( #18261 )
...
Co-authored-by: Mariano Belinky <mariano@mb-server-643.local>
2026-02-16 17:36:17 +00:00
Mariano
ad27716d3f
feat(ios): add Talk voice directive hint toggle ( #18250 )
...
* feat(ios): add Talk voice directive hint toggle
* docs(changelog): credit voice directive hint slice
---------
Co-authored-by: Mariano Belinky <mariano@mb-server-643.local>
2026-02-16 17:33:42 +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: 239cb3552e4eaf2597b8e1f4af82ab2ffd1d446c
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: f6620526df231b571a8821edf9fc5f76c3994583
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
Mariano
130e59a9c0
iOS: port onboarding + QR pairing flow stability ( #18162 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a87eadea19e9d2e693300ac7382cd338eb87b472
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 16:22:51 +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
Mariano
9a1e168685
iOS: port gateway connect/discovery stability + onboarding reset ( #18164 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 8165ec5baec56b34656ee12ee5a59b6bd91d7b2a
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 16:07:22 +00:00
Peter Steinberger
def3a3ced1
refactor(test): reduce auth and channel setup duplication
2026-02-16 16:03:22 +00:00