diff --git a/synapse/api/errors.py b/synapse/api/errors.py index b400149023..caab6c4d6d 100644 --- a/synapse/api/errors.py +++ b/synapse/api/errors.py @@ -525,7 +525,7 @@ class MSC4335UserLimitExceededError(SynapseError): code: int, msg: str, info_uri: str, - soft_limit: bool, + soft_limit: bool = False, increase_uri: Optional[str] = None, ): if soft_limit and increase_uri is None: @@ -533,8 +533,11 @@ class MSC4335UserLimitExceededError(SynapseError): additional_fields: dict[str, Union[str, bool]] = { "org.matrix.msc4335.info_uri": info_uri, - "org.matrix.msc4335.soft_limit": soft_limit, } + + if soft_limit: + additional_fields["org.matrix.msc4335.soft_limit"] = soft_limit + if soft_limit and increase_uri is not None: additional_fields["org.matrix.msc4335.increase_uri"] = increase_uri diff --git a/tests/rest/client/test_media.py b/tests/rest/client/test_media.py index d5c2654849..51d03daeff 100644 --- a/tests/rest/client/test_media.py +++ b/tests/rest/client/test_media.py @@ -3087,7 +3087,7 @@ class MediaUploadLimits(unittest.HomeserverTestCase): self.assertEqual( channel.json_body["org.matrix.msc4335.info_uri"], "https://example.com" ) - self.assertEqual(channel.json_body["org.matrix.msc4335.soft_limit"], False) + self.assertEquals(hasattr(channel.json_body, "org.matrix.msc4335.increase_uri"), False) @override_config( {