synapse/tests
Johannes Marbach b9b8775db7
Add plain-text handling for rich-text topics as per MSC3765 (#18195)
This implements
https://github.com/matrix-org/matrix-spec-proposals/pull/3765 which is
already merged and, therefore, can use stable identifiers.

For `/publicRooms` and `/hierarchy`, the topic is read from the
eponymous field of the `current_state_events` table. Rather than
introduce further columns in this table, I changed the insertion /
update logic to write the plain-text topic from the rich topic into the
existing field. This will not take effect for existing rooms unless
their topic is changed. However, existing rooms shouldn't have rich
topics to begin with.

Similarly, for server-side search, I changed the insertion logic of the
`event_search` table to prefer the value from the rich topic. Again,
existing events shouldn't have rich topics and, therefore, don't need to
be migrated in the table.

Spec doc: https://spec.matrix.org/v1.15/client-server-api/#mroomtopic

Part of supporting Matrix v1.15:
https://spec.matrix.org/v1.15/client-server-api/#mroomtopic

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Eric Eastwood <erice@element.io>
2025-07-09 14:13:54 -05:00
..
api Export RatelimitOverride from ModuleApi (#18513) 2025-06-06 10:48:49 +00:00
app Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
appservice Recover an appservice if a successful ping occurs. (#18521) 2025-06-06 11:59:38 +00:00
config Fix a couple type annotations in the RootConfig/Config (#18409) 2025-05-13 10:22:15 -05:00
crypto Stop sending or processing the origin field in PDUs (#18418) 2025-07-01 12:04:23 +01:00
events Stop sending or processing the origin field in PDUs (#18418) 2025-07-01 12:04:23 +01:00
federation Stop sending or processing the origin field in PDUs (#18418) 2025-07-01 12:04:23 +01:00
handlers Add via param to hierarchy enpoint (#18070) 2025-06-30 12:42:14 +00:00
http Enable flake8-logging and flake8-logging-format rules in Ruff and fix related issues throughout the codebase (#18542) 2025-06-13 09:44:18 +02:00
logging Unbreak unit tests with Twisted 25.5.0 by add parsePOSTFormSubmission arg to FakeSite (#18577) 2025-06-24 11:52:06 +01:00
media Add media repository callbacks to module API to control media upload size (#18457) 2025-06-04 11:33:10 +01:00
metrics Add a unit test for the phone home stats (#18463) 2025-05-20 16:26:45 +01:00
module_api Add user_may_send_state_event callback to spam checker module API (#18455) 2025-06-04 11:26:04 +00:00
push Do not retry push during backoff period (#18363) 2025-04-29 14:08:11 +01:00
replication Unbreak unit tests with Twisted 25.5.0 by add parsePOSTFormSubmission arg to FakeSite (#18577) 2025-06-24 11:52:06 +01:00
rest Add plain-text handling for rich-text topics as per MSC3765 (#18195) 2025-07-09 14:13:54 -05:00
scripts Update license headers 2023-11-21 15:29:58 -05:00
server_notices Sliding Sync: Add cache to get_tags_for_room(...) (#17730) 2024-09-19 12:43:26 +01:00
state bugfix: calculate the PL for non-creators correctly in v11 rooms (#18547) 2025-06-13 12:56:39 +01:00
storage Replace PyICU with Rust icu_segmenter crate (#18553) 2025-07-03 11:12:12 +01:00
test_utils Bump ruff from 0.7.3 to 0.11.10 (#18451) 2025-05-20 15:23:30 +01:00
types Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
util Add plain-text handling for rich-text topics as per MSC3765 (#18195) 2025-07-09 14:13:54 -05:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
server.py Unbreak unit tests with Twisted 25.5.0 by add parsePOSTFormSubmission arg to FakeSite (#18577) 2025-06-24 11:52:06 +01:00
test_distributor.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_event_auth.py Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
test_mau.py Update license headers 2023-11-21 15:29:58 -05:00
test_phone_home.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_rust.py Add missing type hints to tests. (#15027) 2023-02-08 19:52:37 +00:00
test_server.py Fix backwards compat for DirectServeJsonResource (#18600) 2025-06-26 14:05:48 +00:00
test_state.py Bump ruff from 0.7.3 to 0.11.10 (#18451) 2025-05-20 15:23:30 +01:00
test_terms_auth.py Update license headers 2023-11-21 15:29:58 -05:00
test_test_utils.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_types.py Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
test_visibility.py Include user membership on events (#17282) 2024-06-13 21:45:54 +00:00
unittest.py Cleanup Python 3.8 leftovers (#17967) 2025-02-10 16:53:24 +00:00
utils.py Cleanup Python 3.8 leftovers (#17967) 2025-02-10 16:53:24 +00:00