Skip to content

MSC4401: Publishing client capabilities via profiles#4401

Open
Johennes wants to merge 5 commits intomatrix-org:mainfrom
gematik:johannes/profile-capabilities
Open

MSC4401: Publishing client capabilities via profiles#4401
Johennes wants to merge 5 commits intomatrix-org:mainfrom
gematik:johannes/profile-capabilities

Conversation

@Johennes
Copy link
Copy Markdown
Contributor

@Johennes Johennes commented Jan 15, 2026

@Johennes Johennes force-pushed the johannes/profile-capabilities branch from f0bd9e9 to dfb76d7 Compare January 15, 2026 14:57
@Johennes Johennes changed the title MSCXXXX: Publishing client capabilities via profiles MSC4401: Publishing client capabilities via profiles Jan 15, 2026
@Johennes Johennes marked this pull request as ready for review January 15, 2026 15:00
@turt2live turt2live added proposal A matrix spec change proposal 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. labels Jan 15, 2026
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Implementation requirements:

  • Client
  • Server

Signed-off-by: Johannes Marbach <[email protected]>
Signed-off-by: Johannes Marbach <[email protected]>
Signed-off-by: Johannes Marbach <[email protected]>
Signed-off-by: Johannes Marbach <[email protected]>
@@ -0,0 +1,96 @@
# MSC4401: Publishing client capabilities via profiles
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like the concept of client capabilities and wish we had it for MSC4428 / MSC4430 so clients could advertise "I support room versions 1-12" such that servers could filter out unsupported rooms in /sync.

I'm not convinced using profiles is the right place for this data though. I see your use case with needing other clients to have visibility on the capabilities, but profiles are per-user data structures (so you've got book-keeping in this MSC to namespace by device ID, which feels inelegant).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, proper per-device profiles would be better, agreed. It's the same problem with device-specific features that build on account data such as #3890.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants