matrix-org / gomatrixserverlib

Go library for matrix federation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support MSC3787

DMRobertson opened this issue · comments

matrix-org/complement#367 for MSC3787 has landed on my plate. I also have no idea what I'm doing, but maybe I can work it out.

As Kegan details in matrix-org/complement#367 (review), someone needs to teach gomatrixserverlib about the new room version. But there isn't actually anyone pushing for this, so you'll have to make do with me.

The status today:

  • Room version 7 allowed a join_rule of knock. Any room with this join rule could be knocked upon.
  • Room version 9 allowed a join_rule of restricted. Any room with this join rule could be joined based on membership of a space.

This new room version introduces a new join_rule for a room called knock_restricted. Rooms with this join_rule:

  • allow knocking, as in room version 7, and
  • allow joining based on membership of a space, as in room version 9.

Implementation.

We need a new entry in the roomVersionMeta map.

The rest TBD.