synapse/tests
Brendan Abolivier d73bf18d13
Server notices: Dissociate room creation/lookup from invite (#7199)
Fixes #6815

Before figuring out whether we should alert a user on MAU, we call get_notice_room_for_user to get some info on the existing server notices room for this user. This function, if the room doesn't exist, creates it and invites the user in it. This means that, if we decide later that no server notice is needed, the user gets invited in a room with no message in it. This happens at every restart of the server, since the room ID returned by get_notice_room_for_user is cached.

This PR fixes that by moving the inviting bit to a dedicated function, that's only called when the server actually needs to send a notice to the user. A potential issue with this approach is that the room that's created by get_notice_room_for_user doesn't match how that same function looks for an existing room (i.e. it creates a room that doesn't have an invite or a join for the current user in it, so it could lead to a new room being created each time a user syncs), but I'm not sure this is a problem given it's cached until the server restarts, so that function won't run very often.

It also renames get_notice_room_for_user into get_or_create_notice_room_for_user to make what it does clearer.
2020-04-04 17:27:45 +02:00
..
api Add a make_event_from_dict method (#6858) 2020-02-07 15:30:04 +00:00
app Remove spurious "name" parameter to default_config 2020-03-24 18:33:49 +00:00
appservice Refactor the Appservice scheduler code 2019-08-20 11:50:23 +01:00
config Improve database configuration docs (#6988) 2020-03-20 15:24:22 +00:00
crypto Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
events Remove special auth and redaction rules for aliases events in experimental room ver. (#7037) 2020-03-09 08:58:25 -04:00
federation Fix device list update stream ids going backward (#7158) 2020-04-03 10:40:22 +01:00
handlers Allow admins to create aliases when they are not in the room (#7191) 2020-04-01 08:27:05 -04:00
http Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
logging Fix for structured logging tests stomping on logs (#6023) 2019-09-13 02:29:55 +10:00
push Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) 2020-02-21 07:15:07 -05:00
replication Move catchup of replication streams to worker. (#7024) 2020-03-25 14:54:01 +00:00
rest Merge pull request #7157 from matrix-org/rev.outbound_device_pokes_tests 2020-03-30 13:59:07 +01:00
scripts Port register_new_matrix_user to Python 3 and add tests (#4085) 2018-10-26 22:05:22 +11:00
server_notices Server notices: Dissociate room creation/lookup from invite (#7199) 2020-04-04 17:27:45 +02:00
state Improve get auth chain difference algorithm. (#7095) 2020-03-18 16:46:41 +00:00
storage Make do_next_background_update return a bool 2020-03-31 17:43:58 +01:00
test_utils Move logging utilities out of the side drawer of util/ and into logging/ (#5606) 2019-07-04 00:07:04 +10:00
util Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
__init__.py Move patch_inline_callbacks into synapse/ 2019-10-10 10:53:06 +01:00
server.py Kill off redundant SynapseRequestFactory (#6619) 2020-01-03 14:19:48 +00:00
test_distributor.py Run black. 2018-08-10 23:54:09 +10:00
test_event_auth.py Remove special auth and redaction rules for aliases events in experimental room ver. (#7037) 2020-03-09 08:58:25 -04:00
test_federation.py Add a make_event_from_dict method (#6858) 2020-02-07 15:30:04 +00:00
test_mau.py Run Black on the tests again (#5170) 2019-05-10 00:12:11 -05:00
test_metrics.py Add a build info metric to Prometheus (#6005) 2019-09-10 00:14:58 +10:00
test_phone_home.py Remove the psutil dependency (#6318) 2019-11-05 05:05:48 +11:00
test_preview.py Run Black. (#5482) 2019-06-20 19:32:02 +10:00
test_server.py Implement RedirectException (#6687) 2020-01-15 15:58:55 +00:00
test_state.py Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) 2020-02-21 07:15:07 -05:00
test_terms_auth.py Merge pull request #7157 from matrix-org/rev.outbound_device_pokes_tests 2020-03-30 13:59:07 +01:00
test_test_utils.py Run black. 2018-08-10 23:54:09 +10:00
test_types.py Validate the alt_aliases property of canonical alias events (#6971) 2020-03-03 07:12:45 -05:00
test_visibility.py Port to use state storage 2019-10-30 14:46:54 +00:00
unittest.py Set a logging context while running the bg updates 2020-03-31 17:43:58 +01:00
utils.py Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00