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

Matrix community? #113

Closed
ghost opened this issue Aug 29, 2022 · 19 comments
Closed

Matrix community? #113

ghost opened this issue Aug 29, 2022 · 19 comments

Comments

@ghost
Copy link

ghost commented Aug 29, 2022

Now that Cemu is open-source (thank you!), I would like to humbly suggest to use Matrix.org as an open-source alternative to Discord, it has much more features than IRC, however, thanks to bridging, we don't have to lock ourselves on one platform, we can have an IRC, Matrix and Discord all bridged together, and let users join their preferred platform while being able to contact users on other platforms (like Discord).

@Tatsh
Copy link

Tatsh commented Aug 30, 2022

Why not just IRC on freenode?

@ghost
Copy link
Author

ghost commented Aug 31, 2022

@Tatsh Because, Element (with the Matrix protocol) has tons of features that IRC doesn't have, like modern clients, open federation, presence, and so on. The Element client is basically discord, but open-source. (And as I stated earlier, it's possible to bridge both matrix and discord, whereas bridging on IRC is very limited), however, this is just a suggestion, the team can use whatever system they prefer, I'm just stating my arguments about why I believe that Matrix is the superior choice. (You can try it yourself on https://element.io)

@Tatsh
Copy link

Tatsh commented Aug 31, 2022

I am not really opposed but personally I get annoyed at having so many chat clients open. It used to be every project was on Freenode, or now, Liberachat.

@n0toose
Copy link
Contributor

n0toose commented Sep 1, 2022

You can host a channel on Libera/OFTC and then access it with Matrix clients, while utilizing the full set of Matrix's features and also allowing for more space in case some other communication protocol pops up in like 5 years or so. I did that with e.g. https://matrix.to/#/#haiku:matrix.org and some people struggled to tell that the "main" channel (and other similar channels) was actually an IRC channel.

@n0toose
Copy link
Contributor

n0toose commented Sep 1, 2022

The problem about bridging to Discord is that there are also sets of people (that are more developer-oriented rather than gamer-oriented, and I think that Cemu manages to capture the attention of both audiences, now that it's open-source) that refuse to use it with their "actual" Matrix identities because of concerns regarding data processing.

With that being said, nowadays, it's possible to "map" a Matrix community on top of a Discord server and have all channels in one place. The most well-known clients are still a bit clunky, but it's heaps better than it was 2 years ago.

@n0toose
Copy link
Contributor

n0toose commented Sep 1, 2022

The part where the feature mismatch between IRC and Matrix becomes evident is when someone decides to paste a picture or do things such as send a sticker.

On the IRC side, it's business as usual; you'd have to paste a link to an image anyways, something which the bridge does for you. Some modern clients also show the picture automatically. An example of a project following an IRC <-> Discord approach has to be ddnet... or SuperTuxKart, from my experience.

@Crementif
Copy link
Member

Crementif commented Sep 1, 2022

We were indeed planning on doing a Discord bridge but I've still not decided whether we'll go IRC or Matrix. From an outside perspective it seems that a lot of developers seem to use IRC (more then Matrix from what I can tell), but this might just be a skewed perspective from the few I've seen. Am I correct in that?

I don't really intent on making the bridge more then the few developer channels that are bridged to our Discord, and it doesn't have to be very complex. We're fine with self-hosting something and I've already looked into setting up either for a bit. It's really just choosing what's most comfortable for devs.

@n0toose
Copy link
Contributor

n0toose commented Sep 2, 2022

From an outside perspective it seems that a lot of developers seem to use IRC (more then Matrix from what I can tell), but this might just be a skewed perspective from the few I've seen. Am I correct in that?

Varies intensely from community to community. There's always a subset of users that use bouncers (or use Matrix like a bouncer, because it is way easier for that purpose) and do not actively chat on, say, a daily/weekly basis. I am not sure if you'll be able to assess what developers will use. Slapping Matrix on top of an OFTC/Libera IRC channel is relatively pretty easy enough. Libera even hosts the stuff required on their own and you can easily join a channel using #example:libera.chat (aka. it's already done and some people will join like that, but most will avoid it if it is not explicitly said by the project because they are not actively aware of this), and it's also not that much harder on OFTC, you just have to set the #example:matrix.org URL yourself and you are basically done.

@n0toose
Copy link
Contributor

n0toose commented Sep 2, 2022

For that matter, the easiest way to go would be just bridging a channel between IRC and Discord. The argument that it would be annoying to people that expect their Matrix messages to be deleted if they do so is not valid, as this does not apply from Matrix <-> IRC either, but it might make moderation a bit more complicated.

I can explain some additional things regarding moderation, but buckle up, this will get a bit tricky:

You cant kick/ban people on IRC while using Discord, something which is doable on top of the Matrix protocol, because it allows for "virtual users" that are not on Matrix to act as a totally separate user account. With Discord <-> Matrix bridges (where the Matrix channel is bridged on top of IRC), you can kick/ban people on your favorite platform of choice -- from every platform -- apart from IRC. See: https://matrix.org/docs/guides/types-of-bridging#simple-puppeted-bridge

Matrix users also appear as separate users on IRC. That makes moderation using IRC bots instead of trickier solutions like https://github.com/matrix-org/mjolnir possible (I have not experimented with that concept in practice extensively, but it's better than how it was a few years ago). In any case, Discord would always be the weak link, as it makes completely different assumptions about what a user is or can be.

@Crementif
Copy link
Member

Crementif commented Sep 11, 2022

We've now got a Matrix server with a bridge to our two development channels on Discord. I tried IRC but it just felt too limited.

You can visit our matrix server at using https://matrix.to/#/#dev:cemu.info. Please don't use the dev_only if it's not directly talking about code, since we want to avoid a scenario where people post their build issues there.

I tried enabling guest access or preview mode, but it doesn't seem to work unfortunately. I'm pretty sure we have it enabled in the synapse, but it doesn't appear to work. If anyone knows about a fix for that or has any other issues, please mention them in here.

@ghost
Copy link
Author

ghost commented Sep 12, 2022

@Crementif thank you for that, however, it doesn't let me join it just says:

#dev:cemu.info is not accessible at this time.
Try again later, or ask a room or space admin to check if you have access.

was returned while trying to access the room or space. If you think you're seeing this message in error, please [submit a bug report](https://github.com/vector-im/element-web/issues/new/choose).

also, i'll try to ask in the synapse matrix room how to enable guest access.

@Crementif
Copy link
Member

Hm, not sure why it's showing that error. Will give it a look tomorrow.

Currently we've got registration disabled but federation enabled, and we are using https://github.com/spantaleev/matrix-docker-ansible-deploy for the whole setup, if you are wondering about the details.

@Crementif
Copy link
Member

Crementif commented Sep 15, 2022

Matrix server is now actually working with outside users... After some work the guest access now also kinda works, but only if you join the rooms individually and don't use the newly-added Cemu space? We have guest access turned on for both the space and the room, so it's weird why it's not working. Might just be a bit buggy since the spaces are in beta.

Will be limited to just a bridge to the dev channels for now, but I might expand it to the other relevant channels if there's enough interest and it works smoothly.

@ThisNekoGuy
Copy link

@Crementif I was going to join the Matrix to ask about a crash I just got but I can't seem to join it and the status badge for it claims it's inaccessible:
Screenshot_20230725_235704

@Crementif
Copy link
Member

Alright, seems like there's a SSL recertification issue. I think it might've been possible to use it through http, but I've now manually renewed it. Feel free to let me know since I may forget about it again. The badge and matrix server work fine now.

@ThisNekoGuy
Copy link

@Crementif Still can't seem to join, although I can see the rooms now since you renewed the SSL cert
The rooms are reporting 0 people when I attempt to join them and running /join #cemu:cemu.info fails too
Screenshot_20230731_035729

@n0toose
Copy link
Contributor

n0toose commented Jul 31, 2023

Here's my recommendation:

  1. Make another Matrix account and give that backup account privileges.
  2. Publish a new alias under matrix.org.
  3. It will all lead to the same room, but two homeservers will have a way to refer to it.

You can also use other homeservers in order to connect to a known room instead of just using cemu.info, which is a single point of failure.

An example from a community that I participate in is: https://matrix.to/#/%23forgejo-development:matrix.org?via=mozilla.org?via=tchncs.de

The URL parameters essentially make the URL so that if there is downtime through matrix.org (or if you just want to distribute the load among multiple servers - if matrix.org were to completely disappear tomorrow then matrix.to would probably also be in a weird state), then just use the URL parameter (the URL parameter will only work if a user from that homeserver is present; Element allows you to share a link like that and includes those parameters by default).

@Crementif
Copy link
Member

Can anyone try to leave and rejoin the server with Element client to replicate the issue? I don't really wanna lose admin privileges by leaving nor make a new account.

@ThisNekoGuy
Copy link

No idea why but I just got a notification from my client from the Linux room, so I'm in now
Weird that it just suddenly decided to connect

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants