9 ms·
This Year in Matrix
- Arathorn 5y agoFun fact: this blog post comes out at 26 pages of A4. If anyone wants assistance digesting it, I can try to help answer stuff here :)
- marginalia_nu 5y agoIt's more like 18 if you remove all the videos and images and various other cruft.
- anchpop 5y agoIn what way are the images "cruft"?
- marginalia_nu 5y agoIn the sense that they take almost an entire screen, yet do not convey information comparable to an entire screen's worth of text. The hex of these types of graphics is that they don't actually say a lot at all beyond "one thing is slightly bigger than the other", or "the thing is a bit faster now". There are things that are easier to convey with a picture than with words (like the how much bigger the sun is compared to the earth, "really really big" doesn't quite cut it), but this is not such a case.
- MayeulC 5y agotypo: minimising battery life on mobile
- Arathorn 5y agofixed, thanks
- 2Gkashmiri 5y agoandroid element. why can't we forward a text or a photo or anything? i have to "share" and then select a chat or a room to forward to. any reason for this issue to exist? i personally never joined whatsapp and quit telegram during the last mass exodus to telegram.
- MayeulC 5y ago> nightmarish pain point that is the amount of time we spend implementing the same features across the three different platforms I've been toying with the idea of providing dynamic extensions to Matrix rooms by sending a WASM payload as an event. That WASM could then provide new UI elements, interactions, interpret events, etc. This could be used to implement polls (I know it's coming, but that's an example) or whiteboards inside existing clients. It's just an idea, not sure how it would work in practice... But if anyone wants to have a go at it, be my guest!
- yjftsjthsd-h 5y agoThat sounds terrifying from a security perspective. I know wasm is sandboxed, but it's in a sandbox with all the user's data and parts of the user interface, which is quite enough to do damage.
- MayeulC 5y agoI agree that the attack surface needs to be carefuly thought about. It shoudln't be much harder than current "widgets", though. I was thinking of something that only does I/O with data contained in the room it's in. I think the UI would be the hard part, but it could be doable with a few HTML tags and an extensible UI. For instance: add an "insert poll" button, or an "add voice message" button. Or an "add sticker"/emoji/gif, etc. Currently every client needs to build this individually. Users could pick the features they want in their clients. Moreover, not every plugin needs to be third-party. A "trusted store" could very well be maintained.
- lsowen 5y agoA big thank you to the entire matrix team. You've tackled a big problem space and made great progress. Here's to a great 2021 and and even better 2022!
- 2pEXgD0fZ5cF 5y agoI have been using matrix for quite a while now, and managed to get the people I write the most with on it too! Back then I rented matrix hosting with modular.im (now called ems) once I noticed that I did use Riot/Element on a daily basis, and the latency of matrix.org servers was too big for my taste, combined with the lack of online status display. Now that dendrite is starting to finally mature, I will probably switch to hosting it myself to save some costs. Main things stopping me are the possible headaches around domain names and federations: How hard is it to move to a different hoster once I have an instance running? I read in the documentation that things can become problematic if I don't carefully backup parts of my dendrite matrix instance. What would happen if I (or rather my hosting provider) lose my files and have to setup my matrix instance from scratch, will my domain then remain blocked on the federation, even when I still have control over the domain? It's not that I don't do backups, but I'm curious what would happen in a worst case scenario.
- jeroenhd 5y agoI believe federation recovery should be possible assuming you have access to the server's signing key. Without it, you'll probably run into conflicts. You'll definitely have problems with missing rooms, missing user encryption, the lot of it. I think it should be possible to re-create and re-import signing keys onto a new server, but I wouldn't rely on it. You'll probably end up with broken clients for ages. You'll also definitely run into loads of clients 404ing on your server, trying to download media that no longer exists. Personally, if I'd lose access to my server, I'd just start over with a new domain and get my backups in order that time. If you have backups you can recover, you can get everything up and running painlessly by pointing DNS to the new server and waiting for DNS propagation to finish. As for moving between hosters, there's a tool for that: https://ems.element.io/tools/matrix-migration https://ems.element.io/tools/matrix-migration; it's a tool that'll invite your new account into every room your old account was part of, transfer profile pictures and such and optionally kick the old client from rooms after migrations. That'll only help if your new account is on a different server, though.
- MayeulC 5y agoI think this scenario isn't handled too well, and I'm afraid servers that have seen your previous server will refuse to talk with it, and continue spamming the old address. Make sure to backup your server's private key so that you can properly leave rooms. It's usually better to leave all rooms prior to decommissioning a server, too, but I am not 100% sure it would prevent that issue.
- onefootincode 5y agoThis was truly a great year for matrix. Thanks to the whole team for making a dream about decentralized www come true! But I have a great pain with that bug: https://github.com/vector-im/element-web/issues/469 https://github.com/vector-im/element-web/issues/469 Everytime I’m fighting with myself to not be sarcastic when speaking about this issue, but I want to say I have hard time believing that Element could we a main communication platform for anyone without this being fixed. It drives me mad, and I have just two people to communicate with!
- Arathorn 5y agoWeird; the reason we haven't prioritised it is in that in practice it doesn't seem to be a big problem? You don't get push notifs while you're active in the app itself, and the fact that i get push on my phone while also reading on desktop almost feels like a feature (I often read the msg first via push on phone before then going and hunting on it desktop, especially as Element Web's notification panel needs love).
- dmr_92 5y agoIt's not a problem; it's an intense frustration. It is irritating to be told "here's a new message X" at your desk, only to see and hear the same notification "new message X" on a phone within a few seconds. Your phone even vibrates, as if to demand your attention and chide you for not acknowledging the message. It's an additional distraction when we're all short on time. My previous work used a system which queued notifications for delivery. The logic was something along those lines: - send notifications for urgent items, e.g. incoming calls, immediately to all devices - if there are no active devices, send all notifications immediately - otherwise send to all active devices st internally along with testers. I ended up tweaking this; it took us a few tries to get it right. I'd be flabbergasted if Facebook messenger, iChat, discord et al haven't done something similar.
- chagaif 5y agoI can second this, I love being able to answer quickly from my mobile (I type [actually swipe] faster on mobile). It's also amazing how the push notifications clear when read somewhere else, this is not to taken for granted, it's not implemented on most other chat apps and it's a huge advantage of Element imho, sometimes it's buggy¹ but it's easy better than not having it and only Telegram is better in this regard from my experience. 1. https://github.com/vector-im/element-android/issues/4147 https://github.com/vector-im/element-android/issues/4147 and also some other
- kuon 5y agoI tried to adopt matrix for our small business and here is summary of my experience. - Synapse is very resource hungry even for a small server - Synapse creates a gazillion of TCP connection and keep them open, it was a real problem for my ISP router (SOHO router for 1gbit/s) and it took a very long time to debug, be sure to limit the number of TCP connection on the server - Synapse is hard to get a good idea of the health of the server, the federation can break without warning - If the federation broke for some reason, when submitting messages, they will show as delivered, this was one of the major problem for us - Encryption is very cumbersome to get right for non technical users, there should be a server wide option to make it "easier but less secure". Even for me, it was hard to get rid of a warning popup about some device error. - Group VOIP is hard to setup, it should be as easy as discord to be viable. - Webhook is really hard to setup too, I want to be able to right click a channel and "copy webhook URL" to be able to post to it with CURL (discord has that) - Globally it is very slow when joining federated rooms, it can take days to sync 500+ people room In the end we just use discord, it's free and do the job. Of course they can read our messages and this is a problem for me as I am for privacy and encryption, but it works for everybody, it is friendly and easy to use. I will keep a close eye on matrix and try to adopt it again, but right now it is not usable for us.
- Arathorn 5y agoWhen was this? I suspect most of the problems here are due to users joining lots of big federated rooms, which will use loads of resources irrespective of how many local users you have. This is also what Fast Joins are trying to improve (at least for join speed) from the original post. Likewise the matrix-hookshot webhook bridge.
- kuon 5y agoI discontinued the server 2 months ago, and I operated the server for about 2 years.
- Jnr 5y agoTried Matrix (and Synapse) the 3rd time a couple of months ago and gave up after a few days. Joining any larger federated room took days or did not complete at all. And then the messages were also delayed for quite a while. That must be the stupidest design I have seen. If it was not so messed up, Matrix probably would have become huge by now. I agree with others in comments, devs should have probably improved the federation and written the official server in some compiled language and provided it as a single binary.
- trumpablehump 5y agoCan I use separate identities in the same Element instance yet? Especially with Spaces I feel like this is an obvious feature where it should be easy for people to protect their privacy by using different accounts for different hobbies or peer groups. I would love to finally be able to use my employer's chatrooms with my real name, the animal rights group with my one pseudonym and the techie chat with the other one.
- mroche 5y agoIt sounds like you're asking for a Slack style configuration, e.g. where each workspace (in Slack terminology) needs to be authed into and can use different accounts within one app instance?
- kevincox 5y agoSlack is a bad example here because you can't really use different accounts at a time (at least on web). It just provides a relatively easy link to switch between them. Maybe app/mobile are better? But yes, I think OP is asking to be logged into two accounts and see the rooms/contacts/notification from both in the same application. This is not currently supported in Element and I don't think it is on the near roadmap. But some other clients do have multi-account support.
- Arathorn 5y agoNot yet. Hopefully one for 2022!
- jeltz 5y agoIs there any Matrix to Matrix bridge? Such a bridge should be able to solve the problem short term.
- jeroenhd 5y agoFluffychat allows multi-account logins on the same device, if that's what you're looking for. I haven't tested it myself, but it seems similar to the way the Gmail app operates with multiple accounts (you switch over to a new account and get content specifically for that account, rather than mixed rooms from different accounts all in one list). In practice, though, I'd be impressed if you could even find three different circles that are all on Matrix. I haven't found many people who are willing to switch yet over, anyway.
- slickdork 5y agoI've been attempting on and off the last few years to spin up a non federated matrix server in my homelab to make an alternative to discord for my friends. I run into some various issues every time. I'm pretty good at tech, but for whatever reason the barrier to getting a working self hosted matrix server seems too high for me. I really would like to move to an e2e encrypted discord alternative. Maybe someday I'll be able to do that with matrix, when ether it gets easier, or I get smarter.
- AndroidKitKat 5y agoHave you seen this repository[0] that automated most of the configuration? I have a similar goal to you (get family off of Google Chat), and I was pulling my hair trying to manually set things up. Now the hard part of getting them to migrate... [0]: https://github.com/spantaleev/matrix-docker-ansible-deploy https://github.com/spantaleev/matrix-docker-ansible-deploy
- slickdork 5y agoI was just looking at this yesterday, actually! Thank for sharing. It looks very promising. I think my main issue is my only hypervisor right now is unraid, and I'm a bit hesitant to open ports on my firewall directly to a VM on unraid since it's also my personal NAS (I think there's security questions there, even if it is just a VM on it's own vlan? Not sure how possible VM escape is on unraid with this playbook).
- exdsq 5y agoOn the release day of Matrix: Resurrections too!
- beepbooptheory 5y agoReally get good vibes from the company, can't quite put my finger on it... Never hearing back from them about a job was a bigger disappointment than usual. Problems with synapse are true, but it was a good compromise to push out an early implementation so things could get rolling quicker with getting people to actually use the clients. Just when I get used to some issue/missing feature in the clients, they seem to fix it. And in general I trust and know that decisions with the spec are being made carefully. I use it for an intimate chat server with never more than 8 users, so I can't speak to some of the problems. I can just say the trajectory itself for Matrix is strong. A good effort to fight slack and discord. Wish all the discord servers people use were matrix instead.
- kevincox 5y ago> And in general I trust and know that decisions with the spec are being made carefully. This is one place where I strongly disagree. Almost all features have "We will add encryption later" which is not a way to build a secure messenger. Stickers, polls, profiles, spaces, relations, reactions... they all start with and unencrypted version with the promise that "encryption will come in a later MSC". They should really take "secure" out of the tagline until they actually add E2EE for all of these features. Basically all clients allow users to use these insecure features in encrypted rooms with no warning at all. And I constantly see hacky quick fixes get accepted because "we need to do something", "no clear use case for $X" (even when there is) and "N other MSCs depend on this so we'll merge it in and deal with a proper solution later". For example the relations MSC just got merged with support for only 1 relation per message even though it is clear that editing replies would be a problem with this system. I love Matrix and hope it does in fact unify messaging but I think "carefully" is not the way to describe how the spec is progressing. More like "shoved in whatever direction is needed to implement the newest Element feature". Maybe that is for the better, we do need a featureful protocol to get users after all, but personally it irks me the wrong way. Especially when security and privacy are ignored "for later".
- Arathorn 5y agoThis is a really interesting point. We deliberately built Element to help prove the spec and define its direction (including ensuring it has decent privacy properties), to avoid all the failure modes where folks build a protocol without a real app or product in mind and end up with something which tried to be all things to all people and useful to none. While I’d have loved us to have infite manpower getting all the security features in from day 1, we had to bootstrap and we prioritised usable apps over optimising for a perfect spec. And judging by some of the rest of the thread, we didn’t so well even then; it would have been even worse otherwise.
- davidhyde 5y ago> "Social Login via multiple SSO providers (MSC2858) - almost 50% of new registrations on the Matrix.org homeserver now use social login!" Interestingly the split of SSO usage is roughly 70% Google, 12% GitHub, 11% Apple, 6% Facebook and 1% GitLab. Congrats to the matrix team, really great work. However, I'm a little confused by the excitement around "social login". Why is it such a great thing? Aren't you just giving someone else power to shut you out of Matrix? We hear so many stories about lives ruined because of arbitrary (often automated) account locking that I just don't understand why anyone would risk using social login at all.
- Arathorn 5y agoThe excitement purely comes from the fact it makes it way easier for casual users to try out Matrix (even at the expense of then being beholden to the SSO providers), and it forced us to dogfood and land first class SSO support :)
- dane-pgp 5y agoIf someone uses a third party SSO provider, can they create recovery codes to mitigate the risk of having their account closed by that provider? That would be a nice feature to prompt such users to make use of, once they've tried Matrix out for a while and have built up some chat history and connections they wouldn't want to lose.
- Arathorn 5y agoNot yet, but it’s on the horizon (it’s the account portability / multihomed accounts stuff in the OP)
- searchableguy 5y agoHave you considered adding wallet connect based login option? https://walletconnect.com/ https://walletconnect.com/
- blitzar 5y agoWelcome to federated decentralised service. Please log in with your facebook account.
- brunoqc 5y agoAny big progress on p2p? I mean more in the MSC side (multi-homed identity and stuff like that). Also, arewep2pyet.org pretty please.
- Arathorn 5y agoOnly the stuff mentioned in the blog post. I've written the content for arewep2pyet.com; need to just get it live.
- jeroenhd 5y agoI've looked into putting Cactus Comments [1] on my website, but I kind of had to can that plan when I found out that it requires the slow and resource hungry Synapse homeserver implementation at this point in time. I was hoping to use Conduit or Dendrite, but those are simply not ready yet. In my opinion, the biggest problem with the current Matrix platform, especially if you self-host, is the server implementation. It's not buggy, but it's just awfully slow. The "dpt of ping" [2] section at the bottom of the weekly Matrix updates show that five seconds of latency between servers (measured by basic ping bots) is far from uncommon. The latency is still significant in the non-synapse version of the graph, but it's much better already. With the speed new MSCs are accepted every month I don't think any alternative server stands a chance at catching up to Synapse any time soon, and I don't know how I feel about that. Yes, Matrix is an open platform with an open source spec, but it's effectively impossible to develop an alternative backend implementation with the way development is currently done, unless you've got a lot of developers and money to throw at the platform. I'll probably look into Conduit again in a few months, hopefully the project will keep up it's impressive pace so that it's useful for my purposes. [1]: https://cactus.chat/ https://cactus.chat/ [2]: https://matrix.org/blog/2021/12/17/this-week-in-matrix-2021-12-17#dept-of-ping- https://matrix.org/blog/2021/12/17/this-week-in-matrix-2021-...
- karmanyaahm 5y agoI'm running Synapse and Cactus chat on a 1gb memory, 1 vCPU Linode and it's just fine. Given, I have a small blog (ie low load on cactus), but I'm in many (15+) medium sized (100-1000 members) federated chats and it's just fine on a day to day basis. There are some limitations tho: - I can't join large rooms (2000+ members and whatever number of servers that entails on average) - Initial sync (first time log in on new client) is crazy slow - syncv3 will hopefully fix this My definition of not being resource hungry is being able to run on a 1gb, 1 vCPU VM - however you and me might have a difference in that opinion
- jeroenhd 5y agoI think the initial sync issue is one of the worst problems, because someone joining in to leave a quick comment will be waiting for the system to synchronize. You can run the system on 1GiB/1 vCPU, but that comes with a performance penalty. My instance of Synapse definitely can't join any matrix.org chatrooms, no matter how hard I try. Even rooms with a few hundred participants are awfully slow and leave scrollback state a broken mess. When I tried to join the main Matrix channel, both of the CPU cores I had dedicated to Synapse were pinned for at least half an hour, even after I tried to cancel joining the room! I hope sync v3 lives up to the hype, but I'm wary. Synapse's Pythonic base seems ill-fitted for an instant messenger backend in my opinion, and no amount of protocol trickery can work around that. It's not that I think the 1GiB is necessarily that excessive, but Dendrite and Conduit are blowing Synapse out of the park in terms of performance, to the point that I'd almost rather see the Matrix folks dedicate their development efforts more on bringing Dendrite up to speed than to expanding functionality.
- brutal_chaos_ 5y ago> including radically improved analytics (for those who opt in!) Thank you so much for making analytics opt in. :)
- up6w6 5y agoVery nice blog! I was looking at Signal with their closed-doors development these days, and you have no idea of how much a post from time to time detailing the progress makes means for someone willing to contribute. Some of the most exciting features for me are: - Dendrite: we really need some efficient replacement for Synapse - Sync V3 and Fast Joins: it will erase the feeling of slowness when I open the web client - MLS: It will help to scale E2EE groups [1] (remember the 256 limit in WhatsApp groups ?) - P2P: We received this year a first glance of what a network of Bluetooth Low-Energy devices can do with the Apple Find My network. A true p2p instant messaging system is not just a dream anymore. - Metaverse, file storage: I have no idea if they will accomplish any of them, but having a new non-profit working in the field is always welcome. [1] https://i.blackhat.com/USA-19/Wednesday/us-19-Robert-Messaging-Layer-Security-Towards-A-New-Era-Of-Secure-Group-Messaging.pdf https://i.blackhat.com/USA-19/Wednesday/us-19-Robert-Messagi...
- russelg 5y agoI still can't believe there's been no response to the nickname colour proposal. This has been sitting in the queue for 2!!!! years now. It's ridiculous.
- stevenicr 5y agoThis has been high on my priority list as well. Last I checked we needed a git account o upvote things or something - but even then I'm not sure we'd get a change in the roadmap / prioritization... I've considered hiring some peeps to make the code and offer it up to the community ti merge it or whatever. This and a few other important to me/my users, but really kind of superficial things in general that needs to attention imho.
- ncmncm 5y agoI have been through two unsatisfactory home servers (librem and privacytools) and am trying to decide what to do next, maybe even self-host. In the meantime, Signal :--P Whatever I step to, I will need to get my extended family onto it, and that is a big enough hassle I don't want to repeat another move.. I saw that, E2E notwithstanding, your home server has plaintext access to all traffic, which makes me leery of using cloud servers. The other big roadblock is that I don't know of any client that can manage multiple accounts. I would have to use e.g. fluffy for personal, and element for work. And I found what was labeled a Signal-Matrix gateway, but could not figure out how to set it gu he. If you are not accessible via Signal, your existence fades.