Skip to content
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

Discord migration/compatibility #24

Open
11 tasks
gabrc52 opened this issue Jan 9, 2023 · 2 comments
Open
11 tasks

Discord migration/compatibility #24

gabrc52 opened this issue Jan 9, 2023 · 2 comments
Labels
enhancement New feature or request matrix-ecosystem Improvements to Matrix as a whole, not MIT or Uplink-specific P4 priority 4 UX to provide a good user experience

Comments

@gabrc52
Copy link
Contributor

gabrc52 commented Jan 9, 2023

Discord is used a lot at MIT, and if people are to use Matrix instead of Discord for the same use cases, we'd need Discord stuff on Matrix. This is one of the hardest issues, but would be useful for the overall Matrix community, because it would require extending the Matrix spec itself (make an MSC) and/or Matrix clients themselves.

  • Figure out how permissions work and make a guide on how it translates in Discord terms
  • Role system, not necessarily for permissions
  • Define a new type of room or space that's similar to a Discord server
  • Ordered channels (the channels have a specific ordering)
  • Channel categories (server admins/mods put channels into categories to make them easier to find, for classification, etc)
  • Port relevant Discord bots or find replacements (i.e. anonymous confessions, HaikuBot, general utility bots)
  • -> Free Food mail script/webhook
  • -> Anon confessions
  • Write a good guide on Matrix vs Discord -- there's already some resources but one is trying to convert you without really understanding what makes Discord Discord (example: https://joinmatrix.org/guide/matrix-vs-discord/)
  • Support ||spoilers|| and strikethrough. This is already supported in Matrix itself, but is hard to do on Element. It works perfectly on Cinny which is one of the reasons I'm considering serving Cinny instead of Element, apart from the overall neatness of the app. This could also be done server-side for non-encrypted channels.
  • Fix Element issues with spoilers (on web/desktop, spoilered stuff shows up on notifications: Content inside spoiler blocks should be excluded from notifications element-hq/element-web#12034 Message previews spoil spoilers element-hq/element-web#14447. Android used to have that issue but someone fixed it: Make notifications spoiler aware element-hq/element-android#4426)

Example of how permissions compare:

image

@gabrc52 gabrc52 added enhancement New feature or request P4 priority 4 matrix-ecosystem Improvements to Matrix as a whole, not MIT or Uplink-specific UX to provide a good user experience labels Jan 9, 2023
@gabrc52
Copy link
Contributor Author

gabrc52 commented Jan 9, 2023

Also bridges

@gabrc52
Copy link
Contributor Author

gabrc52 commented Jan 9, 2023

Write and submit a proposal: https://github.com/matrix-org/matrix-spec-proposals

Maybe even roles with custom events that could eventually be upstreamed. Matrix isn’t quite ready to be a Discord replacement because the paradigm of channels into categories with access control using certain roles isn’t as straightforward to implement — or maybe it’s a matter of making the equivalent of a role bot. As far as I’ve seen there’s only roles like admin, moderator, etc but not specific roles like on Discord. Plus Discord roles show up on your profile too.

image

Ohhh intresting, because spaces are room sthemselves and consist of rooms, they can nest!

So if you make a space and you make all the subspaces mandatory, they could act as categories. Maybe a new room type for Discord-like server could be created. This makes it easier to hack clients to do that.

if room.is_space and all(subroom.is_space and all(not r.is_space for r in subroom) for subroom in room.subrooms):
    # room can act as Discord-like server

Note that this is pseudocode lol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request matrix-ecosystem Improvements to Matrix as a whole, not MIT or Uplink-specific P4 priority 4 UX to provide a good user experience
Projects
None yet
Development

No branches or pull requests

1 participant