Synchronous Messaging at Mozilla - Trial Servers & Feedback

One thing that I consider super important is content moderation and flagging, specially in a place we want to be welcoming and safe for everyone and following our CPG.

I failed to find how this works for the 3 candidates.

  • How can I flag a comment?
  • How does moderation work?
  • Is there a community-moderation system? (to avoid bottlenecks on a few mods)
  • How content can be deleted for everyone?
  • Is there a way to block a channel if there is a flood attack? (a lot of people posting nonsense)
  • Is there a way to take actions on a malicious account?

/cc @Emma_Irwin1 since I think this is super important for a channel with a lot of live comments.

Edit: Found a “report” option on RocketChat.


Matrix project lead here; We have an extensive moderation guide up at which explains the options available on Riot/Matrix. We’re doing a lot of work in this space currently (the guide had a fairly major update yesterday); this is a massive area of focus for us.

Edit: to answer the specific questions:

  • You can flag a comment by selecting ‘report’ (although this is only present currently on Riot/iOS & Riot/Android - we’re just adding it into Riot/Web.). It reports the message ID into the server DB; the server admin can then decide what to do with it.
  • For moderation in general, see the guide.
  • Community moderation is supported
  • Content can be deleted for everyone using the ‘Remove’ button, which now also supports bulk removals
  • You can make rooms invite only, or mute-by-default to mitigate flooding attacks. There are also much more sophisticated plugins and bots and tools too as per the mod guide (e.g. nsfw-filtering bots)
  • You can deactivate malicious accounts as per the guide.

Signed up yesterday, for the betas and will help as much as i can

Thanks, this is helpful. I see you are considering “Using reactions to filter content” as a way for community to help directly on the moderation, that’s nice.

Am I the only one with issues using the mobile version and SSO?

We expect the native-mobile experience across all of these platforms to be pretty uneven, but we definitely want to hear about it when it happens.

At this point we should have most - fingers crossed, all? - of the login issues sorted out, though, and I want to express my gratitude again to everyone helping us test this stuff out.

We’re still following this thread, and will be for the duration of the trial period. Thanks, everyone.

Thanks, riot mobile sso working now.

1 Like

My initial thoughts, just trying it on desktop for starters…


  • I wish they let you rearrange channels into your preferred order. They all either put them in alphabetical order or they try to sort them for you using an algorithm that doesn’t match what I would ever choose to do.



  • It does seem to have a lot of features that could be useful.


  • The UI has this weirdly experimental feel to it. Things like entering idle time limits as a raw number of seconds seem cheesy.
  • The theme is not very nice; it’s kind of sloppy looking, and there are no options to configure it at all beyond normal/compact/cozy.
  • There’s no way to add a channel to the sidebar by choice; they only seem to get added when you say something on the channel. Makes it strange to try to add a channel that you only want to observe (which for me is many many channels, so I can watch for stuff impacting documentation).
  • It’s a little unpredictable where to find options. There are so many popup buttons to click to get lists of different things you can do, and some don’t seem to be in the most obvious place.



  • Far, far more refined feeling UX than Rocketchat, with more options to configure.
  • Multiple themes to choose from, with more available online. Plus the ability to import color settings from Slack.
  • You can choose whether the channel panel is fixed width or expands to the width of your window. :heart:
  • Supports using markdown in messages for formatting purposes.
  • The guided “getting started and set up” process is nicely done.
  • Option to flag individual lines of chat for follow-up; they show up in a special list you can review later. This is AWESOME for me, since I have to use info from chat for writing work regularly.


  • Doesn’t let you see a sidebar listing channel members; you have to open a popup, and that doesn’t stick around when you start doing other things.
  • No “show all attachments” option that I could see.



  • Decent UX, though not quite as refined feeling as Mattermost.
  • Offers an attachments sidebar to look at all the files shared on a channel. Mattermost doesn’t do that.
  • Obviously a flexible system; it might start off meh but we can probably turn it into a nice setup if we are willing and able to invest the time to do so.


  • No way to see counter of new messages per channel in sidebar unless you turn on notifications for the group messages – which means you get a notification on your desktop or phone or whatnot for every. single. missed. message.
  • Generally not as refined feeling as Mattermost.
  • Default of automatically shuffling channels around in the channel list by “importance” is weird. Fortunately it can be shut off in preferences.

Initial findings

Just based on a 30-minute quick look at everything and assuming we chose to make no further alterations to the software or theming:

  • I really don’t like Rocketchat. It just doesn’t feel like a fit and seems to have a lot of stuff in need of help. Options are scattered into weird places, and everything just feels thrown together like a weekend project or something.

  • Mattermost is gorgeous. Deeply customizable etc. I really like it and it is currently my favorite. It’s pleasant to use, offers the features I need, and seems to just work.

  • Matrix is fine. I could live with it. I would not love it. If we customize it and enhance it a substantial amount, it could be made into something I would enjoy using. But as it stands, I do not.

If we were choosing right now, looking just at what I’ve seen so far (and I intend to keep looking), I would choose Mattermost without a second thought. Again, initial impression only here.

  • No new message indicators on channels in the sidebar??

For the record, this is a config change we made a few minutes ago to try to accomodate feedback that people didn’t want notifs/badges for group chats - only for 1:1s. The room still gets bolded when there are unread messages. We’re trying to iterate rapidly to respond to the feedback (and will continue to do so to address stuff like this).

@ara4n thanks for all the work you and your team are doing to respond to all feedback, it’s really making riot testing way more engaging and pleasant.


Sorry for opening a can of worms but, GDPR compliance, how are these three options facilitating this?

Edit: Answering myself



Avid Matrix and Firefox user here, obviously not that active a member of the community… I just wanted to point out a crucial difference between Matrix and the other options.

And that is, Matrix is built to be an open, federated network. If you have a Matrix server and allow it to federate, you can talk to anyone on any other federated Matrix server. You can use a single account to chat in a bunch of different communities… and you can self-host your own server and still fully participate in any chat on any other server.

This is vastly different than any other option.

The others are like AOL, Prodigy, CompuServe back in the day – you could send emails to other users of the same service, but in the early days you could not send to someone on a different service. Matrix is SMTP for chat – it lets you chat across networks.

Rocketchat was considering implementing Matrix to allow federation some time back – I don’t know if this is still happening, but the point is, with Matrix I don’t need to have an account for Mozilla, a different account for KDE, yet another account for the other open source projects – I just open Riot and can see all of them.

If you’re doing a closed, silo’d, non-federating service, the points in this thread are relevant. If you’re willing to consider an open chat system that invites collaboration across projects, Matrix wins hands down…

My opinion anyway!


Riot also have markdown support.

I would also add that there are several Matrix clients available too. And also that Matrix allows to bridge to several other protocols, including IRC, Slack, WhatsApp, etc. The IRC bridge works pretty well (I use it frequently). The other are a bit more experimental (didn’t try it, but that’s what I understood).

1 Like

To make this more explicit, KDE recently adopted Matrix for its chat - . If Mozilla does the same, you can participate in KDE chats using your Mozilla identity, and vice versa – KDE developers can participate in Mozilla chats using their KDE account.

That seems like a huge win to me… And not an option with the other platforms. (How many different Slack accounts do you have?)

… and, another entirely unmentioned feature, End-to-end encryption. Why trust embargoed security discussions to a proprietary service like Slack? With Matrix, you can have secure discussions for a security team, across servers, with no ability for server admins to reveal what is being discussed.


I feel that 1. it is a huge missed opportunity to not experiment
with Zulip, 2. a huge shame to consider a proprietary platform
that is Slack among the 4 candidates. It is still early in the game. The supposed IAM
feature depends on having SAML support, which is only ~100 LOC
away to have the feature implemented [1]. I am not affiliated with
Mozilla or Zulip, but as a bystander I can’t bear to watch this
neglect to happen! I can help with the man-hour to implement the
required feature(s).


That’s awesome. Gnome did the same recently. Would be nice if all the big names in the FOSS community (Mozilla, Debian, RedHat/Fedora, etc) also join Matrix. :slight_smile:


I find incredibly inviting because I have anonymous read access to a wide variety of interesting conversations going on about Inkscape. This inspired me to create an account and join in the fun. :tada:

In contrast, all the proposed chat solutions for Mozilla feel like a walled garden. :european_castle:

As per #synchronicity on moznet, Matrix (and Rocket.Chat too, i think?) both have guest access mode which can enable anonymous read-only access. For Matrix, it just needs to be enabled in the server settings in Modular.

We used Mattermost at Mozilla Foundation for a little over a year before the company migration to Slack. We had a lot of non-technical contributors for which IRC wasn’t an ideal candidate. It worked, but wasn’t a favorite compared to Slack.

Mobile support left a lot to be desired at the time, the apps were slow and buggy. It lacked some features and nice-to-haves that you might expect from a more mature platform. Not sure if that is still the case.

I will say, from experience it’s better to have everyone on one platform if you can - although understandably this doesn’t always happen. With the creation of the Slack there was a duration of a few months where contributor engagement was low because employees would understandably choose to just use the one platform. Which led to delayed responses increasingly as time went on.

Contributors ended up being folded into the MozFest Slack, and tied back into the official Mozilla slack through the #contribute-code channel. This seemed to be a good solution, it was never fully tested because shortly after was the transition away from learning products (phase out of Thimble, etc)

Good to know. @ryanwse do you happen to have the list of requirements that were considered when analyzing these tools in the past? It would helpful to frame some conversation here.