ruma / homeserver

A Matrix homeserver written in Rust.
https://www.ruma.io/
1.08k stars 41 forks source link

Things blocking or slowing progress of Ruma #189

Open jimmycuadra opened 7 years ago

jimmycuadra commented 7 years ago

I'm creating this issue as a place to keep track of the things in the Rust and Matrix ecosystems that are completely blocking or slowing the progress of Ruma (the homeserver as well as supporting libraries.) We can use it to track the status of these blockers and as a place to link people wondering about the status of the project.

Rust (blocking implementation)

Rust (blocking stabilization/release)

Matrix (blocking implementation)

Matrix (blocking stabilization/release)

This is just a list of issues we've opened against the Matrix spec in the process of building Ruma. It includes places where things are wrong/misleading/undocumented. At least some of these are likely to be resolved in new versions of the specs listed above.

farodin91 commented 7 years ago

This month, i have some task to do for the current term. Next i will try to implement, something like the dendrite room server style.

vbrandl commented 6 years ago

I'm not sure if you are still actively working on ruma, but some of your issues seem to be resolved by now:

lnicola commented 6 years ago

There's also https://gotham.rs/, based on hyper. And hyper 0.12 will come out in a couple of days with full support for the http types.

jimmycuadra commented 6 years ago

Yes, the project is still active and we're still following developments of the things in the issue description. We're not likely to change the HTTP framework we use for a while longer, but keeping an eye on what's out there.

lnicola commented 6 years ago

I'm not sure about the future of iron, though.

Serkan-devel commented 6 years ago

Why not rocket.rs?

jimmycuadra commented 6 years ago

We may end up switching to any of the existing frameworks, or perhaps one that doesn't even exist yet. Things are still moving fast and it's too soon to tell.

bachp commented 6 years ago

I think actix-web makes use of the http crate. It is also working on stable rust.

Half-Shot commented 5 years ago

@jimmycuadra Are some of the matrix issues resolved with release of the S2S spec?

jimmycuadra commented 5 years ago

Yes, I have updated the description at the top! Thanks.

lnicola commented 5 years ago

Adoption of the http crate in an async web framework: blocks our ability to use an http-crate-based ruma-api with said web framework

hyper, tower-web, gotham, tide and actix-web all use http, IIUC.

jimmycuadra commented 5 years ago

That is true, but the spirit of that line was more about deciding which framework to choose, which I think hinges more on async/await than use of the http crate at this point. I'll update the items to better reflect that.

lnicola commented 5 years ago

Stabilization of the TryFrom and TryInto traits

You can tick that off :-).

Half-Shot commented 5 years ago

have both been closed :)

cdata commented 5 years ago

Looks like https://github.com/matrix-org/matrix-doc/issues/772 and https://github.com/matrix-org/matrix-doc/issues/1468 were just closed today.

jimmycuadra commented 5 years ago

I crossed off 1468 but 772 still might need another tweak. I left a comment there and am leaving it in our list for the moment.

runiq commented 5 years ago

Triage: All of the impl Trait issues linked are resolved in some way or other, so they ought to be crossed out. However, there's a new tracking issue with some additional stuff in it (like impl Trait in type aliases, in traits, and in let/const).

The async/await MVP is stabilized in 1.39.0, but a host of other issues still remain to be resolved.

Edit: The Hyper framework has initial support for async/await in 0.13alpha.

grinapo commented 4 years ago

and I expect web frameworks quickly livitate onto async/await now. Sounds exciting!

teburd commented 4 years ago

It seems like the blocking list is close to being done, I'd love to help make a better matrix server. Just today the matrix.org synapse based homeservers are slooooow

jplatte commented 4 years ago

@bfrog The easiest way to contribute to the project right now is to contribute to ruma-client-api, which contains the Rust API definitions for the client-server protocol. Currently these are only used in ruma-client, our client library, but when homeserver development picks up again they will be used there too.

See the issues section for a list of things that have to be done; also come join #ruma:matrix.org, where I and other people can help you get started.

felix91gr commented 4 years ago

From the blocking list, the issue titled:

Spec is unclear about what is stored in the content repository

Seems to have been closed :3

jimmycuadra commented 4 years ago

@felix91gr See https://github.com/ruma/ruma/issues/189#issuecomment-501141220 above.

felix91gr commented 4 years ago

@jimmycuadra ohh, indeed. My bad! :)