3 ms·
> Keeping all those different bridges running over time is difficult. The issue is that most of the services Matrix tries to bridge to are basically hostile en
by cyphar 6y ago
> Keeping all those different bridges running over time is difficult.
The issue is that most of the services Matrix tries to bridge to are basically hostile entities (except IRC and Slack). I'm honestly shocked how well Matrix bridging works when you take that into consideration -- and unsurprisingly the Slack and IRC bridges are the nicest ones to use. But I will admit that I think Matrix's marketing around bridging as being core to their chat model is a bit of a stretch -- while all of the bridges do work, most are a bit dodgy (and some require you to self-host).
For instance, the Signal bridge is actually a hacked-up version of the Signal Chrome App with a bunch of hooks added so that they can simulate you doing things through the web app. There is a project that uses libsignal-service-java directly to create a more usable CLI and DBus interface[1], but unfortunately they haven't switched to using that (and if it became widely used, Moxie would probably decide to block it). Whatsapp is probably similarly hacked-together.
> It doesn't really do 1:1 chats so every time someone chats with you you get a 'room invite' from the bridge, which you have to accept, and all those old rooms stay forever cluttering up the system.
Maybe this is bridge-specific, but I have several long-lived IRC 1:1 chats that are all in one room. There's nothing stopping a bridge from doing this correctly (as far as I know). As for old rooms cluttering up the system, I believe that (non-joinable) rooms with no members get garbage collected but I might be mistaken.
[1]: https://github.com/AsamK/signal-cli https://github.com/AsamK/signal-cli
- Nextgrid 6y agoI'm not sure I agree with it. The hostility of the services is one thing, but regardless of that there's definitely a lack of UX around "tunneling" into third-party accounts. Most bridges require your own session on the third-party service (sometimes provided by a session cookie in the config file) and then invite you to a private room for each conversation through that service. There is no concept of a login UI for a third-party service, nor is there a concept of "ghost" users for third-party service users (let's say I have a friend that is both on Matrix as well as IRC and Signal - I want him to be considered as a single entity on the UI, and no need to have "rooms" for one-to-one chats with third-party users.
- GekkePrutser 6y agoYes this is another issue. Each bridge has its own way of managing things. In some (like Signal) you have to run a CLI command, in others you have like a bot where you can tell it what to do. It's not really standardized in Matrix.
- GekkePrutser 6y agoI actually think Slack doesn't bridge very well with Matrix. One of the things I'm having issues with is the threaded chat, where in Matrix every thread appears as individual message replies, leading to a very confusing overview if multiple threads are being replied to at the same time. Also, the API token is hard to get and it says you might get banned for using the 'xoxo-' token. Though I did it anyway :) I was a big fan of Slack until they dropped their IRC bridges, but unfortunately some communities I'm on are still only on there.