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

Blog: Matrix organization administration experience and how to do it without hosting a server and thus without Mjolnir #268

Closed
Mikaela opened this issue Nov 22, 2021 · 5 comments
Assignees
Labels
blog Blog ideas and issues [m] The Matrix protocol or touching it somehow

Comments

@Mikaela
Copy link
Owner

Mikaela commented Nov 22, 2021

I think Matrix is currently designed for the case where every organization runs their own server and their own Mjolnir which has all the useful features, so this will come across as a critique regardless of how it's done. I have the personal spaces and rooms, but they aren't as interesting as @piraattipuolue which situation is https://git.piraattipuolue.fi/Pikaviestimet/Pikaviestimet/src/branch/master/kanavat.csv :

  • A public space and a restricted space, total 2 spaces
  • ➕ 14 public rooms
  • ➕ 9 private rooms

How to use Matrix or Element? A lot of doing things by hand.

@Mikaela Mikaela added the blog Blog ideas and issues label Nov 22, 2021
@Mikaela Mikaela self-assigned this Nov 22, 2021
@Mikaela
Copy link
Owner Author

Mikaela commented Nov 22, 2021

Why is there no server? We don't have human resources or money for it. Our Matrix existence is one person (me) show for existing at all.

What is wrong with requiring running a server for proper moderation and bridges? Matrix is a federated protocol, own server to run a server extension (Mjolnir) is a single point of failure and they aren't moved around as easily (Matterbridge: swap server, username and password fields, spam /invite @matterbridge:example.net everywhere).

Obligatory, but aren't rooms centralized anyway? No, they are hosted on all servers that have users in the room and it's good practice to have administrator access on multiple servers in case one went down for whatever reason.

@Mikaela Mikaela added the [m] The Matrix protocol or touching it somehow label Nov 22, 2021
@Mikaela
Copy link
Owner Author

Mikaela commented Nov 22, 2021

It should begin with overview including the spaces and that the matterbridge has owner everywhere (account sharing) to avoid my bus factor as so far I am the only one to actively touch Matrix in depth from the ICT team to my knowledge.

Invite-only vs knocking? The rooms in working peace space are public, their point is to avoid distruption to party operations should abuse happen, anyone shown to not be malicious is let in so it's not supposed to be invite only. Then again at the time of writing it kind of it as clients implementing knocking are a minority and I can only name Nheko.

Should I open how spaces work on pointing to other rooms and their vias that never seem to update so I am just hoping for those servers to never go down? I discussed it with @Sorunome offline (who also heard live all my issues this blog post will be about), but I don't remember what was the verdict, was that something no one else had thought of before?

@Mikaela
Copy link
Owner Author

Mikaela commented Nov 22, 2021

Bonus: element-hq/element-meta#1961 & element-hq/element-web#19841 (duplicate of the first one) to make knocking an option at all, because both spaces started at version 6. However I am optimistic that the issues may be resolved before I have time to blog about this unless I get sudden inspiration.

I should also post the json's in this post to make it more clear what is being done.

@Mikaela
Copy link
Owner Author

Mikaela commented Dec 3, 2021

Additional plan: I can advice user to perform /upgraderoom {{ site.matrixLatestRoomVersion }] as I am bound to refer to it often and then just change config.yml without having to wonder what room versions do my posts refer to.

@Mikaela Mikaela closed this as completed in 2ed10f4 Dec 5, 2021
@vintprox
Copy link

vintprox commented Aug 5, 2022

Good day to you, @Mikaela! I found your blog after listing through some element-web issue. Good read! It seemed especially relevant to me as I also started managing a small space on Matrix which I call "dR Community Matrix". I plan to open it for more devRant users out there once it's all tidy and lean.

Doubling down on verification procedure, as this idea succeeded on my Discord server for devRant, which kind of prevents "identity" theft. I'm taking it beyond user-bot interaction by developing a graphical widget (SvelteKit/HTML+CSS+JavaScript). I plan to add there some extras: workshop planning, showcase, music collection, meme generator, etc. (they all are secondary advancements against infinite scrolling and switching between tabs/apps).

So how is this relevant? Well, while I can just host my widget on GitHub Pages without problem, receiving input from a user on room/space level will require some sort of backend. Zero-price requirement arrises more in face of a service that's supposed to work even if I abandon it. (Yet another reason why I don't host my own Synapse/Conduit instance. I don't want to seem like I have hidden power level above other admins in our community rooms, because I believe this place should be supervised equally between room admins, without one devRant persona puppeting everything. And a more simpler reason - I don't wanna be a single point of failure, lol.)

When it comes to decent free tier backend, only Heroku comes to mind. Luckily, I don't have any dynos running on my account, so I can allocate one free worker dyno to run a bot. Bot will receive Matrix events that are constructed by widget on behalf of user, and also send events back that widget can see. In theory, it eliminates the need for exposing HTTP endpoints with all possible freezes from Heroku in favor of a continuous process.

What I'm hinting at is if I get to the part where I or someone else implements moderation tooling in user-friendly widget, I'll call it a day ✨✨✨

Additional plan: I can advice user to perform /upgraderoom {{ site.matrixLatestRoomVersion }] as I am bound to refer to it often and then just change config.yml without having to wonder what room versions do my posts refer to.

The amount of thought put into this blog post as other your posts is astounding, which is very-very great! Keep going 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog Blog ideas and issues [m] The Matrix protocol or touching it somehow
Projects
None yet
Development

No branches or pull requests

2 participants