Gustavo Madeira Santana
a68dc0841b
fix(matrix): prefer filename for saved media names
2026-03-27 18:51:14 -04:00
Gustavo Madeira Santana
a0cc5eab32
test(matrix): update originalFilename coverage
2026-03-27 18:51:13 -04:00
Emil Hekla
22207d5d8b
fix(matrix): pass originalFilename to saveMediaBuffer and expose path via MEDIA tag
...
The Matrix plugin's downloadMatrixMedia() was calling saveMediaBuffer() with
only 4 arguments, omitting the supported 5th originalFilename parameter.
Inbound images were saved as {uuid}.{ext} and the actual file path was never
exposed to the agent.
Fix A: Pass content.body (the Matrix event's original filename) as
originalFilename to saveMediaBuffer. Files are now saved as
{sanitized-original}---{uuid}.{ext} instead of {uuid}.{ext}.
Fix B: Append a MEDIA: tag with the actual file path to the body text.
The agent can now reference the exact path on any turn, using the existing
parseMediaPathFromText() infrastructure in the core.
This is the Matrix variant of the same bug fixed for WhatsApp in PR #12691 .
Fixes #55609
2026-03-27 18:51:13 -04:00
Peter Steinberger
90c50fd9d8
test: stabilize extension mocks for ci shards
2026-03-27 22:40:30 +00:00
Tak Hoffman
5f7f914796
fix(regression): restore external phone control commands
2026-03-27 16:57:16 -05:00
Peter Steinberger
992b30604d
refactor: move extension-owned tests to extensions
2026-03-27 21:37:09 +00:00
Peter Steinberger
d506eea076
fix(ci): restore contract plugin-sdk source loading
2026-03-27 21:33:32 +00:00
Tak Hoffman
9134dbd252
fix(regression): fail discord startup on reconnect exhaustion
2026-03-27 16:20:02 -05:00
Tak Hoffman
85cf23a9d6
fix(regression): allow external device pair approvals
2026-03-27 16:07:54 -05:00
Tak Hoffman
eacd5ac3ef
fix(regression): restore external talk voice updates
2026-03-27 16:05:22 -05:00
Peter Steinberger
b50b9b16ab
fix(ci): isolate discord session-key facade
2026-03-27 20:59:39 +00:00
Peter Steinberger
c813222671
fix(ci): support discord rate limit ctor drift
2026-03-27 20:54:23 +00:00
Peter Steinberger
03333100ba
fix(ci): align discord rate limit calls and telegram test imports
2026-03-27 20:48:21 +00:00
Peter Steinberger
cb5aefb790
fix: sync plugin sdk guardrails and test drift
2026-03-27 20:47:36 +00:00
Peter Steinberger
2bdbb189bd
refactor: route plugin sdk facades through extension barrels
2026-03-27 20:47:36 +00:00
Tak Hoffman
9446ee8ea3
fix(regression): restore Telegram fallback probe coverage
2026-03-27 15:47:16 -05:00
Tak Hoffman
fc570934de
fix(regression): refresh Telegram probe test imports
2026-03-27 15:42:03 -05:00
Tak Hoffman
7772395618
fix(regression): isolate Telegram runtime helper tests
2026-03-27 15:42:03 -05:00
Tak Hoffman
366c1d6b9e
fix(regression): tighten Telegram runtime helper coverage
2026-03-27 15:42:03 -05:00
Jacob Tomlinson
20c7cbbf78
Telegram: tighten media SSRF policy ( #56004 )
...
* Telegram: tighten media SSRF policy
* Telegram: restrict media downloads to configured hosts
* Telegram: preserve custom media apiRoot hosts
2026-03-27 20:39:24 +00:00
Jacob Tomlinson
511093d4b3
Discord: apply component interaction policy gates ( #56014 )
...
* Discord: apply component interaction policy gates
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com >
* Discord: pass carbon rate limit request
* Discord: reply to blocked component interactions
---------
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com >
2026-03-27 20:38:40 +00:00
Jacob Tomlinson
e403decb6e
nextcloud-talk: throttle repeated webhook auth failures ( #56007 )
...
* nextcloud-talk: throttle repeated webhook auth failures
Co-authored-by: Brian Mendonca <208517100+bmendonca3@users.noreply.github.com >
* nextcloud-talk: scope webhook auth limiter per server
* nextcloud-talk: limit repeated webhook auth failures only
---------
Co-authored-by: Brian Mendonca <208517100+bmendonca3@users.noreply.github.com >
2026-03-27 20:37:55 +00:00
Jacob Tomlinson
355abe5eba
Discord: enforce approver checks for text approvals ( #56015 )
...
* Discord: gate text approvals by approver policy
* Discord: require approvers for plugin text approvals
* Discord: preserve legacy text approval fallback
2026-03-27 20:37:15 +00:00
Jacob Tomlinson
aa66ae1fc7
Extensions: require admin for config write commands ( #56002 )
...
* Extensions: require admin for config write commands
* Tests: cover phone control disarm auth
2026-03-27 20:35:42 +00:00
Jacob Tomlinson
e64a881ae0
Channels: preserve routed group policy ( #56011 )
2026-03-27 20:33:47 +00:00
Tak Hoffman
77060aa9f9
fix(regression): preserve Telegram status fallback without runtime
2026-03-27 15:33:10 -05:00
Peter Steinberger
ae7d93adc4
fix(ci): restore green check after upstream API changes
2026-03-27 20:30:35 +00:00
Jacob Tomlinson
85777e726c
Voice Call: canonicalize Plivo V3 replay key ( #56003 )
...
Co-authored-by: zsx <git@zsxsoft.com >
2026-03-27 20:27:23 +00:00
Peter Steinberger
c28e76c490
refactor: move provider model helpers into plugins
2026-03-27 20:20:31 +00:00
Jacob Tomlinson
eb6a3fca26
telegram: use live runtime helpers in channel status
2026-03-27 20:14:33 +00:00
Peter Steinberger
953a438420
fix(discord): align rate-limit error callsites
2026-03-27 20:09:15 +00:00
Vincent Koc
02e3061aa7
fix(discord): stop queued reconnect exhaustion crash ( #55991 )
2026-03-27 12:39:38 -07:00
Peter Steinberger
496a1a35bd
fix(test): stabilize line and irc extension suites
2026-03-27 19:32:57 +00:00
Peter Steinberger
605c9306ab
fix(ci): repair extension and discord test gates
2026-03-27 19:26:25 +00:00
Jacob Tomlinson
febcb01128
discord: fix Carbon RateLimitError calls
2026-03-27 19:16:36 +00:00
Jacob Tomlinson
68ceaf7a5f
zalo: gate image downloads before DM auth ( #55979 )
...
* zalo: gate image downloads before DM auth
* zalo: clarify pre-download auth sentinel
2026-03-27 19:12:26 +00:00
Nimrod Gutman
7ce2670043
fix(discord): update carbon beta ( #55980 )
...
* fix(discord): update carbon beta
* fix: update carbon beta (#55980 ) (thanks @ngutman)
2026-03-27 22:06:20 +03:00
Jacob Tomlinson
fef1b1918c
SDK: break channel plugin import cycle
2026-03-27 19:00:57 +00:00
Jacob Tomlinson
80d1e8a11a
fal: guard image fetches ( #55948 )
...
* fal: guard image fetches
* fal: isolate guarded fetch tests
* fal: trust configured relay hosts
2026-03-27 18:59:25 +00:00
Peter Steinberger
2f13758f42
test: stabilize extension ci mocks
2026-03-27 18:55:58 +00:00
Jacob Tomlinson
4ee4960de2
Pairing: forward caller scopes during approval ( #55950 )
...
* Pairing: require caller scopes on approvals
* Gateway: reject forbidden silent pairing results
2026-03-27 18:55:33 +00:00
Jacob Tomlinson
2e23d44491
tests(feishu): reload chat tool after mock reset
2026-03-27 18:53:39 +00:00
Peter Steinberger
c9d68fb9c2
fix: repair ci test and loader regressions
2026-03-27 18:41:47 +00:00
Peter Steinberger
6e107b8857
fix(runtime): stabilize provider and channel runtime tests
2026-03-27 18:15:40 +00:00
Peter Steinberger
69e67a764d
refactor(feishu): remove docx table lint suppressions
2026-03-27 18:15:40 +00:00
Jakub Rusz
8f44bd6426
fix(ollama): emit streaming events for text content during generation ( #53891 )
...
The Ollama stream function requested `stream: true` from the API but
accumulated all content chunks internally, emitting only a single `done`
event at the end. This prevented downstream consumers (block streaming
pipeline, typing indicators, draft stream) from receiving incremental
text updates during generation.
Emit the full `start → text_start → text_delta* → text_end → done`
event sequence matching the AssistantMessageEvent contract used by
Anthropic, OpenAI, and Google providers. Each `text_delta` carries both
the incremental `delta` and an accumulated `partial` snapshot.
Tool-call-only responses (no text content) continue to emit only the
`done` event, preserving backward compatibility.
---------
Signed-off-by: Jakub Rusz <jrusz@proton.me >
Co-authored-by: Claude <claude-opus-4-6> <noreply@anthropic.com >
Co-authored-by: Bruce MacDonald <brucewmacdonald@gmail.com >
2026-03-27 11:12:09 -07:00
Peter Steinberger
1086acf3c2
fix: repair latest-main ci gate
2026-03-27 17:57:23 +00:00
Peter Steinberger
2d26f2d876
refactor: move legacy auth choice aliases into plugin manifests
2026-03-27 17:23:40 +00:00
Peter Steinberger
e25f634d50
refactor: move oauth profile repair metadata into providers
2026-03-27 17:23:40 +00:00
Peter Steinberger
910cb9f1af
refactor: simplify provider auth storage setters
2026-03-27 17:23:40 +00:00