!wzHrsErnsyaqbpFiRQ:matrix.org

Ruma

696 Members
Discussion of Ruma, a Matrix homeserver, client, and supporting libraries written in the Rust programming language. https://www.ruma.io/175 Servers

Load older messages


Timestamp Message
13 Nov 2019
18:02:24@jplatte:matrix.orgjplatteFractal, matrix-nio, as well as the sdks used for riot (I think there's different ones for web and android, right?) will use useful inspiration
18:28:02@poljar:matrix.orgpoljarwait, is the plan now to provide a higher level client lib? didn't we discuss this a while ago and concluded that ruma-client should stay simple?
18:32:13@jplatte:matrix.orgjplatteI'm definitely interested in building a higher-level client lib. That recent discussion is the main reason I want to have such a thing in ruma. Whether it's going to be part of ruma-client is not decided. A low-level API will definitely be available in ruma-client though.
18:33:34@poljar:matrix.orgpoljari did start porting nio to rust in a separate repo since our discussion;
18:34:04@poljar:matrix.orgpoljari didn't get far yet since i want to port weechat-matrix at the same time to rust as well
18:34:26@jplatte:matrix.orgjplatteIf it's going to be part of ruma-client, it's still going to be pretty separated. Either you use the low-level API or you use the high-level API. Like with reqwest sync and reqwest async (I think)
18:35:16@jplatte:matrix.orgjplatte
Als Antwort auf@poljar:matrix.org
i did start porting nio to rust in a separate repo since our discussion;
Ohh nice. Have you uploaded the code already?
18:36:04@poljar:matrix.orgpoljarhttps://github.com/poljar/nio-rust/tree/olm
18:36:42@poljar:matrix.orgpoljarand https://github.com/poljar/weechat-matrix-rs for how it will be used inside of weechat
18:38:00@poljar:matrix.orgpoljaronce i get the basic functionality stable (well it is sending and receiving messages nicely); my main focus would be encryption support
18:38:48@poljar:matrix.orgpoljarbut there's a lot of stuff to implement, and it would be nice if we don't fragment into 10 different libraries
18:49:55@jplatte:matrix.orgjplatteGiven you're using matrix-client-api already, I'd argue there's not that much fragmentation going on at the moment :)
18:50:35@poljar:matrix.orgpoljarsure, but i mean moving forward, since you do plan on having a higher level client
20:26:57@jplatte:matrix.orgjplatteI don't plan to write one from scratch necessarily. If you could imagine having your nio-rust included in ruma (probably under a different name) that seems like a plausible way forward :)
20:36:35@poljar:matrix.orgpoljari don't mind renaming it that much (even though i'm quite fond of the nio name), i'm a bit worried about my requirement of having a no IO state machine at the heart of the client, and my reqwest preference
21:00:58@jplatte:matrix.orgjplatteIf it doesn't complicate things, the no-IO core makes a lot of sense, then the code required to choose an http implementation of ones liking would be minimal
21:02:21@poljar:matrix.orgpoljarit does complicate things, but it makes the implementation very flexible, compiling to WASM would probably be possible and we know that it works since we have a working prototype in the form of the python lib
21:02:51@jplatte:matrix.orgjplatteAnd it probably makes unit testing easier :)
21:08:32@poljar:matrix.orgpoljarindeed
22:37:47@florian:wolkenplanet.deFlorianmatrix-rust-wasm ❤️
22:38:04@florian:wolkenplanet.deFlorianI really have to go and understand https://sans-io.readthedocs.io/
22:53:25@wim:dewith.iowimOh, that is interesting
22:55:21@poljar:matrix.orgpoljar it's quite simple, you make a state machine that consumes data, updates the state and outputs some resulting data, for http it's bytes in, some HttpResponse type out
22:56:59@poljar:matrix.orgpoljar form matrix i'm doing it higher level, SyncResponse in and just process all events to have neat client state (room names, member lists...) and make the crypto work
23:05:26@wim:dewith.iowim @jplatte:matrix.org: which endpoint can I work on next? When I'm bored I don't mind doing some repetitive work, so I'm glad to help out further.
23:24:31@jplatte:matrix.orgjplattewim: any endpoint really
23:25:20@jplatte:matrix.orgjplatteOnes where the doc comment references an older version of the spec
23:25:32@jplatte:matrix.orgjplatteYou could also pick up my work from https://github.com/ruma/ruma-client-api/pull/40
23:25:35@jplatte:matrix.orgjplatteif you want
23:26:48@wim:dewith.iowim Sure, I'll choose something tomorrow

There are no newer messages yet.


Back to Room List