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
Peter Steinberger
899be356ac
fix(ui): center settings help glyph, shrink custodian thinking mascot, add user avatar error fallback ( #118337 )
2026-08-02 18:00:13 -07:00
Peter Steinberger
18c9f27e2d
fix(scripts): diagnose gateway concurrency probes ( #118308 )
...
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 17:34:46 -07:00
Harjoth Khara
b491742030
fix(skills): show proposal detail on Skill Workshop approval cards ( #117549 )
2026-08-02 17:31:52 -07:00
Peter Steinberger
4c66ed5615
feat(channels): lifecycle wave 2 — fifteen more channels publish recorded lifecycle ( #118298 )
...
* feat(channels): publish lifecycle from existing status sinks
* feat(channels): thread lifecycle through provider monitors
* fix(mattermost): keep lifecycle status helper private
* fix(matrix): preserve terminal lifecycle during startup cleanup
* fix(matrix): reject invalid tokens during startup
* test(mattermost): drop unused vi import
2026-08-02 17:30:56 -07:00
Peter Steinberger
bb5c649e31
fix: bound pending approvals and preserve delivery order ( #118252 )
...
* refactor: centralize pending request lifecycles
Share timeout and settlement registries across worker, LSP, node-host, and approval fanout paths. Bound plugin conversation-binding approvals and preserve terminal notification ordering during slow delivery.
* style: satisfy pending registry lint rules
* test: await deferred plugin approval delivery
* test: satisfy forwarder type-aware lint
2026-08-02 17:30:53 -07:00
Peter Steinberger
c43ba8e3fc
fix(cli): speed up hook status reads through the Gateway ( #118288 )
...
* perf(cli): reuse gateway hook status (#118222 )
* chore(protocol): register hooks.status schema module in generated surfaces
2026-08-02 17:21:28 -07:00
Peter Steinberger
ae4a95faad
fix(voice-call): stop superseded realtime consult work ( #118301 )
...
* fix(voice-call): abort superseded realtime consults
* test(voice-call): use error abort rejections
* chore: defer voice-call release note
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 17:19:01 -07:00
Peter Steinberger
7764cc544c
test(tlon): dedupe upload hardening fixtures ( #118320 )
2026-08-02 17:18:54 -07:00
Peter Steinberger
2167e6f8bc
test(agents): complete embedded runtime fixtures ( #118313 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-02 17:17:43 -07:00
Peter Steinberger
c5ef79f986
refactor(zoom-meetings): consolidate runtime fixtures ( #118300 )
2026-08-02 17:13:56 -07:00
WhatsSkiLL
4c136a7dea
fix-android-sidebar-search-results ( #117981 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-08-02 17:13:16 -07:00
Peter Steinberger
cac802f474
test(xai): deduplicate search fixtures ( #118263 )
2026-08-02 17:13:02 -07:00
Peter Steinberger
ff9955f01b
refactor(imessage): consolidate approval test fixtures ( #118306 )
...
* test(imessage): consolidate approval fixtures
* test(imessage): avoid shadowing fixture factory
* test(imessage): preserve data-driven case titles
2026-08-02 17:10:56 -07:00
Peter Steinberger
51548dd7e1
test(infra): consolidate audit migration fixtures ( #118277 )
2026-08-02 17:08:35 -07:00
Peter Steinberger
5f359ef614
test: deduplicate provider tool schema fixtures ( #118302 )
2026-08-02 17:08:11 -07:00
Peter Steinberger
ddb6a80bf7
test(agents): focus incomplete-turn owner coverage ( #118269 )
...
* test(agents): focus incomplete-turn owner coverage
* test(agents): satisfy incomplete-turn checks
* test(agents): simplify replay side-effect state
* test(agents): retain incomplete-turn entry coverage
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 17:08:08 -07:00
Peter Steinberger
b521e0a6dc
fix(llama-cpp): stop hijacking explicitly configured HTTP provider routes ( #118293 )
...
* fix(llama-cpp): preserve configured HTTP routes
* chore: drop release-owned CHANGELOG edit from PR branch
2026-08-02 17:06:58 -07:00
Peter Steinberger
2a635f21df
refactor(imessage): consolidate status test fixtures ( #118249 )
2026-08-02 17:06:51 -07:00
Peter Steinberger
cef675233b
docs(memory): explain overlapping hook and transcript indexing ( #118299 )
2026-08-02 17:06:32 -07:00
Peter Steinberger
c6ef95604e
refactor(ollama): deduplicate memory embedding test fixtures ( #118267 )
2026-08-02 17:05:37 -07:00
Peter Steinberger
e9d88696b5
feat(cron): add webhook SSRF policy ( #118237 ) ( #118286 )
2026-08-02 17:02:20 -07:00
Peter Steinberger
b7f9cd0a01
test(reef): consolidate transport protocol fixtures ( #118281 )
2026-08-02 16:39:26 -07:00
Peter Steinberger
523eec543e
fix(cron): resolve zoned dates and ambiguous DST folds canonically ( #118297 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 16:38:33 -07:00
Peter Steinberger
3c4dbea2ed
test(minimax): consolidate OAuth fixtures ( #118276 )
2026-08-02 16:37:01 -07:00
Peter Steinberger
c5bcb7a84e
test(agents): deduplicate computer tool fixtures ( #118278 )
2026-08-02 16:36:32 -07:00
Peter Steinberger
03e83c0278
fix(agents): enforce child-agent limits during concurrent launches ( #118201 )
...
* fix(agents): enforce child limits across simultaneous launches
* fix(agents): preserve typed child admission outcomes
2026-08-02 16:35:55 -07:00
Peter Steinberger
d803843cfd
test(macos): consolidate Codex catalog fixtures ( #118233 )
2026-08-02 16:35:01 -07:00
Peter Steinberger
3b83dbf3bb
test(meeting-bot): consolidate node audio harness ( #118291 )
2026-08-02 16:34:44 -07:00
Peter Steinberger
75aa8306f7
fix: canonicalize single-flight promise caching ( #118245 )
...
* fix: canonicalize promise single-flight caches
* fix: make TUI refresh outcome explicit
* fix: satisfy single-flight lint contracts
2026-08-02 16:33:25 -07:00
Peter Steinberger
b93fc7e8f6
test(browser): consolidate navigation security fixtures ( #118240 )
2026-08-02 16:32:33 -07:00