Peter Steinberger
5d853c6fce
test(policy): centralize doctor fixtures ( #118392 )
2026-08-02 20:04:24 -07:00
Peter Steinberger
11795bdc7c
refactor(openai): unify GPT-Live delegation control ( #118391 )
2026-08-02 20:03:33 -07:00
Jason (Json)
074f2dcfc8
perf(gateway): bound sessions.list transcript validation ( #118380 )
2026-08-02 21:01:10 -06:00
Peter Steinberger
68d17473f7
refactor(scripts): consolidate legacy store guard facts ( #118385 )
2026-08-02 20:00:57 -07:00
Peter Steinberger
57732647d1
fix(cron): scope settlement grace to the cancelled run ( #118393 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 20:00:00 -07:00
Peter Steinberger
b438b9605f
fix: dashboards fail to load and interrupted first-time setup never recovers ( #118388 )
...
* fix: recover dashboards and interrupted first-time setup
* fix: clarify managed proxy bypass boundary
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 19:56:40 -07:00
Peter Steinberger
88e588090f
refactor(gateway): compact validator registry imports ( #118379 )
2026-08-02 19:55:52 -07:00
Peter Steinberger
0a1d103189
refactor(test): consolidate extension vitest configs ( #118366 )
2026-08-02 19:55:36 -07:00
Peter Steinberger
6b065244a9
test(outbound): consolidate recovery fixtures ( #117876 )
2026-08-02 19:55:06 -07:00
Peter Steinberger
97034f3d95
fix(telegram): recover directed turns after empty model replies ( #118305 )
...
* fix(telegram): recover empty directed replies
* test: fix empty-reply assertions
* test: restore result assertions
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 19:53:43 -07:00
Peter Steinberger
afdb4112f3
fix(ui): consolidate chat composer menu navigation ( #118365 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 19:48:15 -07:00
Peter Steinberger
b1c9f022ec
fix(memory-wiki): protect recall boundaries and damaged notes ( #118375 )
2026-08-02 19:48:02 -07:00
Peter Steinberger
0d366e7d39
refactor(agents): consolidate CLI compaction test fixtures ( #118082 )
2026-08-02 19:46:29 -07:00
Peter Steinberger
d01f03b91c
fix(discord): preserve accepted partial reply receipts ( #118354 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 19:44:15 -07:00
Peter Steinberger
628672aaa1
test(buzz): consolidate lifecycle fixtures ( #118316 )
2026-08-02 19:42:22 -07:00
Peter Steinberger
1fedcca9a9
fix(agents): finish settled failed-tool turns instead of dropping replies ( #118344 )
2026-08-02 19:40:41 -07:00
Peter Steinberger
b36e9af00a
fix(openai): reject malformed video download bodies ( #117227 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 19:39:46 -07:00
Peter Steinberger
443821f49b
test(opencode-go): consolidate stream termination harness ( #118317 )
2026-08-02 19:34:57 -07:00
Peter Steinberger
d347cd1097
refactor: canonicalize cache mechanics ( #118262 )
...
* refactor: adopt shared map pruning
* refactor: share config-scoped ttl cache
* refactor: share backup link cache
* refactor: centralize native relay retention cap
* chore: remove obsolete bundled channel lint suppression
* chore: shrink max-lines baseline
* refactor: remove cache pruning wrappers
2026-08-02 19:33:13 -07:00
openclaw-mantis[bot]
4f9af40078
chore(i18n): refresh native locales ( #118356 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-03 10:32:19 +08:00
Peter Steinberger
5aced07df4
test(reply): isolate follow-up delivery runtime plan ( #118369 )
2026-08-02 19:30:06 -07:00
Peter Steinberger
22033d7836
test(swift): centralize transcript cache fixtures ( #118322 )
2026-08-02 19:28:36 -07:00
Peter Steinberger
2778a34065
docs: rewrite README to house standard ( #118376 )
...
* docs: rewrite README to house standard
* docs: preserve README reference links
* docs: use static MIT license badge (GitHub misclassifies LICENSE as Other)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-02 19:28:14 -07:00
Peter Steinberger
1d2fc98bf4
test(android): reduce voice fixture duplication ( #118270 )
2026-08-02 19:27:55 -07:00
Peter Steinberger
3a555d5956
refactor(agents): centralize terminal lifecycle outcomes ( #118254 )
...
* refactor(agents): centralize terminal lifecycle outcomes
* fix(agents): preserve terminal projection contracts
* refactor(agents): split terminal error boundary
* test(gateway): align stale lifecycle projection
2026-08-02 19:17:30 -07:00
Peter Steinberger
347f16d556
fix(scripts): warm gateway concurrency probes ( #118364 )
2026-08-02 19:16:02 -07:00
Peter Steinberger
345343fb70
test(discord): consolidate activity HTTP fixtures ( #118314 )
2026-08-02 19:13:51 -07:00
Vincent Koc
f5637c0685
fix(qa): restore prerelease validation ( #118255 )
...
* test(whatsapp): return accepted monitor send results
* fix(qa): recognize Code Mode write results
2026-08-03 10:09:19 +08:00
Peter Steinberger
3f85a78c16
improve(tests): focus overflow compaction owner coverage ( #118351 )
...
* test(agents): focus overflow compaction owner coverage
* test(agents): import run registry owners directly
* test(agents): remove retired overflow fixtures
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 19:08:10 -07:00
Peter Steinberger
f0d8cd3603
test(telegram): deduplicate dispatch fixtures ( #118319 )
2026-08-02 19:05:18 -07:00
Peter Steinberger
ffe2268eec
test(xai): consolidate realtime voice fixtures ( #118318 )
2026-08-02 19:04:38 -07:00
Vincent Koc
d93d07ac02
fix(telegram): prevent durable ingress lane spins ( #118357 )
...
* fix(channels): prevent ingress lane reconciliation spins
* fix(ui): restore composer lint budget
2026-08-03 09:58:19 +08:00
Ram Gupta
f2af4e97b3
fix(ui): keep chat Send and Stop responsive on mobile ( #116104 )
...
* fix(ui): keep chat actions responsive on mobile
* test(ui): satisfy composer lint gates
---------
Co-authored-by: Ram Gupta <10837129+Ram-G@users.noreply.github.com >
2026-08-02 18:24:01 -07:00
Peter Steinberger
cbd4b8dec8
fix(memory): keep wiki search inside protected recall visibility ( #118265 )
...
* fix(memory): unify wiki session authorization
* build: expose memory core boundary declarations
2026-08-02 18:22:17 -07:00
Peter Steinberger
c965909a30
perf(channels): defer partial text sanitization ( #118349 )
2026-08-02 18:19:21 -07:00
Peter Steinberger
aba5e56857
test(doctor): restore fast runtime fixtures ( #118347 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-02 18:18:56 -07:00
Peter Steinberger
d3568f18a4
fix(agents): keep queued run contexts alive through worker admission ( #118181 )
2026-08-02 18:16:44 -07:00
Peter Steinberger
2788e04fa3
feat(ui): link the Chrome Web Store listing from the apps page ( #118327 )
...
* feat(ui): link the Chrome Web Store listing from the apps page
* fix(ui): keep setup guide primary until the store listing is live
2026-08-02 18:12:03 -07:00
Peter Steinberger
0839f12ccd
docs: add pathfinder rule, LOC review metric, and test-duplication clause to AGENTS.md ( #118330 )
2026-08-02 18:11:29 -07:00
Peter Steinberger
d6f66b69ff
improve(tests): consolidate embedded runner integration setup ( #118326 )
...
* test(agents): consolidate embedded runner integration harnesses
* test(agents): keep shared runner in owner config
* test(agents): keep compaction mock private
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 18:10:53 -07:00
Peter Steinberger
25745aff1b
fix(gateway): preserve real agent failure and cancellation outcomes ( #118331 )
...
* fix(gateway): finalize exhausted fallback failures without retry grace
* fix(gateway): finalize exhausted provider timeouts immediately
* fix(gateway): preserve pending terminal outcomes on finalization
* refactor(gateway): unify pending terminal lifecycle ownership
* fix(gateway): preserve sticky outcomes for short agent waits
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 18:10:49 -07:00
Peter Steinberger
6ee406b1bf
fix(plugins): repair stale host packages after OpenClaw upgrades ( #118304 )
...
* fix(plugins): repair stale registered host package links
* refactor(plugins): isolate authoritative host-link repair owners
* fix(plugins): constrain host repair to registered install roots
2026-08-02 18:10:26 -07:00
Peter Steinberger
8a22378264
test(gateway): reuse system agent fixtures ( #118329 )
...
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 18:10:13 -07:00
Masato Hoshino
d73dd930af
fix(sms): reject a zero SMS_TEXT_CHUNK_LIMIT instead of sending one text per character ( #118158 )
...
SMS_TEXT_CHUNK_LIMIT is the documented environment fallback for
channels.sms.textChunkLimit. parseTextChunkLimit validates that field on two
paths and only guards one: the numeric branch requires raw > 0, while the string
branch the environment fallback uses ended in
parseStrictInteger(raw.trim()) ?? DEFAULT_TEXT_CHUNK_LIMIT, and 0 ?? 1500 is 0.
SmsChannelConfigSchema already declares z.number().int().positive() for the
config key, so the invariant existed and only the env path skipped it.
The unvalidated limit reaches the plugin's own chunkSmsPlainText, which returns
one chunk per character, and the send loop issues one Twilio request per chunk.
Measured on the real outbound path, a 9,528-character reply produced 7,550
single-character send requests. resolveSmsTextChunkLimit hides this from core
with account.textChunkLimit || fallbackLimit || 1500 while the plugin keeps the
raw 0.
Parse that branch with parseStrictPositiveInteger. Negative, fractional and
non-numeric values were already rejected by the surrounding regex and still fall
back to the default; 0 is the only input whose behavior changes.
2026-08-02 18:09:22 -07:00
Peter Steinberger
74c4d1cc7e
perf(plugins): memoize auto-enable fingerprints ( #118334 )
2026-08-02 18:09:02 -07:00
Peter Steinberger
357087b9c7
refactor(gateway): lifecycle-owned ambient state via factory-registered drains ( #118271 )
...
* refactor(runtime): own ambient state lifecycle cleanup
* chore(plugin-sdk): refresh additive API baseline
* fix(runtime): restore agent wait listener lifecycle
Keep agent-job data process-shared while preserving module-local event subscription ownership. Ratchet the public wildcard budget down after replacing text-runtime's wildcard singleton export with named exports.
2026-08-02 18:06:46 -07:00
clawsweeper[bot]
fa0e298d84
fix(ios): route forced realtime consults through Gateway relay ( #117485 )
...
* fix(ios): route forced realtime consults through Gateway relay
* fix(ios): route forced realtime consults through Gateway relay
* fix(ios): route forced realtime consults through Gateway relay
* fix(ios): route forced realtime consults through Gateway relay
* style(ios): drop redundant Self in requiresForcedAgentConsultRelay
* style(ios): use explicit self for firstString per swiftformat
---------
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-02 18:06:19 -07:00
Peter Steinberger
e1c71fab4f
docs: add stable gateway HTTPS guide ( #118340 )
2026-08-02 18:05:42 -07:00
PollyBot13
d9669ce72c
fix(ios): finish Calendar and Reminders grants without relaunch ( #116504 )
2026-08-02 18:01:41 -07:00
Peter Steinberger
ec7e5dd769
fix(gateway): recover channel autostart after crash loops ( #118311 )
...
* fix(gateway): recover channel autostart after crash loops
* docs(gateway): clarify crash-loop recovery steps
* test(gateway): type crash-loop recovery context
* test(gateway): correct recovery mock context
* test(gateway): keep recovery monitor coverage compact
* chore: leave crash-loop note to release flow
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 18:01:39 -07:00