After ages using conduit as my matrix server, due to its simple setup, ease of running, performance and useful admin room, I have moved to synapse. I initially tried out synapse, and gave up on it after finding it clunky to use and generally a pain in the arse, in addition to being a bit of a resource hog. So why did I go back to synapse? Basically, I have been watching the development of the matrix protocol and wanted to have a server with full compliance. Conduit has been great, and its admin room for configuration has been fantastic for a small, personal server, but it is behind on full spec implementation, which means I can’t use some features I was wanting to. In particular, I wanted to use double puppeting on some bridges, which is particularly useful with whatsapp, as you are unable to log in on multiple devices. Unfortunately the bridge I was using required some parts of the spec that conduit had yet to implement, so I was forced to move.
Additionally, some of the future features raised in the matrix 2.0 talk seem very cool, and potentially could increase the viability of matrix for my use. And, of course, as synapse is the reference server, it will get these features before the rest of the servers. With the rate that the matrix specification is evolving, it seems increasing difficult to use alternate servers, including dendrite, the next generation server. This is due to the amount of work that is going into synapse, including its inplace rewrite into more performant languages. Generally, I have found that synapse’s performance has improved, and it is still the most feature rich server available. I want to see if I can add back an admin room to increase its similarity to conduit. Perhaps in the future, once the specification settles a bit more, I will move to another server, perhaps conduit again, but at the moment, it seems that synapse is the place to be.