forked-synapse/synapse/handlers
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
..
ui_auth Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
account_data.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
account_validity.py Merge remote-tracking branch 'gitlab/clokep/license-license' into new_develop 2023-12-13 15:11:56 +00:00
account.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
admin.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
appservice.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
auth.py Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
cas.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
deactivate_account.py Redact membership events if the user requested erasure upon deactivating (#17076) 2024-04-25 14:25:31 +01:00
device.py Add a config to not send out device list updates for specific users (#16909) 2024-02-13 13:23:03 +00:00
devicemessage.py Ensure that incoming to-device messages are not dropped (#17127) 2024-04-29 14:11:00 +01:00
directory.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
e2e_keys.py bugfix: make msc3967 idempotent (#16943) 2024-04-15 10:57:56 +00:00
e2e_room_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
event_auth.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
events.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
federation_event.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
federation.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
identity.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
initial_sync.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
jwt.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
message.py Improve event validation (#16908) 2024-03-19 17:52:53 +00:00
oidc.py Add OIDC config to add extra parameters to the authorize URL (#16971) 2024-03-22 10:35:11 +00:00
pagination.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
password_policy.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
presence.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
profile.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
push_rules.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
read_marker.py Do not refuse to set read_marker if previous event_id is in wrong room (#16990) 2024-03-21 18:43:07 +00:00
receipts.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
register.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
relations.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
room_list.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room_member_worker.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room_member.py Fixups to new push stream (#17038) 2024-03-28 16:29:23 +00:00
room_summary.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room.py Fix PR #16677, a parameter was missing in a function call (#17033) 2024-04-09 14:06:46 +01:00
saml.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
search.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
send_email.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
set_password.py Update license headers 2023-11-21 15:29:58 -05:00
sso.py Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
state_deltas.py Update license headers 2023-11-21 15:29:58 -05:00
stats.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
sync.py Also check if first event matches the last in prev batch (#17066) 2024-04-09 14:01:12 +00:00
typing.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
user_directory.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
worker_lock.py Improve lock performance when a lot of locks are waiting (#16840) 2024-03-14 13:49:54 +00:00