mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-30 00:04:07 +01:00
Pass through SynapseError
s that are raised from experimental check_event_allowed
callback of the module API (#11042)
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
This commit is contained in:
parent
4c838112dc
commit
3828dd819b
2 changed files with 10 additions and 0 deletions
1
changelog.d/11042.bugfix
Normal file
1
changelog.d/11042.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Work around a regression, introduced in Synapse 1.39.0, that caused `SynapseError`s raised by the experimental third-party rules module callback `check_event_allowed` to be ignored.
|
|
@ -217,6 +217,15 @@ class ThirdPartyEventRules:
|
||||||
for callback in self._check_event_allowed_callbacks:
|
for callback in self._check_event_allowed_callbacks:
|
||||||
try:
|
try:
|
||||||
res, replacement_data = await callback(event, state_events)
|
res, replacement_data = await callback(event, state_events)
|
||||||
|
except SynapseError as e:
|
||||||
|
# FIXME: Being able to throw SynapseErrors is relied upon by
|
||||||
|
# some modules. PR #10386 accidentally broke this ability.
|
||||||
|
# That said, we aren't keen on exposing this implementation detail
|
||||||
|
# to modules and we should one day have a proper way to do what
|
||||||
|
# is wanted.
|
||||||
|
# This module callback needs a rework so that hacks such as
|
||||||
|
# this one are not necessary.
|
||||||
|
raise e
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning("Failed to run module API callback %s: %s", callback, e)
|
logger.warning("Failed to run module API callback %s: %s", callback, e)
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in a new issue