Draft: Add y-rb to dependencies
What does this MR do and why?
y-rb
provides the basic data structures likes String, Array, Map that can be replicated in a conflict-free way across the network. These data structures can be used to update state between one or more clients w/o getting conflicts. Some examples are collaborative text editing, user presence (cursor position, color), list ordering, but the use cases are endless.
Here is an example on how y-rb
can be used: !101757 (closed)
This gem
includes a native extension written in Rust. This is a novel thing and therefore the gem
ships without any application to make sure that this does not cause any issues before we start using it in production. With this MR, the gem will be required at start time, but not used anywhere.
How to set up and validate locally
y-rb
has pre-built multi-platform binaries https://rubygems.org/gems/y-rb/versions, and it should install without a compilation step for most of our developers. For CI/tests, we need to make sure that we can compile the native extension from source (Rust compiler must be present). This is addressed in other issues and MRs:
Screenshot
Install via pre-built binary (default)
bundle
Install and compile (forced via flag)
gem install y-rb -v 0.3.2 --platform=ruby
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.