Commit Graph

220 Commits

Author SHA1 Message Date
Tak Hoffman 912a26e759
fix(regression): align mattermost send helper runtime usage 2026-03-27 21:45:10 -05:00
Tak Hoffman a3961d098a
fix(regression): preserve mattermost reaction channel routing 2026-03-27 21:30:24 -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 992b30604d refactor: move extension-owned tests to extensions 2026-03-27 21:37:09 +00:00
Peter Steinberger 2f13758f42 test: stabilize extension ci mocks 2026-03-27 18:55:58 +00:00
Peter Steinberger c9d68fb9c2 fix: repair ci test and loader regressions 2026-03-27 18:41:47 +00:00
Peter Steinberger 1086acf3c2 fix: repair latest-main ci gate 2026-03-27 17:57:23 +00:00
Peter Steinberger ed055f44ae refactor: route plugin runtime through bundled seams 2026-03-27 16:40:27 +00:00
Peter Steinberger 9a775aa59c refactor: continue plugin seam cleanup 2026-03-27 13:46:16 +00:00
Ayaan Zaidi bd2c208689
refactor(mattermost): type config seams 2026-03-27 11:59:02 +05:30
Ayaan Zaidi f804da9444
test(mattermost): remove double-cast test helpers 2026-03-27 10:59:07 +05:30
Peter Steinberger ee12f24760
fix: restore ci compatibility 2026-03-27 05:23:50 +00:00
Peter Steinberger fbd8990e78
fix: resolve rebase fallout in runtime tests 2026-03-27 05:07:50 +00:00
Peter Steinberger a9e241dacb
fix: align runtime types with upstream changes 2026-03-27 05:07:50 +00:00
Ayaan Zaidi 137a56194e
test(mattermost): remove untyped mocks 2026-03-27 10:31:08 +05:30
Ayaan Zaidi e2d0a808e0
refactor(mattermost): type action params 2026-03-27 10:31:08 +05:30
Ayaan Zaidi 06820b6daf
refactor(mattermost): define post schema once 2026-03-27 10:08:29 +05:30
Ayaan Zaidi ca9659ffb0
style(mattermost): format websocket monitor 2026-03-27 10:04:23 +05:30
Ayaan Zaidi 8b13710c09
refactor(plugin-sdk): expose zod subpath 2026-03-27 09:55:47 +05:30
Peter Steinberger d8a1808bd6 fix: nextcloud-talk + mattermost type errors
- nextcloud-talk setup-core: cast input to NextcloudSetupInput before accessing .secret/.secretFile/.baseUrl
- mattermost monitor-websocket: add intermediate 'as unknown' for ZodRecord→ZodType<MattermostPost> cast
2026-03-27 04:23:39 +00:00
Peter Steinberger ef56d79a6a
refactor: collapse zod setup validators 2026-03-27 03:48:15 +00:00
Peter Steinberger e6c5ce136e
refactor: share zod setup validators across channels 2026-03-27 03:41:40 +00:00
Peter Steinberger 1d1f36adff
refactor: parse extension event payloads with zod 2026-03-27 03:41:40 +00:00
Jacob Tomlinson f92c92515b
fix(extensions): route fetch calls through fetchWithSsrFGuard (#53929)
* fix(extensions): route fetch calls through fetchWithSsrFGuard

Replace raw fetch() with fetchWithSsrFGuard in BlueBubbles, Mattermost,
Nextcloud Talk, and Thread Ownership extensions so outbound requests go
through the shared DNS-pinning and network-policy layer.

BlueBubbles: thread allowPrivateNetwork from account config through all
fetch call sites (send, chat, reactions, history, probe, attachments,
multipart). Add _setFetchGuardForTesting hook for test overrides.

Mattermost: add guardedFetchImpl wrapper in createMattermostClient that
buffers the response body before releasing the dispatcher. Handle
null-body status codes (204/304).

Nextcloud Talk: wrap both sendMessage and sendReaction with
fetchWithSsrFGuard and try/finally release.

Thread Ownership: add fetchWithSsrFGuard and ssrfPolicyFromAllowPrivateNetwork
to the plugin SDK surface; use allowPrivateNetwork:true for the
Docker-internal forwarder.

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

* fix(extensions): improve null-body handling and test harness cleanup

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

* fix(bluebubbles): default to strict SSRF policy when allowPrivateNetwork is unset

Callers that omit allowPrivateNetwork previously got undefined policy,
which caused blueBubblesFetchWithTimeout to fall through to raw fetch
and bypass the SSRF guard entirely.

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

* fix(bluebubbles): thread allowPrivateNetwork through action and monitor call sites

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

* fix(mattermost,nextcloud-talk): add allowPrivateNetwork config for self-hosted/LAN deployments

* fix: regenerate config docs baseline for new allowPrivateNetwork fields

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 02:04:54 -07:00
Mathias Nagler 39fbfd9b28
fix(mattermost): thread resolved cfg through reply delivery send calls (#48347)
Merged via squash.

Prepared head SHA: 7ca468e365
Co-authored-by: mathiasnagler <9951231+mathiasnagler@users.noreply.github.com>
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com>
Reviewed-by: @mukhtharcm
2026-03-26 01:31:12 +00:00
Peter Steinberger 43058c021e test: collapse setup and monitor channel suites 2026-03-25 04:25:02 +00:00
Ayaan Zaidi 8f8b79496f fix: keep message-tool buttons optional for Telegram and Mattermost (#52589) (thanks @tylerliu612) 2026-03-23 14:43:41 +05:30
Peter Steinberger 5c8ea0a175 refactor: share channel setup status helpers 2026-03-23 01:56:01 +00:00
Vincent Koc 9a07187339 style(format): fix extension test drift 2026-03-22 18:53:22 -07:00
create aaba1ae653 fix(mattermost): honor replyToMode off for threaded messages 2026-03-22 18:42:56 -07:00
Vincent Koc 6e9cf81a8b test(mattermost): cover directory discovery 2026-03-22 18:42:43 -07:00
Peter Steinberger f3650b466f
style: format mattermost slash monitor test 2026-03-22 18:36:56 -07:00
Vincent Koc a40f781cbe test(mattermost): cover slash and resources 2026-03-22 18:34:54 -07:00
Vincent Koc bad9c8c223 style(format): fix channel test drift 2026-03-22 18:32:07 -07:00
Vincent Koc f580b68380 test(mattermost): cover onchar parsing 2026-03-22 18:30:23 -07:00
Peter Steinberger ecdf5d457a
test: fix latest main test regressions 2026-03-22 18:28:13 -07:00
Vincent Koc 0a329b2c9f Revert "style(format): fix check drift in provider tests"
This reverts commit 2619f5fe55.
2026-03-22 18:25:07 -07:00
Vincent Koc 2619f5fe55 style(format): fix check drift in provider tests 2026-03-22 18:24:40 -07:00
Vincent Koc 1b53918d4f test(mattermost): cover monitor auth gates 2026-03-22 18:23:46 -07:00
Vincent Koc 05088eebdc test(mattermost): cover setup surface 2026-03-22 18:01:24 -07:00
Vincent Koc fdcf26ffd3 test(mattermost): cover setup adapter 2026-03-22 17:59:04 -07:00
Vincent Koc a61e5d17f0
deps: update fast-xml-parser and markdown-it (#52541)
* style: format test files

* deps: bump fast-xml-parser override
2026-03-22 17:55:47 -07:00
Vincent Koc 7dc1389d55 test(mattermost): cover routing helpers 2026-03-22 17:49:35 -07:00
Peter Steinberger 4cc0d05cfb refactor: share channel runtime state defaults 2026-03-22 23:37:12 +00:00
Peter Steinberger 3a949646da refactor: simplify builder pairing adapters 2026-03-22 22:45:06 +00:00
Peter Steinberger dcd5473283 refactor: adopt shared chat plugin builder 2026-03-22 21:37:32 +00:00
Peter Steinberger 99462776d1 refactor: compose shared channel security adapters 2026-03-22 21:37:31 +00:00
Peter Steinberger 87b2672126 refactor: centralize computed channel status adapters 2026-03-22 21:37:31 +00:00
Peter Steinberger 87722d6327 refactor: extend shared account status snapshot helpers 2026-03-22 20:55:16 +00:00