synapse/changelog.d
Devon Hudson 119f02e3b3
Return 400 when canonical_alias content invalid (#19240)
Fixes #19198

Returns HTTP 400 when `alias` or `alt_alias` inside of
`m.room.canonical_alias` `content` are not of type string.
Previously this resulted in HTTP 500 errors as Synapse assumed they were
strings and would raise an exception when it tried to treat them as such
if they actually weren't.

With the changes implemented:
<img width="800" height="616" alt="Screenshot from 2025-11-28 16-48-06"
src="https://github.com/user-attachments/assets/1333a4b3-7b4f-435f-bbff-f48870bc4d96"
/>
<img width="800" height="316" alt="Screenshot from 2025-11-28 16-47-42"
src="https://github.com/user-attachments/assets/5928abf8-88a2-4bd9-9420-9a1f743f66f5"
/>

### Pull Request Checklist

<!-- Please read
https://element-hq.github.io/synapse/latest/development/contributing_guide.html
before submitting your pull request -->

* [X] Pull request is based on the develop branch
* [X] Pull request includes a [changelog
file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog).
The entry should:
- Be a short description of your change which makes sense to users.
"Fixed a bug that prevented receiving messages from other servers."
instead of "Moved X method from `EventStore` to `EventWorkerStore`.".
  - Use markdown where necessary, mostly for `code blocks`.
  - End with either a period (.) or an exclamation mark (!).
  - Start with a capital letter.
- Feel free to credit yourself, by adding a sentence "Contributed by
@github_username." or "Contributed by [Your Name]." to the end of the
entry.
* [X] [Code
style](https://element-hq.github.io/synapse/latest/code_style.html) is
correct (run the
[linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
2025-12-01 15:24:26 +00:00
..
.gitignore
17782.misc Move call invite filtering logic to filter_events_for_client (#17782) 2025-11-28 17:41:56 +00:00
18960.bugfix Fix case where get_partial_current_state_deltas could return >100 rows (#18960) 2025-11-26 17:17:04 +00:00
19203.feature Implement MSC4380: Invite blocking (#19203) 2025-11-26 16:12:14 +00:00
19207.feature Move RestartDelayedEventServlet to workers (#19207) 2025-11-27 16:44:17 +00:00
19208.misc Export SYNAPSE_SUPPORTED_COMPLEMENT_TEST_PACKAGES from scripts-dev/complement.sh (#19208) 2025-11-21 19:01:43 -06:00
19209.misc Refactor scripts-dev/complement.sh logic to avoid exit (#19209) 2025-11-21 10:51:19 -06:00
19211.misc Expire sliding sync connections (#19211) 2025-11-25 10:20:47 +00:00
19219.misc Put MSC2666 endpoint behind an experimental flag (#19219) 2025-11-25 18:03:33 +00:00
19220.misc Prevent lint-newsfile job activating when fixing dependabot PR branches (#19220) 2025-11-27 16:15:06 +00:00
19221.misc Allow ruff to auto-fix trailing spaces in multi-line comments (#19221) 2025-11-25 14:09:48 +00:00
19223.misc Move towards a dedicated Duration class (#19223) 2025-11-26 10:56:59 +00:00
19224.misc Use sqlglot to properly check SQL delta files (#19224) 2025-11-28 15:49:15 +00:00
19225.removal Stop building wheels for MacOS (#19225) 2025-11-26 10:32:39 +00:00
19229.misc Port Clock functions to use Duration class (#19229) 2025-12-01 13:55:06 +00:00
19230.misc Add a unit test that ensures that deleting a device purges the associated refresh token (#19230) 2025-11-28 17:01:15 +00:00
19240.bugfix Return 400 when canonical_alias content invalid (#19240) 2025-12-01 15:24:26 +00:00
19251.misc Fix rust source check when using .egg-info (#19251) 2025-12-01 13:34:21 +00:00