Give your Matrix account a Discord UI with Commet

https://commet.chat/

@commetchat@fosstodon.org

616 points · 100 comments · view on lemmy.world

100 Comments

spez@sh.itjust.works · 137 pts · 217d (18 replies)

God please let matrix figure out text channels and better calling 🙏

timestatic@feddit.org · 53 pts · 217d (14 replies)

But.... They already have text channels pretty much figured out and are on better calling rn with Element Call

XLE@piefed.social · 64 pts · 217d (9 replies)

The messaging experience between Discord and Element is night and day. On Discord, I open the app, go to a server, and can see all the rooms and all the messages almost instantly.

On Element (at least on Android), chats from different communities intermingle with my groups. I tapped on a large and slow-moving group, and watched messages slowly lurch into view as most of the messages were "join" and "leave" ones.


ETA: I tried Commet, and I'm happy to say that while it still has the loading issue and several problems typical to new apps, it does separate private group chats from ones linked to spaces!

WhyJiffie@sh.itjust.works · 12 pts · 216d (8 replies)

On Discord, I open the app, go to a server, and can see all the rooms and all the messages almost instantly.

On Element (at least on Android), chats from different communities intermingle with my groups.

are you using the spaces feature in element? that's the same thing as discord "servers". they are on the left, unless you have none yet. the default setting in element is a bit silly, you should turn off showing rooms from all spaces when a space is not opened, it'll be much better.

on phone the space list is at the bottom.

I tapped on a large and slow-moving group, and watched messages slowly lurch into view as most of the messages were "join" and "leave" ones.

which app are you using? element X, or the old, plain element? the old app is slow, the new one should work much better in that regard.

you can also disable showing name change and membership change events if you don't care, but membership is good to be aware of and shouldn't be a problem with element x

MangoPenguin@lemmy.blahaj.zone · 14 pts · 216d

I think this is a good example of how Matrix does support most of the things we expect from Discord, but the defaults are sometimes wrong (showing rooms from spaces if not in a space), and the sheer number of client apps that are all slightly different and outdated in various ways adds a ton of friction to using it.

XLE@piefed.social · 4 pts · 216d (6 replies)

are you using the spaces feature in element? that's the same thing as discord "servers". they are on the left, unless you have none yet.

I wrote my comment when testing with Element X. You only get one room list, and it commingles chats from spaces with chats you made yourself.

You have to go to a separate screen to see the spaces themselves. On this screen, I clicked on a group I was in, and it took six seconds to tell me there were four available chats.

You can also disable showing name change and membership change events if you don't care, but membership is good to be aware of and shouldn't be a problem with element x

Even if you disable viewing the events, they're still loaded in the background. I like to disable them, but then you see a lot more nothing and you may not be sure why the screen is empty for a longer while.

Joining a space requires you to manually join every single room in that space, which is bound to cause even more events in low traffic rooms...

Basically, Matrix isn't fast, it doesn't look like it's gonna get fast anytime soon, and it is definitely not a Discord replacement.

WhyJiffie@sh.itjust.works · 2 pts · 216d (5 replies)

can I ask which homeserver are you using?

XLE@piefed.social · 3 pts · 216d (4 replies)

The de facto default/official one, although I have tried others in the distant past.

WhyJiffie@sh.itjust.works · 2 pts · 216d

I was asking to find out if the slowness could be because your server does not support sliding sync for some reason (the newer faster sync method that doesn't try to load everything), but matrix.org does. I don't use that server anymore because they are way too overloaded for years, but maybe that's the issue here too.

UnfortunateShort@lemmy.world · 25 pts · 217d (2 replies)

The last couple updates made it better, but I wouldn't exactly call Element a smooth experience. For example it recently began to try and access a keyring that doesn't exist, ignoring the one that I already have readily available, and that works for everything else.

This is the latest in a long series of frustrating experiences with Matrix in general. To this day, Element isn't stable, and Element X is somehow worse. It is, imo, a very promising option, but it is also far from perfect.

timestatic@feddit.org · 7 pts · 217d

Yeah no in no world would I call it perfect. The web version had problems of decrypting encryption keys without a phone also connected and syncing for me. I used to have an account with Element directly for a subscription so that I could have certain bridges. Since they discontinued this and botchered the transition they shut down that homeserver. I wasn't paying for a while but I expected to still be able to use the normal account matrix features on their homeserver. They just shut it down and mentioned it a few months previously in their blog posts but I didn't ever receive a mail or anything. Their data export/transfer tool stopped working with their home server shut down. I would argue actually for smaller instances because I don't trust the Matrix.org team as they split of from Elements but small servers also have a risk because they often depends on individual admins

sem@piefed.blahaj.zone · 1 pts · 215d

The keychain thing happened to me too. I assumed it was my fault.

Zeoic@lemmy.world · 11 pts · 217d

Yeah I just set up a synapse + livekit server last night. Voice, video, and screen share rooms work flawlessly

Billygoat@piefed.social · 14 pts · 217d (2 replies)

Isn’t that its purpose?

vermaterc@lemmy.ml · 11 pts · 217d (1 reply)

Yeah, that's the idea, but they are still not there

timestatic@feddit.org · 1 pts · 217d

But they are?

scytale@piefed.zip · 104 pts · 217d

The one silver lining of commercial apps shitting the bed (or shitting on their users) is that it helps accelerate development of FOSS/decentralized/federated alternatives because of the sudden interest.

unexposedhazard@discuss.tchncs.de · 58 pts · 216d (6 replies)

I was immediately gonna comment "but does it support element-call" and to my surprise:

Supporting both, 1:1 calls over WebRTC, and voice channels with MatrixRTC + LiveKit

So to my knowledge this is the first client thats not an element fork that supports the new call system 🎉

Looks like it was added only a week ago, so maybe there will be some bugs, but still im very happy to finally see this in an independent client.

Blisterexe@lemmy.zip · 8 pts · 216d (5 replies)

afaik both fluffychat and cinny support it, but they don't advertise it well.

unexposedhazard@discuss.tchncs.de · 10 pts · 216d (4 replies)

FluffyChat from my testing just now only supports the legacy 1:1 p2p calls not the new element-call system (here called MatrixRTC + LiveKit) that supports large group calls and performs much better. I dont think cinny supports it either if i look at their changelogs from the last year.

MatrixRTC + LiveKit

Blisterexe@lemmy.zip · 6 pts · 216d (3 replies)

That's emberrassing, I misread people talking in an issue about an open pr (https://github.com/cinnyapp/cinny/pull/2599) with them talking about an existing feature. That pr does seem reasonably close to landing though.

unexposedhazard@discuss.tchncs.de · 7 pts · 216d (2 replies)

Ooh nice to see, thanks for the link. Once all the major matrix clients support livekit, matrix will be much more recommendable imo. Element works okay on a modern computer, but it really is insanely bloated when you look at what other clients achieve with less than 1/10th of the application size.

Blisterexe@lemmy.zip · 5 pts · 216d (1 reply)

Agree, not a big fan of element's interface either. Imo the point where matrix will be widely recommendable is when matrix 2.0 is done and widely adopted. Stuff like sliding sync is really important too

unexposedhazard@discuss.tchncs.de · 3 pts · 216d

To me a major issue (besides the client feature parity) right now is history sharing in encrypted rooms being non functional. At the moment when you invite someone new to an encrypted room, they wont be able to read the historic messages in it, even if you specifically toggled that on, because the toggle currently doesnt do anything after the old insecure implementation was removed. They are working on it and its probably not super far away, but currently you basically have to use unencrypted rooms if you want new people to be able to see old messages.

https://github.com/element-hq/element-meta/issues/2829

pennomi@lemmy.world · 54 pts · 217d (7 replies)
[ removed ]
warm@kbin.earth · 0 pts · 217d (6 replies)
[ removed ]
pennomi@lemmy.world · 23 pts · 217d (1 reply)
[ removed ]
Evotech@lemmy.world · 6 pts · 216d

UX is so important though

Goodlucksil@lemmy.dbzer0.com · 4 pts · 217d (3 replies)

Yes it is, at least for real-time chat. I don't know if Matrix has voice chat.

TheFogan@programming.dev · 11 pts · 217d

you can use voice and video rooms to my understanding of it, and yeah it can do calls. I haven't really tested it much as my matrix server is just me and my wife, and neither of us are often out of eachothers sites very long.

artyom@piefed.social · 4 pts · 217d (1 reply)

Voice/video usually supported by a TURN server. If you check out the link in the OP you can see this app supports it.

Anafabula@discuss.tchncs.de · 5 pts · 216d

That's the old way to support calls. The new way is MatrixRTC/Livekit. Not all clients support it yet, but the website says commet supports that too.

ZombieCyborgFromOuterSpace@piefed.ca · 34 pts · 216d (11 replies)

Maybe that would help because I have a really hard time understanding how matrix works. 

unexposedhazard@discuss.tchncs.de · 17 pts · 216d (6 replies)

Ive been using it for many years now and i understand it can be confusing at times. Do you have any specific questions that i might be able to answer? I have onboarded dozens of people at this point and somehow we always figured it out.

ZombieCyborgFromOuterSpace@piefed.ca · 7 pts · 216d

I appreciate your help. I might reach out to you soon.

Maybe I should also look up some YouTube videos about it. That always helps as well. 

ZombieCyborgFromOuterSpace@piefed.ca · 2 pts · 216d (4 replies)

So I guess my problem is that I'm used to Discord's paradigm. You have servers and in the servers you have chat rooms, video conference rooms, and DMs. it pretty much reflects what's on IRC.

When it comes to Matrix, I have trouble making the parallel. Maybe because of the terminology?

I was wondering if you could help me out in that regard. Knowing that I'm familiar with IRC and Discord, can you explain to me the different terminology in Matrix and how it works?

FYI: Commet really is easier to navigate than Element.

unexposedhazard@discuss.tchncs.de · 13 pts · 216d (1 reply)

Ok so terminology wise:

  • Discord Server = Matrix Space
  • Discord DM = Matrix Chat (these usually exist separately from Spaces/Servers)
  • Discord chat room = Matrix Room
  • Discord video/voice channels = Matrix Video Room (these still have an optional text chat FYI)

If you just want to create something resembling a discord server, you first create a Space.
You can decide if it should be public or private (public = anyone with the address can join / private = invite only)

Then you add rooms to it, normal rooms for text channels and video rooms for voice/video channels. During the creation of each of these rooms (or after) you decide if they should be visible to all space members, or be invite only (think mod channels).

Afterwards just invite people to the Space and they will be able to join the rooms you set up.

There are 3 predefined permission levels: Default, Moderator, Admin but you can also define numeric power levels for more fine grained control over what people can do. You can set permissions for users on the Space level and on the room level separately. So you can give someone mod powers for the entire Space or only for a single room. You can also set the default power level very low (think Guest/Applicant) so that people can only join the space itself and nothing else (or only a guest room) until an admin or mod changes their power level to something higher (think member) that allows them to join other rooms.


::: spoiler Some more details: All of the different types of rooms can exist completely separate from Servers/Spaces or be part of them. The only purpose of Spaces is to create a sort of umbrella that these can all be grouped under. New people can then join the Space and automatically get access to all the rooms that the Space/Server admin wants them to have access to.

So in practice you will have a bunch of personal DMs or group chats that exist on their own, basically like any other instant messenger like Signal or WhatsApp. And then if you have a larger community that requires some more structure you can create a Space, to which you then add whatever rooms you need.

There is a lot of flexibility to this however. Unlike with discord, all rooms exist completely on their own, they arent actually fundamentally tied to a space. So you can detach a room from a space and attach it to another. You can also add preexisting rooms to a new Space. So if you have a group chat with your gaming buddies, but at some point decide you want to expand your group and want to create a Space with multiple rooms, you can just add your original group chat to the newly created space.

So in a way you should think of Spaces not in the same way as Discord servers, but just as an arbitrary grouping of chats and voice channels that also allows you to set access restrictions for all of those chats in a single place.

Sometimes things get confusing. This is the permissions settings page of Space i just created. So why does it say

Give one or multiple users in this room more privileges

Thats because Spaces are actually rooms too, just fancy ones that can have sub rooms. This is bad UI design and should say "space" instead of "room" but thats just where matrix is at right now. Clients like commet will be what solves this for people by giving them a UI with a more familiar terminology.

:::

ZombieCyborgFromOuterSpace@piefed.ca · 5 pts · 216d

Omg! THANK YOU! 

This really clears it up! I'm saving this. 

I hope people share this post if anyone else is confused. 

Big thanks again!

Alaknar@sopuli.xyz · 2 pts · 216d (1 reply)

When it comes to Matrix, I have trouble making the parallel. Maybe because of the terminology?

It's almost identical on Matrix, although many clients make it hard to distinguish things. For example, Fluffy Chat (and the "official" Element too, I think?) show both Servers AND their Rooms on your "all chats list", making finding things confusing.

Check out Commet, it structures things exactly like Discord, so you'll clearly see what's a server, what's a room on that server, etc.

ZombieCyborgFromOuterSpace@piefed.ca · 2 pts · 216d

Yeah i just installed it and it makes more sense

Evotech@lemmy.world · 10 pts · 216d

Like lemmy more or less

WhyJiffie@sh.itjust.works · -7 pts · 216d

honest question, what is there to understand? it sounds you already got through registration so you are through the hardest part which is choosing a provider.

drmoose@lemmy.world · -11 pts · 216d (1 reply)

What is there to understand? It's just a decentralized protocol - in fact, you don't need to understand to use it. Just connect to chat server like you'd connect to one in discord.

ZombieCyborgFromOuterSpace@piefed.ca · 5 pts · 216d

Gee, thanks. That's so helpful. 🙄

Bababasti@feddit.org · 20 pts · 217d (4 replies)

Looks good, I fiddled around with it for a bit. For now, I prefer FluffyChat. I‘m actually wondering how little it is mentioned in the recent pop up of discord alternatives / matrix clients given how polished and easy to use it is.

northernlights@lemmy.today · 9 pts · 216d (1 reply)

Good on mobile but on desktop the UI is way too big i find

operationalHazard@lemmy.zip · 2 pts · 216d

It is insane how big it is, there's a slider for text size but that only affects the text inside of chats. The difference in the UI between Fluffy and Element on desktop means I'll probably end up with Fluffy on mobile and Element on Desktop

Fitik@fedia.io · -1 pts · 216d

Seconding, also prefer FluffyChat, I just don't really like discord UI, but it's always good to have more options

artyom@piefed.social · -3 pts · 216d

You're just never going to convince me to use an app called "FluffyChat". Same for "Contunuwuity" or other baby-speak "cute" names. Sorry.

melroy@kbin.melroy.org · 15 pts · 217d

Looks good actually.. I think I will keep using Element for now.. but for new people joining matrix coming from Discord, I would definitely recommend trying out Commet.

aproposnix@scribe.disroot.org · 14 pts · 217d (3 replies)
[ removed ]
inari@piefed.zip · 9 pts · 217d (1 reply)

Seems to currently be worked on https://github.com/commetchat/commet/issues/115

artyom@piefed.social · 5 pts · 216d

That issue is >2 years old and the maintainer hasn't commented on it at all.

artyom@piefed.social · 5 pts · 217d

You can install from GitHub via Obtainium. I prefer to just use the PWA.

wavebeam@lemmy.world · 13 pts · 215d (2 replies)
[ removed ]
artyom@piefed.social · 6 pts · 215d

It's certainly part of it, for many people. Try to sell your friends on using that old IRC client and tell me they don't take one look at it and turn their nose up at you.

whelk@retrolemmy.com · 4 pts · 215d

Glad people who like the UI can get it in Matrix too but personally yeah, the Discord UI has never been one I've liked. Way to insist on being fullscreen at all times

THE_GR8_MIKE@lemmy.world · 10 pts · 217d

Saving this post for later when the inevitable happens.

Alaknar@sopuli.xyz · 9 pts · 216d (2 replies)

It's cool that it "supports threads", but - as so many other clients - it forgets to actually expose threads! As in: once the initial comment starting a thread slides up in the chat, the only way to access the thread is to scroll all the way up there again.

Fake edit: OK, Commet shows all threads if you type "thread" in search. Still, having a button to do just that would be infinitely better.

Also: no support for polls? :(

Holytimes@sh.itjust.works · 4 pts · 215d (1 reply)

The age old matrix problem, every client is uniquely shitty and poorly put together.

I swear the day a feature rich and actually competent matrix client is released is the same day gnome devs will stop having stupid takes and Wayland devs will stop arguing.

Alaknar@sopuli.xyz · 5 pts · 215d

And KDE devs will stop assuming they know better than their users...

What kills me is that even the "official" clients (Element, and Element X) are not full-featured. What kills me even more is that Element X (the official "new" app and the "replacement" for Element) supports some additional features over Element, but not all - as in, some things are not possible in it, but are possible in Element.

It's like it's run by an insane asylum...

UltraGiGaGigantic@lemmy.ml · 8 pts · 216d

Thank you so much! Always down to try a new matrix client. So much potential.

Xylian@lemmy.world · 8 pts · 215d (1 reply)

But no friends list :(

whelk@retrolemmy.com · 6 pts · 215d

Return to Pidgin

gnuplusmatt@reddthat.com · 7 pts · 216d (2 replies)

Is there a reason for not being centrally distributed like on flathub and fdroid?

artyom@piefed.social · 5 pts · 216d

No idea.

Magnum@infosec.pub · 5 pts · 216d

Someone has to maintain that.

9tr6gyp3@lemmy.world · 7 pts · 217d (10 replies)

No macOS or iOS support, but looks clean.

artyom@piefed.social · 6 pts · 217d (9 replies)

Just install as PWA.

9tr6gyp3@lemmy.world · 10 pts · 217d (4 replies)

You're a freaking genius, you know that?

Ill do that and give it a whirl. Thanks for the PWA tip, i had completely forgotten about that.

mauvehed@feddit.online · 8 pts · 217d (3 replies)

PWA? Fill a noob in.

Hominine@lemmy.world · 13 pts · 217d

progressive web app. Some browsers will let you install a page as a standalone app running minimal version of the browser, this can be a snappy alternative to installing a package.

moonshadow@slrpnk.net · 9 pts · 217d (1 reply)

Progressive Web App

Put website in app-shaped bucket, use like app on phone. No app stores, special permissions, etc required

zerosouls@piefed.world · 2 pts · 216d

I believe it also drops the extensions from being used as well.

IEatDaFeesh@lemmy.world · 1 pts · 216d (2 replies)
[ removed ]
artyom@piefed.social · 2 pts · 216d (1 reply)

God bless you

IEatDaFeesh@lemmy.world · 2 pts · 216d
[ removed ]
melroy@kbin.melroy.org · 0 pts · 217d

PWA + Apple products that is not possible anymore..

eodur@piefed.social · 5 pts · 217d

Ugh. Another one that doesn't support OIDC.

Zeoic@lemmy.world · 5 pts · 217d

The ui still kind of feels unpolished in commet. I tried it out two days ago, but ended up going with element instead. Just felt better to use

Pamasich@kbin.earth · 4 pts · 216d (2 replies)

Is there a reason the room icons have to be humongous, at least in the web version on PC?

Other than that, looks great.

Minizarbi@jlai.lu · 6 pts · 216d (1 reply)

It's spelled Among Us, not humongous.

sakuraba@lemmy.ml · 3 pts · 216d

its spell amogus

epicshepich@programming.dev · 4 pts · 216d

My best friend used to go by @comet on Discord. He's the one who made my friend group's server, and he's essentially the only reason I ever got it in the first place (now, he's one of the first to join my Matrix instance). The fact that this project is named Commet is NOT good for my "main character syndrome"!

HyperfocusSurfer@lemmy.dbzer0.com · 3 pts · 216d

Thanks, that actually looks like a nice android alternative to cinny

mp3@lemmy.ca · 3 pts · 217d

Interesting, I'll have to check how it compares to Cinny.

Samsy@lemmy.ml · 3 pts · 215d

This looks promising. For my self host/privacy friends, this one simply has unifiedpush support (simple-x still hasn't).

PS. This app isn't listed here: https://unifiedpush.org/users/apps/ Time to tell them.

Alfredolin@sopuli.xyz · 3 pts · 216d (3 replies)

Maybe I am just stupid but I can't verify my commet session.

artyom@piefed.social · 16 pts · 216d (2 replies)

Welcome to Matrix

Alfredolin@sopuli.xyz · 5 pts · 216d (1 reply)

I have tried Element, element x, element web, fluffychat, neochat, polycule, cinny... and could always verify my sessions. Yet I can't in commet. So it's not a matrix issue.

guynamedzero@piefed.zeromedia.vip · 1 pts · 215d

I think you have to start the verification from inside commet, go to the sessions of commet and try to verify another session

bitwolf@sh.itjust.works · 1 pts · 217d (1 reply)

Flutter? No thanks

thehamzan6@lemmy.world · 6 pts · 216d

What's wrong with flutter?

one_knight_scripting@lemmy.world · 1 pts · 214d

Saved for later, will probably try once it publishes to flathub.

Shayeta@feddit.org · -9 pts · 216d (9 replies)

If the Matrix protocol actually implemented E2E encryption properly I would love to use something like this.

Mio@feddit.nu · 8 pts · 216d (8 replies)

Please explain. They don't have that?

AnyOldName3@lemmy.world · 13 pts · 216d (1 reply)

If it's the problem that I've seen people complain about in the past, it's effectively the same as HTTPS 'not supporting' end to end encryption because it runs over IP and IP packets contain the IP address of where they need to go, so someone can see that two IP addresses are communicating, which is unavoidable as otherwise there's nothing to say where the data needs to go, so no way for it to get there. Someone did a blog post a couple of years ago claiming Matrix was unsecure as encrypted messages had their destination homeserver in plaintext, but that doesn't carry any information that isn't implied by the fact that the message is being sent to that homeserver's IP.

Randelung@lemmy.world · 6 pts · 216d

But what if the name of my home server is my private key? Mah jong, alchemists!

Shayeta@feddit.org · 4 pts · 216d (5 replies)

Message metadata - such as sender, recipient, device ID, and timestamps - is not encrypted at the transport layer, and in many cases remains visible to the homeserver

https://wire.com/en/blog/matrix-not-safe-eu-data-privacy

Ontimp@feddit.org · 8 pts · 216d (4 replies)

Wire wrote that article in summer last year to prevent the German IT-Planning Council from adopting Matrix as the communications layer for its consolidated interfederal government-to-citizen messaging infrastructure in the public administration.

So be aware that, to my knowledge, this article is not a good-faith tech blog post but part of public affairs campaign / lobbying attempt.

Would be neat to have meta data encrypted in Matrix, but it's not a deal breaker for most use cases imo.

Shayeta@feddit.org · 0 pts · 216d (3 replies)

Agreed, but metadata not being encrypted remains a fact. Sure, metadata of a single message might not mean much, but when combined with metadata of many messages from many users you can find out a lot about a person and their habits. Especially when cross-referencing with other data sources (social media of other users, phone location, etc.).

https://youtube.com/watch?v=tL8_caB35Pg

Ontimp@feddit.org · 2 pts · 216d (2 replies)

Absolutely, it's definitely one of the major areas work on the Matrix standard is needed.

There is an MSC (= a spec change proposal) from September 2025 where the folks at Element proposed a solution for how to do this going forward: https://github.com/matrix-org/matrix-spec-proposals/pull/3414?ref=element.io

This blog article explains it more clearly: https://element.io/blog/hiding-room-metadata-from-servers/

Shayeta@feddit.org · 1 pts · 215d (1 reply)

Thank you very much for these links. I really like the ideas Matrix + Element, and I think they have the best shot of making something very usable. Hopefully this gets implemented one day and I can actually make the switch!

Edit: While clicking around I came across this: https://github.com/matrix-org/matrix-rust-sdk/issues/5397#issuecomment-3714128184

Does this mean it should be already implemented or am I reading it wrong?

ubergeek77@lemmy.ubergeek77.chat · 3 pts · 215d

Looks like it's behind an experimental flag, only applies to new rooms, and isn't available on the public app.element.io instance right now (the Labs screenshot they showed doesn't show the option on element.io+matrix.org when I checked just now):

https://github.com/element-hq/element-web/pull/31513

For it to work, looks like it needs another in-progress feature to allow new members to decrypt previous messages (Matrix can't do that yet????):

https://github.com/matrix-org/matrix-spec-proposals/pull/4268

(That one isn't even in the spec yet, it'll take a lonnnnnng time before we see any real movement on it, possibly a year or two. A year or two before you can see encrypted messages from before you joined a room. Insanity.)

A contributor calls this encrypted metadata feature a "partial prototype:"

https://github.com/element-hq/element-meta/issues/1214#issuecomment-3714132569

And that issue was opened in 2017. Pretty crazy they've been discussing this for nearly 10 years and it's just now "a partial prototype," but that's Matrix for you.