Commit Graph

2790 Commits

Author SHA1 Message Date
Peter Steinberger b34b03dd9e refactor: move channel dedupe helpers onto core sdk 2026-03-28 02:58:45 +00:00
Peter Steinberger 68416fdf83
refactor(acp): generalize message-channel binds 2026-03-28 02:53:54 +00:00
Peter Steinberger 491969efb0 refactor: route channel activity through channel runtime 2026-03-28 02:53:03 +00:00
Tak Hoffman 684a1565a9
fix(regression): align feishu send helper runtime usage 2026-03-27 21:52:06 -05:00
Peter Steinberger 00dcfa1b3d refactor: move channel backoff helpers onto runtime-env 2026-03-28 02:48:35 +00:00
Tak Hoffman 4ec51f2d5f
fix(regression): align msteams send helper runtime usage 2026-03-27 21:46:42 -05:00
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: bbd9afdd5c
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: dd456aa32b
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