Commit Graph

75818 Commits

Author SHA1 Message Date
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