Commit Graph

14 Commits

Author SHA1 Message Date
Tak Hoffman 5d3edb1d40
fix: honor nextcloud default setup status 2026-04-03 15:41:44 -05:00
Tak Hoffman e063f67ac0
fix: honor nextcloud default runtime account 2026-04-03 13:24:58 -05:00
Tak Hoffman 4afa720a0c
fix: honor nextcloud default account setup policy 2026-04-03 12:42:18 -05:00
Tak Hoffman 6a28756e98
fix: honor nextcloud setup dm policy accounts 2026-04-03 10:37:07 -05:00
Vincent Koc e414e51761 perf(nextcloud-talk): split setup test hotspots 2026-04-03 19:09:49 +09:00
Vincent Koc de2d4ecd9e test(nextcloud-talk): avoid per-test module resets 2026-04-03 17:47:08 +09:00
Peter Steinberger 8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading 2026-03-29 09:10:38 +01:00
Peter Steinberger 30bf4dd1ce test: isolate nextcloud talk from bundled channel imports 2026-03-28 07:18:07 +00:00
Peter Steinberger df4c9c5bd8 refactor: narrow test mocks off infra runtime 2026-03-28 06:54:03 +00:00
Tak Hoffman 33e64cfb64
fix(regression): align nextcloud-talk send helper runtime usage 2026-03-27 21:37:50 -05:00
Peter Steinberger c9d68fb9c2 fix: repair ci test and loader regressions 2026-03-27 18:41:47 +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
Peter Steinberger efafbece17 test: collapse nextcloud-talk send and helper suites 2026-03-25 05:39:11 +00:00
Peter Steinberger 6e050808ef test: collapse channel setup test suites 2026-03-25 04:52:36 +00:00