forked-synapse/synapse
Richard van der Hoff c897ac63e9
Ensure that incoming to-device messages are not dropped (#17127)
... when workers are unreachable, etc.

Fixes https://github.com/element-hq/synapse/issues/17117.

The general principle is just to make sure that we propagate any
exceptions to the JsonResource, so that we return an error code to the
sending server. That means that the sending server no longer considers
the message safely sent, so it will retry later.

In the issue, Erik mentions that an alternative solution would be to
persist the to-device messages into a table so that they can be retried.
This might be an improvement for performance, but even if we did that,
we still need this mechanism, since we might be unable to reach the
database. So, if we want to do that, it can be a later follow-up.

---------

Co-authored-by: Erik Johnston <erik@matrix.org>
2024-04-29 14:11:00 +01:00
..
_scripts Add support for moving /push_rules off of main process (#17037) 2024-03-28 15:44:07 +00:00
api Improve event validation (#16908) 2024-03-19 17:52:53 +00:00
app Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
appservice Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
config MSC4108 implementation (#17056) 2024-04-25 12:50:12 +00:00
crypto Only do one concurrent fetch per server in keyring (#16894) 2024-02-09 10:51:11 +00:00
events Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
federation Ensure that incoming to-device messages are not dropped (#17127) 2024-04-29 14:11:00 +01:00
handlers Ensure that incoming to-device messages are not dropped (#17127) 2024-04-29 14:11:00 +01:00
http MSC4108 implementation (#17056) 2024-04-25 12:50:12 +00:00
logging Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
media Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
metrics Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
module_api Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
push Send an email if the address is already bound to an user account (#16819) 2024-04-23 16:45:24 +01:00
replication Fixups to new push stream (#17038) 2024-03-28 16:29:23 +00:00
res Send an email if the address is already bound to an user account (#16819) 2024-04-23 16:45:24 +01:00
rest Declare support for Matrix v1.10. (#17082) 2024-04-29 14:09:03 +01:00
server_notices Merge remote-tracking branch 'gitlab/clokep/license-license' into new_develop 2023-12-13 15:11:56 +00:00
spam_checker_api Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
state Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
static Update link to the clients webpage, fix #15825 (#15874) 2023-07-06 17:28:09 +02:00
storage Fix filtering of rooms when supplying the destination query parameter to /_synapse/admin/v1/federation/destinations/<destination>/rooms (#17077) 2024-04-26 10:52:24 +01:00
streams Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
synapse_rust MSC4108 implementation (#17056) 2024-04-25 12:50:12 +00:00
types Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
util Ensure that pending to-device events are sent over federation at startup (#16925) 2024-03-22 13:24:11 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
_pydantic_compat.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
event_auth.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
notifier.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
py.typed Mark Module API error imports as re-exported and mark Synapse as containing type annotations (#11054) 2021-10-13 08:42:41 +01:00
server.py MSC4108 implementation (#17056) 2024-04-25 12:50:12 +00:00
visibility.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00