Skip to content

MSC4485: Homeserver feature controls#4485

Open
JadedBlueEyes wants to merge 2 commits into
matrix-org:mainfrom
JadedBlueEyes:jade/featured
Open

MSC4485: Homeserver feature controls#4485
JadedBlueEyes wants to merge 2 commits into
matrix-org:mainfrom
JadedBlueEyes:jade/featured

Conversation

@JadedBlueEyes

Copy link
Copy Markdown

@turt2live turt2live left a comment

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.

Early editorial review as part of determining labels - the actual content hasn't been reviewed in reasonable detail.

Comment thread proposals/4485-featured-endpoint.md Outdated
@@ -0,0 +1,71 @@
# MSC4485: Homeserver feature controls

Currently 'featured homeserver lists' are gaining more attention as community members think about user onboarding. These would direct new users to homeservers curated to provide a good experience. However, many homeservers don't have the ability to accommodate any rate of growth, or a global audience. This proposal provides a way to give server admins more responsive control over their visibility on such lists.

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.

Please aim to wrap lines at around 100 characters. It doesn't need to be precise - just enough to ensure that if someone leaves a comment and the diff changes, the comment has a good chance of remaining visible in the github UI.

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:

  • Server (offering)
  • Application (using) - ideally multiple

@turt2live turt2live added proposal A matrix spec change proposal. Process state. A-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 Jun 2, 2026
@CrazyNicc

This comment was marked as low quality.

CrazyNicc

This comment was marked as low quality.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Should 30x redirects be possible on this endpoint? (3rd time commenting this because I wanted this to be a thread)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

It should be handled in the same way as the other client-server well known endpoints. The spec doesn't specify, but the server-server one must follow redirects

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Side note: looks like it's about to get spec'd #4402

Comment thread proposals/4485-featured-endpoint.md
Comment on lines +71 to +74
Because the algorithm includes randomness, reevaluating the algorithm on
each page load may result in a poor user experience as servers disappear
and reappear. Implementations should seed their random number generation
appropriately to ensure the list remains reasonably stable.

@Johennes Johennes Jun 8, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does seeding appropriately mean using a constant seed?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

It probably means persisting the seed in the session, or similar.

Comment on lines +104 to +106
For this reason, and to reduce load on servers, it is heavily recommended that
implementations proxy these rules, potentially bundling them with the server
list itself.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Does this mean bundling the server list and well-known responses in the client? Or do you mean creating a separate service that hosts them for the client to load?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

A client might have a server list service that returns a response containing a list of vetted servers with each server's respective rules. A stand-alone implementation might build it into the webpage itself.

This explicitly does not mean bundling the responses at compile time (hence proxy), because otherwise servers would no longer be able to update rules on the fly, in response to load or other conditions.

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

Labels

A-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. Process state.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants