fix: Improve the reliability of room summary lookups #1257

Merged
Jade merged 4 commits from nex/fix/room-summaries into main 2025-12-31 20:02:59 +00:00
Owner

This PR alleviates some of the flakiness around the room summary endpoint, which notably has also caused issues for element x users. It does this by copying over a restriction bypass from Synapse, and falling back to remote summary fetches when fetching a local one fails (which may happen if our local copy of the room is out of date).

Pull request checklist:

  • This pull request targets the main branch, and the branch is named something other than
    main.
  • I have written an appropriate pull request title and my description is clear.
  • I understand I am responsible for the contents of this pull request.
  • I have followed the contributing guidelines:
This PR alleviates some of the flakiness around the room summary endpoint, which notably has also caused issues for element x users. It does this by copying over a restriction bypass from Synapse, and falling back to remote summary fetches when fetching a local one fails (which may happen if our local copy of the room is out of date). **Pull request checklist:** - [x] This pull request targets the `main` branch, and the branch is named something other than `main`. - [x] I have written an appropriate pull request title and my description is clear. - [x] I understand I am responsible for the contents of this pull request. - I have followed the [contributing guidelines][c1]: - [x] My contribution follows the [code style][c2], if applicable. - [x] I ran [pre-commit checks][c1pc] before opening/drafting this pull request. - [ ] I have [tested my contribution][c1t] (or proof-read it for documentation-only changes) myself, if applicable. This includes ensuring code compiles. - [x] My commit messages follow the [commit message format][c1cm] and are descriptive. - [x] I have written a [news fragment][n1] for this PR, if applicable<!--(can be done after hitting open!)-->. <!-- Notes on these requirements: - While not required, we encourage you to sign your commits with GPG or SSH to attest the authenticity of your changes. - While we allow LLM-assisted contributions, we do not appreciate contributions that are low quality, which is typical of machine-generated contributions that have not had a lot of love and care from a human. Please do not open a PR if all you have done is asked ChatGPT to tidy up the codebase with a +-100,000 diff. - In the case of code style violations, reviewers may leave review comments/change requests indicating what the ideal change would look like. For example, a reviewer may suggest you lower a log level, or use `match` instead of `if/else` etc. - In the case of code style violations, pre-commit check failures, minor things like typos/spelling errors, and in some cases commit format violations, reviewers may modify your branch directly, typically by making changes and adding a commit. Particularly in the latter case, a reviewer may rebase your commits to squash "spammy" ones (like "fix", "fix", "actually fix"), and reword commit messages that don't satisfy the format. - Pull requests MUST pass the `Checks` CI workflows to be capable of being merged. This can only be bypassed in exceptional circumstances. If your CI flakes, let us know in matrix:r/dev:continuwuity.org. - Pull requests have to be based on the latest `main` commit before being merged. If the main branch changes while you're making your changes, you should make sure you rebase on main before opening a PR. Your branch will be rebased on main before it is merged if it has fallen behind. - We typically only do fast-forward merges, so your entire commit log will be included. Once in main, it's difficult to get out cleanly, so put on your best dress, smile for the cameras! --> [c1]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md [c2]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/docs/development/code_style.mdx [c1pc]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#pre-commit-checks [c1t]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#running-tests-locally [c1cm]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#commit-messages [n1]: https://towncrier.readthedocs.io/en/stable/tutorial.html#creating-news-fragments
nex added this to the 0.5.2 milestone 2025-12-31 18:19:43 +00:00
feat: Allow local server admins to bypass summary visibility checks

Also improve error messages so they aren't so damn long.
feat: Fall back to remote room summary if local fails
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 56s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 2m29s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 17m17s
5bea16677e
chore: Add news fragment
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 2m8s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 3m11s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 17m16s
e3354865ee
fix: Resolve compile errors
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 54s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m30s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 15m43s
773144a303
me and cargo check are oops now
Jade force-pushed nex/fix/room-summaries from 773144a303
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 54s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m30s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 15m43s
to a523e8ed82
Some checks are pending
Documentation / Build and Deploy Documentation (pull_request) Waiting to run
Checks / Prek / Pre-commit & Formatting (pull_request) Waiting to run
Checks / Prek / Clippy and Cargo Tests (pull_request) Waiting to run
2025-12-31 19:59:57 +00:00
Compare
Jade force-pushed nex/fix/room-summaries from 773144a303
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 54s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m30s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 15m43s
to bf200ad12d
Some checks failed
Documentation / Build and Deploy Documentation (push) Waiting to run
Checks / Prek / Pre-commit & Formatting (push) Waiting to run
Checks / Prek / Clippy and Cargo Tests (push) Waiting to run
Release Docker Image / Build linux-amd64 (release) (push) Waiting to run
Release Docker Image / Build linux-arm64 (release) (push) Waiting to run
Release Docker Image / Create Multi-arch Release Manifest (push) Blocked by required conditions
Release Docker Image / Build linux-amd64 (max-perf) (push) Blocked by required conditions
Release Docker Image / Build linux-arm64 (max-perf) (push) Blocked by required conditions
Release Docker Image / Create Max-Perf Manifest (push) Blocked by required conditions
Documentation / Build and Deploy Documentation (pull_request) Successful in 2m4s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 2m45s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 20m25s
2025-12-31 20:01:35 +00:00
Compare
Jade merged commit bf200ad12d into main 2025-12-31 20:02:59 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!1257
No description provided.