Skip to content

MSC4449: Updated /members filtering#4449

Open
timedoutuk wants to merge 2 commits into
matrix-org:mainfrom
timedoutuk:nexy7574/members-filtering
Open

MSC4449: Updated /members filtering#4449
timedoutuk wants to merge 2 commits into
matrix-org:mainfrom
timedoutuk:nexy7574/members-filtering

Conversation

@timedoutuk
Copy link
Copy Markdown
Contributor

@timedoutuk timedoutuk commented Apr 11, 2026

Signed-off-by: timedout <git@nexy7574.co.uk>
@timedoutuk timedoutuk force-pushed the nexy7574/members-filtering branch from 7a9f7e4 to 0b8f025 Compare April 11, 2026 19:38
@turt2live turt2live added proposal A matrix spec change proposal client-server Client-Server API kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Apr 12, 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 (using)
  • Server (offering)

Comment on lines +22 to +23
As part of this change, they are also made *mutually exclusive*. Specifying both `membership` and
`not_membership` in the same query is explicitly forbidden, and will return `400 / M_INVALID_PARAM`.
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.

Is not_membership even needed anymore?

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.

I think it's a nice shortcut to be able to specify you want all but a certain membership (for example, not ban + leave gives you everyone who is invited, knocking, or joined), otherwise you have to manually specify every membership you do want. I'd also be fine with just dropping it, I just didn't think it was important.

Comment on lines +27 to +30
This change re-uses existing parameter names and may confuse older servers if newer clients try to
request data with the updated filter behaviour. In order to attempt to reduce this collision,
clients should check for the unstable feature or relevant spec version (if merged) in `/versions`
before using the updated behaviour.
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.

Is this a reason to rev the endpoint version?

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.

Probably, especially if not_membership gets removed, but I wanted to get some feedback before deciding that.

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:maintenance MSC which clarifies/updates existing spec 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.

3 participants