matrix-org / matrix-org/matrix-spec
Improve ignoring users
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
matrix-org/matrix-spec-proposals#1142 / https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit is a good start but with the current spec it isn't possible for a user to know that they have received a message from an ignored user or choose to temporarily view an ignored message without unignoring the user. In the current spec, once a user has been ignored their messages are no longer passed to the client.
See https://github.com/vector-im/riot-web/issues/6819 or https://github.com/vector-im/riot-web/issues/7521 for feature requests
I was going to try to write up a proposal but I couldn't really decide what was the best way to go about this so I'm just opening this issue for now to see what others think.
One solution would be to use the extra object that was added for future enhancement to do something like
{
"ignored_users": {
"@someone:domain.com": {
"hard_ignore": true
}
},
"type": "m.ignored_user_list"
}
but this wouldn't be backwards compatible. It would be up to the client to filter out the ignored messages and determine whether they should be completely hidden (hard ignored) or "muffled" (soft ignored) and optionally viewable. I also don't know what the best word is to describe the different types of ignore so feel free to let me know if you have a better idea.
Another solution would be to add something like a m.muffled_user_list in addition to the existing m.ignored_user_list. The server would continue to do the existing behavior of not sending events from users on the m.ignored_user_list but would send events to the client for users on the m.muffled_user_list. It would be up to the client to stop displaying those events while optionally allowing the user to view them if they wanted to.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the current Matrix client-server specification section on ignoring users, then read proposal 1142 and the linked Riot feature requests. The issue presents multiple incompatible approaches without a decision, so done would require an agreed protocol design and a concrete proposal before implementation can be scoped.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100