-
Notifications
You must be signed in to change notification settings - Fork 386
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSC4216: Set Maximum Allowed Tags #4216
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please sign off on your changes for eventual FCP consideration.
It also appears as though your proposal has gone missing? I've put it back to draft while it's a work in progress.
Signed-off-by: Lama Alosaimi <[email protected]>
BTW, I have the implementation of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for submitting this MSC! For the proposal to continue towards acceptance, it will need a more formal description of the error codes and such a client can expect, and an implementation (likely both server and client) to demonstrate the solution works in practice.
Error code MSCs are typically fairly easy to write, with implementation on the client side often just being evidence that clients don't explode when they hit the error. If they do explode, it's more a sign that the client needs improved error handling generally, rather than a blocker for the proposal's acceptance - we just require evidence that shipping the feature in the spec isn't likely to cause widespread complaint.
If you need some help writing the MSC language, feel free to visit #matrix-spec:matrix.org on Matrix for advice from the community.
@@ -0,0 +1,19 @@ | |||
## MSC4216 Proposal | |||
|
|||
Admins should have the ability to limit tag usage, like restricting `u.pin` to **3** rooms, while tags like `u.archive` will remain unrestricted if **not defined**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally, I see this purely as an implementation detail, not something that should be specified, but there might be value in clarifying semantics for things like M_LIMIT_EXCEEDED in certain contexts (eg. tags in this context).
Additionally: How would migrations canonically work? What happens if the admin lowers the limit to below the count users already have? Are tags even relevant in 2024, with most clients not even supporting custom tags to begin with? Is there a good benefit to limiting usage count of tags across clients?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi
So the reason i was proposing this feature is because to priority tags and lazy loading their content/messages instead of loading the whole rooms with no tags defined. So for example if a user pinned 3 rooms, these 3 rooms will be asked for their content before the rest of the rooms and this will happen on the client side.
You make a good point about what would happen if the admin lower the amount of a tag, I actually didn’t think it through (I apologies).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not quite sure I see how this would be beneficial? You could just ask the server for all rooms, or add a new joined room on every subsequent request on sync.
Alternatively, you could do the same but request all DMs first? I'm not sure I see a tangible benefit here besides attempting to make initial sync faster, in which case... You could store a sorted list of rooms by member count in account data and handle future logins this way by referencing account data.
I'm not discrediting the idea here, just wondering what the train of thought is versus using heuristics transparently without requiring user involvement.
Enable matrix servers the choice to set a threshold on tags applied by a user, so the user can apply certain tags only to predefined maximum amount.