Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC3266: Room summary API #3266

Merged
merged 43 commits into from
Mar 26, 2025
Merged

Conversation

deepbluev7
Copy link
Contributor

@deepbluev7 deepbluev7 commented Jul 4, 2021

Rendered.

Somewhat related to MSC2946 this provides an API to get a summary for a specific room either from the local server or over federation.

Useful for a few cases, where you need to show a summary for a room like matrix.to, traveler bots, showing spaces, lightweight clients, etc.

Open design questions looking for feedback: see this comment chain: #3266 (comment) resolved as of 2021/10/06

Implementations:

Signed-off-by: Nicolas Werner nicolas.werner@hotmail.de


SCT stuff:

Shepherd: @richvdh
FCP tickyboxes

Checklist: #3266 (comment)

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
@deepbluev7 deepbluev7 changed the title Room summary proposal MSC3266: Room summary proposal Jul 4, 2021
@deepbluev7 deepbluev7 changed the title MSC3266: Room summary proposal MSC3266: Room summary Jul 4, 2021
@turt2live turt2live added client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal proposal-in-review labels Jul 5, 2021
@deepbluev7 deepbluev7 changed the title MSC3266: Room summary MSC3266: Room summary API Jul 11, 2021
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
…est of the path separate

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
That way the requesting server knows, if any user would have access to
that room and it can forward the room to the user.

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
@richvdh
Copy link
Member

richvdh commented Mar 4, 2025

I have given this another round of updates. SCT members who had previously ticked their boxes may wish to give this another round of review; however I hope there is nothing that will be controversial here. @deepbluev7 likewise: I hope you don't object to any of my changes here.

I think there are only two material changes:

  • Most notably: whether to expose the endpoint to unauthenticated access is now left as a decision for admins and server implementations (2f48c41, 872c5de).
  • I took the executive decision to add canonical_alias to the response: it looked like its omission was an accident rather than deliberate.

There have been a number of other changes, but I believe they are all clarifications, rather than material changes.

@richvdh
Copy link
Member

richvdh commented Mar 4, 2025

@mscbot resolve should unauthenticated access be enabled by default?

@mscbot mscbot removed the unresolved-concerns This proposal has at least one outstanding concern label Mar 4, 2025
@richvdh richvdh requested review from dbkr, t3chguy and erikjohnston and removed request for t3chguy March 4, 2025 16:02
Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>
@mscbot
Copy link
Collaborator

mscbot commented Mar 7, 2025

🔔 This is now entering its final comment period, as per the review above. 🔔

@mscbot mscbot added final-comment-period This MSC has entered a final comment period in interest to approval, postpone, or delete in 5 days. and removed proposed-final-comment-period Currently awaiting signoff of a majority of team members in order to enter the final comment period. labels Mar 7, 2025
@richvdh
Copy link
Member

richvdh commented Mar 26, 2025

@KitsuneRal you have an outstanding request for changes (#3266 (review), I think). Could you dismiss your review, unless you still want to see changes here?

@richvdh
Copy link
Member

richvdh commented Mar 26, 2025

🔔 This is now entering its final comment period, as per the review above. 🔔

As far as I can tell, this should have completed FCP weeks ago, but the bot seems to be stuck.

@turt2live
Copy link
Member

considering FCP completed as-is. If there's edits to be made to the MSC, please put those up as a PR urgently.

@turt2live turt2live merged commit 520ba77 into matrix-org:old_master Mar 26, 2025
@turt2live turt2live added finished-final-comment-period spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec and removed final-comment-period This MSC has entered a final comment period in interest to approval, postpone, or delete in 5 days. finished-final-comment-period labels Mar 26, 2025
turt2live pushed a commit that referenced this pull request Mar 27, 2025
* Room summary proposal

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Remove alias resolution step from the federation API

* Reference #688 in the alternatives section

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Remove `is_direct` from response

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Fix unstable prefixes for implementations which keep the prefix and rest of the path separate

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Add allowed_room_ids field

That way the requesting server knows, if any user would have access to
that room and it can forward the room to the user.

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Extend rationale for additional fields to reference MSC2946

Also explain that membership is already accessible information.

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Add bulk API as an alternative

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Remove federation API and address feedback

- Add some additional rationale to some things.
- Federation API now reuses MSC 2946
- roomid -> roomId
- Move it out of /rooms, because it allows using an alias

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* fix prefixes again

* Remove extensions to federation API since that MSC is amended now

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Fix minor inaccuracy about the spaces sumary api

* Add encryption field back

* Add room version field

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Apply suggestions from code review

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net>

* Add a bit more reasoning

* version -> room_version

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Try to address review comments

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Fix incorrect statement about encryption being a bool

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Split up the big alternatives section

* Collapse the same descriptions for publicRooms and hierarchy into one

* Shorten the 'accessible' section again

* Update proposals/3266-room-summary.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update proposals/3266-room-summary.md

* Update proposals/3266-room-summary.md

Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net>

* Support knock_restricted rooms and rename to room_summary

As well as a few smaller clarifications.

* Be more explicit about authentication

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Fix error codes and missing "Optional"

* Also add allowed_room_ids to hierarchy API

It suffers from the same knock_restricted issue.

* Apply suggestions from code review

Co-authored-by: Eric Eastwood <madlittlemods@gmail.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Update spec links

* Clarify accessibility rules

* Update proposals/3266-room-summary.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update proposals/3266-room-summary.md

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>

* Unauthenticated access is impl-dependent

* add  to response

* Clarify resposnse documentation.

* Clarify situation for invited rooms

* further clarification about unauth access

* Update proposals/3266-room-summary.md

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>

---------

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Eric Eastwood <madlittlemods@gmail.com>
Co-authored-by: Richard van der Hoff <richard@matrix.org>
Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API disposition-merge kind:feature MSC for not-core and not-maintenance stuff proposal A matrix spec change proposal spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec
Projects
Status: Requires spec writing
Development

Successfully merging this pull request may close these issues.