Skip to content

Advertise the XMPP network in the room directory (thirdparty protocols) - #381

Open
ara4n wants to merge 3 commits into
developfrom
matthew/thirdparty-room-directory
Open

Advertise the XMPP network in the room directory (thirdparty protocols)#381
ara4n wants to merge 3 commits into
developfrom
matthew/thirdparty-room-directory

Conversation

@ara4n

@ara4n ara4n commented Jul 23, 2026

Copy link
Copy Markdown
Member

Implements the three pieces needed for bridged rooms to appear under an XMPP network in clients' room directories: protocols: ["xmpp"] in the generated registration, a thirdPartyLookup controller so the AS /thirdparty/* endpoints are mounted (and /_matrix/client/v3/thirdparty/protocols lists the bridge), and publishing portal rooms to the appservice room list on creation (plus a backfill on the existing-portal alias-query path).

this PR was generated by Fable but reviewed by hand

Three pieces that let clients browse this bridge's rooms via the network
dropdown in a room directory (Show: XMPP in Element):
- the generated registration now includes protocols: [xmpp], so the
  homeserver associates the appservice with the network
- serve the third-party lookup (thirdPartyLookup controller): synapse
  queries GET /_matrix/app/v1/thirdparty/protocol/xmpp to populate
  /_matrix/client/v3/thirdparty/protocols with the XMPP instance
- publish portal rooms to the appservice room list
  (PUT /directory/list/appservice/xmpp/{roomId}), which is what a
  publicRooms query filtered by third_party_instance_id returns; portals
  predating this change are republished the next time their alias is
  queried (the existing-portal path publishes too, idempotently)
@ara4n
ara4n requested a review from a team as a code owner July 23, 2026 09:45
@Neustradamus

Copy link
Copy Markdown

@ara4n: Happy to see your PR, thanks for your work!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants