Skip to content

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>
@mscbot mscbot added the final-comment-period This MSC has entered a final comment period in interest to approval, postpone, or delete in 5 days. label Mar 7, 2025
@turt2live turt2live moved this from Ready for FCP ticks to In FCP in Spec Core Team Workflow 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 turt2live moved this from In FCP to Requires spec writing in Spec Core Team Workflow 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>

For unauthenticated requests a response should only be returned if the room is
publicly accessible; specifically, that means either:
* the room has `join_rule: public` or `join_rule: knock`, or:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this is meant to include knock_restricted?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the current implementation does so, yes. Otherwise it'll need a new MSC.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Johennes
Copy link
Contributor

Spec PR: matrix-org/matrix-spec#2125

@turt2live turt2live added spec-pr-in-review A proposal which has been PR'd against the spec and is in review and removed spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec labels Apr 1, 2025
@turt2live turt2live moved this from Requires spec writing to Requires spec PR review in Spec Core Team Workflow Apr 1, 2025
@clokep clokep added merged A proposal whose PR has merged into the spec! and removed spec-pr-in-review A proposal which has been PR'd against the spec and is in review labels Jun 4, 2025
@turt2live turt2live moved this from Requires spec PR review to Done to some definition in Spec Core Team Workflow Jun 10, 2025
@Johennes Johennes mentioned this pull request Jul 3, 2025
34 tasks
jackmaninov added a commit to jackmaninov/dendrite that referenced this pull request Nov 26, 2025
Add two new fields to PublicRoom struct for MSC3266 room summary support:
- Encryption: The encryption algorithm used in the room
- RoomVersion: The room version

These fields use unstable prefixes (im.nheko.summary.*) until MSC3266
is merged into the Matrix spec.

This enables federation hierarchy responses to include encryption and
room version information for room previews.

Ref: matrix-org/matrix-spec-proposals#3266
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 merged A proposal whose PR has merged into the spec! proposal A matrix spec change proposal

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.