Commit Graph

4784 Commits

Author SHA1 Message Date
Tak Hoffman 912a26e759 fix(regression): align mattermost send helper runtime usage 2026-03-27 21:45:10 -05:00
Peter Steinberger b171e42117 refactor: move telegram timing helpers onto runtime-env 2026-03-28 02:43:29 +00:00
Tak Hoffman a65d603b31 fix(regression): align irc send helper runtime usage 2026-03-27 21:40:58 -05:00
Peter Steinberger 6a2c5b2b54 refactor: move telegram error formatting onto ssrf runtime 2026-03-28 02:38:02 +00:00
Tak Hoffman 33e64cfb64 fix(regression): align nextcloud-talk send helper runtime usage 2026-03-27 21:37:50 -05:00
Sid Uppal 295d1de8d9 fix(msteams): reset stream state after tool calls to prevent message loss (#56071)
* fix(msteams): reset stream state after preparePayload suppresses delivery

When an agent uses tools mid-response (text → tool calls → more text),
the stream controller's preparePayload would suppress fallback delivery
for ALL text segments because streamReceivedTokens stayed true. This
caused the second text segment to be silently lost or duplicated.

Fix: after preparePayload suppresses delivery for a streamed segment,
finalize the stream and reset streamReceivedTokens so subsequent
segments use fallback delivery.

Fixes openclaw/openclaw#56040

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(msteams): guard preparePayload against finalized stream re-suppression

When onPartialReply fires after the stream is finalized (post-tool
partial tokens), streamReceivedTokens gets set back to true but the
stream can't deliver. Add stream.isFinalized check so a finalized
stream never suppresses fallback delivery.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(msteams): await pending finalize in controller to prevent race

Store the fire-and-forget finalize promise from preparePayload and
await it in the controller's finalize() method. This ensures
markDispatchIdle waits for the in-flight stream finalization to
complete before context cleanup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test(msteams): add edge case tests for multi-round and media payloads

Add tests for 3+ tool call rounds (text → tool → text → tool → text)
and media+text payloads after stream finalization, covering the full
contract of preparePayload across all input types and cycle counts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 21:36:37 -05:00
Peter Steinberger 6b4d097b25 refactor: route telegram env helpers through runtime-env 2026-03-28 02:34:11 +00:00
Tak Hoffman d027b442af fix(regression): restore zalouser cold-runtime chunking 2026-03-27 21:33:14 -05:00
Peter Steinberger 05719648a1 test(line): isolate status probe fallback import state 2026-03-28 02:31:39 +00:00
Tak Hoffman a3961d098a fix(regression): preserve mattermost reaction channel routing 2026-03-27 21:30:24 -05:00
Tak Hoffman 42ecfffbff fix(regression): restore signal cold-runtime chunking 2026-03-27 21:28:18 -05:00
Peter Steinberger 1bf8d69d95 refactor(msteams): share conversation store helpers 2026-03-28 02:26:48 +00:00
Peter Steinberger 4031bb1914 refactor: trim secret and ssrf helper runtime seams 2026-03-28 02:25:28 +00:00
Tak Hoffman 18fe752c48 fix(regression): restore googlechat cold-runtime chunking 2026-03-27 21:25:21 -05:00
Tak Hoffman 3143cf86e8 fix(regression): restore whatsapp cold-runtime chunking 2026-03-27 21:23:18 -05:00
Tak Hoffman e57342c7f2 fix(regression): restore msteams cold-runtime chunking 2026-03-27 21:21:40 -05:00
Peter Steinberger 3b9eb2cd1b refactor: trim bluebubbles runtime seams 2026-03-28 02:21:34 +00:00
Tak Hoffman c0c32445ab fix(regression): restore feishu cold-runtime chunking 2026-03-27 21:17:17 -05:00
Peter Steinberger 46a44c5044 refactor: trim tlon runtime helper seams 2026-03-28 02:15:31 +00:00
Tak Hoffman 23d5bad3ae fix(regression): restore matrix cold-runtime chunking 2026-03-27 21:14:38 -05:00
Tak Hoffman 196d347153 fix(regression): restore mattermost cold-runtime chunking 2026-03-27 21:12:13 -05:00
Peter Steinberger 185668f5c5 refactor: trim extension helper runtime seams 2026-03-28 02:12:05 +00:00
Peter Steinberger ce2444403e refactor: trim provider oauth runtime seams 2026-03-28 02:08:29 +00:00
Peter Steinberger 2926c25e10 fix: prefer freshest Teams DM reference (#54702) (thanks @gumclaw) 2026-03-28 02:04:51 +00:00
gumclaw a717819f78 msteams: align memory store user resolution 2026-03-28 02:04:51 +00:00
gumclaw 28eb5ece14 msteams: prefer freshest personal conversation reference 2026-03-28 02:04:51 +00:00
Peter Steinberger e8866fc738 refactor: narrow provider runtime auth seams 2026-03-28 02:04:31 +00:00
Peter Steinberger 72ba2b3653 chore: bump version metadata to 2026.3.27 2026-03-28 02:00:22 +00:00
Tak Hoffman ee72081373 fix(regression): restore googlechat cold-runtime media send 2026-03-27 20:58:47 -05:00
Peter Steinberger c42ec81e37 feat(acp): add conversation binds for message channels 2026-03-28 01:54:25 +00:00
Tak Hoffman a724246547 fix(regression): restore imessage cold-runtime chunking 2026-03-27 20:50:03 -05:00
Gustavo Madeira Santana 86d8b06da9 Matrix: preserve strict DM SAS fallback 2026-03-27 21:42:12 -04:00
Tak Hoffman 9e16374898 fix(regression): restore signal cold-runtime status probing 2026-03-27 20:34:58 -05:00
Tak Hoffman b9b84f2572 fix(regression): restore line cold-runtime status probing 2026-03-27 20:33:09 -05:00
Tak Hoffman 3ec1df86fa fix(regression): restore slack probe fallback without runtime 2026-03-27 20:24:14 -05:00
Tak Hoffman b598cdf968 fix(regression): preserve discord thread bindings for plugin commands 2026-03-27 20:24:14 -05:00
Tak Hoffman b1eeca3b00 fix(regression): stop cross-channel plugin thread defaults 2026-03-27 20:24:14 -05:00
Peter Steinberger 8f06ed8ef5 fix: short-circuit disabled media runtime 2026-03-28 00:45:57 +00:00
Tak Hoffman 262e5c57c8 fix(ci): stabilize module-bound exact regressions (#56085)
* Adjust compaction identifier test for summary args

* Harden exec completion after child exit

* Handle SDK compaction and skill shape drift

* Stabilize Synology Chat module-bound tests

* Restore skill source compatibility shims

* Restore self-hosted provider discovery mocks
2026-03-27 19:44:15 -05:00
Gustavo Madeira Santana b6ead2dd3b fix(matrix): align outbound direct-room selection (#56076)
Merged via squash.

Prepared head SHA: bbd9afdd5c99925b079ade939c6b31abeb0f6c0d
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-27 20:35:55 -04:00
Peter Steinberger 78160b5f88 fix: align discord registry and runtime test helpers 2026-03-28 00:13:44 +00:00
ZIHANXU 29674d75fb fix: load pierre themes without json module imports (#45869)
Merged via squash.

Prepared head SHA: dd456aa32b85ce9b037141e0361e2c484efd8f0e
Co-authored-by: NickHood1984 <124482724+NickHood1984@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-27 20:12:11 -04:00
Peter Steinberger 8e687613b6 refactor: move stream payload compat into provider seams 2026-03-28 00:10:39 +00:00
Peter Steinberger 2d8351b3b4 fix: align anthropic and skills helpers with shared sdk 2026-03-28 00:08:52 +00:00
Gustavo Madeira Santana 378803987c fix(diffs): stage bundled runtime deps after updates (#56077)
Merged via squash.

Prepared head SHA: 2a153451de7a7cc8e6cd87795dbdd5e85a7bee27
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-27 20:01:14 -04:00
Peter Steinberger d343b11bf1 refactor: reuse shared openai model prefix helper 2026-03-27 23:58:42 +00:00
Peter Steinberger 6ba0c434ba refactor: move plugin tool routing defaults into tool context 2026-03-27 23:58:04 +00:00
Peter Steinberger 0b26e4d72a refactor: split shared provider catalog sdk helpers 2026-03-27 23:55:10 +00:00
Bruce MacDonald 773c57b418 fix(ollama): send think=false for thinking models when thinking is off
Ollama thinking-capable models default to think=true when the parameter
is absent. When OpenClaw has thinking set to off, the request never
included think=false, so models continued generating thinking tokens
that were then discarded by the response parser, producing empty
responses.

Wire onPayload into the Ollama stream path so payload wrappers can
mutate the request body, and add an Ollama-specific wrapper that sets
top-level think=false when thinkingLevel is off.

Fixes #46680, #50702, #50712

Co-Authored-By: SnowSky1 <126348592+snowsky1@users.noreply.github.com>
2026-03-27 23:49:33 +00:00
Peter Steinberger 3b51e6471a test: switch provider model barrel straggler imports 2026-03-27 23:48:56 +00:00