matrix-rust-sdk VS conduit

Compare matrix-rust-sdk vs conduit and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
matrix-rust-sdk conduit
13 18
1,056 -
5.3% -
9.9 -
2 days ago -
Rust
Apache License 2.0 -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

matrix-rust-sdk

Posts with mentions or reviews of matrix-rust-sdk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-23.
  • Flutter seems to be having bad times internally
    5 projects | news.ycombinator.com | 23 Nov 2023
    Yep, a good example is the element X rewrite

    They use Jetpack on Android

    https://github.com/vector-im/element-x-android

    And SwiftUI on iOS

    https://github.com/vector-im/element-x-ios

    But both use the same underlying Matrix Rust SDK

    https://github.com/matrix-org/matrix-rust-sdk

    So they share the core part of the app between platforms, but everything user facing is native

  • Crux: Cross-platform app development in Rust
    7 projects | news.ycombinator.com | 28 Sep 2023
  • I made a crate: eyeball – Add observability to your Rust types!
    1 project | /r/rust | 15 Mar 2023
    The one place eyebal is already being used is matrix-rust-sdk, mostly for bits of the API that act as a model for specific UI parts in apps built on top of it. A part of those APIs is also using observable vectors from eyeball-im, which I didn't mention initially because it's not as well-documented and polished.
  • Collaborative WYSIWYG document editor built-on matrix-rust-sdk and matrix-rich-text-editor?
    2 projects | /r/matrixdotorg | 15 Feb 2023
    Hello everyone, I am finally making it to all of the great talks about Matrix from FOSDEM 23, and one thing that seemed like an obvious thing that could be built on some of the new projects works (matrix-rich-text-editor, matrix-rust-sdk) is a collaborative (multi-user, live edits) document tool built ontop of rust. That said, I haven't seen any project doing this yet. Does anyone know of one?
  • Matrix 2.0 — Matthew Hodgson talks about Rust in Element client, Rust SDK, IETF MLS, MIMI and more
    7 projects | /r/rust | 7 Feb 2023
    Another important piece of the ecosystem for which Rust was used is the SDK. This new SDK was used to write the newest mobile client - Element X. The current Element client will also see its cryptography implementation being changed from Javascript to Rust, this was also made possible by the new Rust based SDK.
  • Some key-value storage engines in Rust
    12 projects | /r/rust | 27 Dec 2022
    Let's say I'll switch as soon as they start using Sanakirja. They're partially right in their analysis of Sanakirja, but their comments are more about the lack of expressiveness of the unsafe keyword in Rust than about Sanakirja itself. I'm preparing a blog post about my dream version of unsafe.
  • IRCv3 2022 Spec round-up
    8 projects | news.ycombinator.com | 20 Nov 2022
    >Well I care, that does not mean that you have to care.

    The point I'm making is that the protocol being implement-able by yourself or grabbing a lib from someone else is moot, since you will 9 times out of 10 use a library.

    >Again, look at the lack of client diversity for Matrix and tell me that you do not think that there is at least some correlation in terms of the complexity of the protocol.

    The problem is not client diversity for Matrix - there's plenty of them. The problem is that Matrix is more than displaying a log on a screen, and most of the clients are frankly abysmal and could use a trained UI/UX owner.

    >last I checked it meant using either Python or Go

    The Rust SDK has worked well for me, although I can't state how close it is to Python or Go's libs. That said, I know I'm certainly not the only one using it.

    The Rust lib could be wrapped into other languages (e.g, Ruby) if there's not a good SDK for that language. I don't really consider this to be an issue, especially considering the Rust SDK is maintained by the Matrix org themselves.

    https://github.com/matrix-org/matrix-rust-sdk

    >Add to this that the more mandatory features you have and keep adding

    Don't maintain your own bespoke library and you won't have to. :)

    >But I am not going to behave as if images, reactions, code blocks, threads, end-to-end encryption, voice calls, video calls, etc. do not come at a cost.

    They do come at a cost, but that's the price of admission for what people expect from modern chat systems. I'd rather live in 2022 than 2004, and I grew up on IRC.

  • Back to School: Free Rust Courses
    7 projects | /r/rust | 27 Aug 2022
    I'm not entirely sure what I plan to use Rust with at the moment, however my first project so far has been to write a Matrix bot using the matrix-rust-sdk library :)
  • GTK4 Matrix Client
    6 projects | news.ycombinator.com | 10 Apr 2022
    Just for everyone else reading, the modern Matrix Rust stack referred to here is the matrix-rust-sdk: https://github.com/matrix-org/matrix-rust-sdk
  • E2EE vulnerability in multiple Matrix clients
    8 projects | news.ycombinator.com | 13 Sep 2021
    The current way we're approaching this is to split the reference E2EE implementation into its own rust crate (https://github.com/matrix-org/matrix-rust-sdk/tree/master/ma...) which can be used with any SDK (e.g. we're almost finished embedding it into the Kotlin matrix-android-sdk2 client)

    Separately, there's also the overall matrix-rust-sdk https://github.com/matrix-org/matrix-rust-sdk for clients to use as a "full fat" Matrix client SDK - as used by Fractal Next (https://gitlab.gnome.org/GNOME/fractal/-/tree/fractal-next) etc. We might end up using this in Element too in future (especially in Element iOS, where a Swift UI + matrix-rust-sdk backend could be quite a cute next generation architecture).

    So while the first generation reference Matrix SDKs (matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk) were completely independent implementations, each with their own bugs and increased audit surface, we're hoping that matrix-rust-sdk will simplify this a lot in future.

conduit

Posts with mentions or reviews of conduit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-13.
  • Advice for a small Matrix server
    1 project | /r/selfhosted | 2 Apr 2023
    I'd like to suggest Conduit. I found it very easy to install and maintain. https://gitlab.com/famedly/conduit
  • Matrix 2.0: How we’re making Matrix go voom
    28 projects | news.ycombinator.com | 13 Feb 2023
    > "At least as standard" how?

    There are 8 people who vote on changes to the Matrix spec (the Spec Core Team), 7 of which are Element employees (including Matthew, Element's CEO). Element also controls the development of clients and servers used by the large majority of users in the public federation.

    > A substantial portion of the IRC comunity is actively hostile to the IRCv3 extensions, and in some cases prefer incompatible implementations of the same functionality; Matrix has nothing like that going on.

    But any IRC client will work fine on any IRC server, and they can connect to various servers with different implementations.

    On Matrix, clients (generally) can only connect to one homeserver at a time; which forces them to converge on following exactly the same spec. And if your server differs ever so slightly from the other ones in how it implements some parts of the spec (room consensus), then it can be split-brained from the rest of the federation. Instead, changes to the room consensus are done by pushing new room versions, and each server implementation needs to explicitly support it or they can't join it. This means Synapse devs (which are a majority of Element employees) get to decide what room versions can get traction.

    It is not uncommon for people in the Matrix community to complain about this and Element keeping specs in limbo, and PRs to the flagship clients being stuck in "design review tar".

    > And there seem to be more visibly independent implementations of Matrix than IRCv3.

    Clients, maybe, at least in the number of implementation. It's hard to find stats of this, but I feel that >95% of people in the public federation use Element even in tech-y rooms; IRC has a healthier mix of major clients (weechat, irssi, IRCCloud, Hexchat, KiwiIRC, The Lounge each have >5% of desktop/web users). But I admit that's just my very subjective point of view.

    In terms of servers, Matrix has three open source ones as far as I know: Synapse (controlled by Element), Dendrite (controlled by Element, and almost on par with Synapse according to https://arewep2pyet.com/ ), and Conduit. Based on https://gitlab.com/famedly/conduit/-/milestones/3 , Conduit seems to be far from implementing the spec yet (eg. it doesn't seem to support leaving rooms or respecting history visibility).

    > things like: server-side history extensions tended to mess up my client's history implementation (I'd end up with multiple copies of the same messages in my local logs, often with the wrong timestamps)

    You can use https://ircv3.net/specs/extensions/message-ids to deduplicate them.

    > And if you're in a conversation where people are using embedded gifs, then fundamentally you'll always be a second-class citizen if you're trying to participate in that with a client that can't display embedded gifs.

    A conversation where people where people are using embedded gifs will exclude me regardless of client, because they are too distracting. At least on IRC I can expect people not to do it too much, and use words or emojis instead of reaction gifs.

    > SSO access control; you just can't do that in a nice way if the client doesn't support it

    That's a fair point; IRC is made by hobbyists more than companies, so that's not surprising. There is some discussion around it though: https://github.com/ircv3/ircv3-ideas/issues/74 and Sourcehut is sponsoring implementation (https://emersion.fr/blog/2022/irc-and-oauth2/).

  • Matrix conduit server takes forever to join channels
    2 projects | /r/selfhosted | 17 Jan 2023
  • Looking to deploy a Conduit Matrix server. Is it possible to make a server which does NOT require a domain?
    2 projects | /r/selfhosted | 18 Dec 2022
    To start, this will be strictly Non-Federated. Just a few friends will be using this. Here: https://gitlab.com/famedly/conduit/-/blob/next/DEPLOY.md is the documentation I am following. It tells me I must "use my server name", but what is this exactly? What do I put in there? Do I have to go out and buy a domain?
  • Instant Messaging: XMPP or Websocket
    5 projects | /r/selfhosted | 5 Nov 2022
    Either Tinode (https://github.com/tinode/chat) or Matrix Protocol (https://gitlab.com/famedly/conduit)
  • Planning to make a video on cool Rust apps focused on the end user. Make recommendations!
    38 projects | /r/rust | 2 Nov 2022
    Matrix Protocol: Fractal (Client), Conduit (Server)
  • Discord-esk encrypted platform?
    3 projects | /r/privacy | 19 Oct 2022
    If self-hosting is an option then I'd say Matrix, you can try Conduit (server) and Elements(client). To simplify deployment you can refer to this repo.
  • anyone using rust in production? what do you do?
    22 projects | /r/rust | 30 Mar 2022
    You can babble on and on about how its not how you do it, no one needs it, etc... But its a demonstrable need in this space and its caused me great pain trying to write applications that would be used by such people. It's even bit Conduit to the point they have 5+ DB backends coded in now that the user can choose between based on their local system setups.
  • Given my server's specs, can I handle Matrix/Synapse?
    1 project | /r/selfhosted | 29 Mar 2022
    Give Conduit a try. It uses way less memory than Synapse. It is still in early stages but works great. I have been running one on a Pi4 for like a year, going great so far.
  • Is there an example app that uses Sled database in Rust?
    4 projects | /r/rust | 12 Mar 2022
    There's a Rust implementation of a Matrix server that uses sled: https://gitlab.com/famedly/conduit/

What are some alternatives?

When comparing matrix-rust-sdk and conduit you can also consider the following projects:

threema-android - Threema App for Android.

Synapse - Synapse: Matrix homeserver written in Python/Twisted.

element-android - A glossy Matrix collaboration client for Android.

dendrite - Dendrite is a second-generation Matrix homeserver written in Go!

gomuks - A terminal based Matrix client written in Go.

weechat-matrix-rs - Rust rewrite of the python weechat-matrix script.

fluffychat

Ruma - A set of Rust crates for interacting with the Matrix chat network.

matrix.to - A simple stateless privacy-protecting URL redirecting service for Matrix

matterbridge - bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)

matrix-doc - Matrix Documentation (including The Spec)