Commit Graph

75834 Commits

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