This library provides bindings to Olm and Megolm libraries from Dart. Currently only vodozemac is implemented as a backend. Both web and native are supported. You need to provide the path to the built rust library yourself.
Make sure rust and android ndk are installed (last used version is defined in the script).
Export env vars:
export PRIVATE_KEY="[take existing key from 1pass]"
export GITHUB_TOKEN="[use github token with code write access to repo]"
Run prebuild_libs.sh script from scripts folder. It will push the new libs to releases that will be used during build later.
- Make necessary changes in
rust/src/bindings.rs - Then run
flutter_rust_bridge_codegen generateto generate the rust bindings - Now use those code generated in
dart/lib/generated/to write/modify documented wrapper code indart/lib/api.dart - Then, cd into
dartdirectory and rundart run import_sorter:mainto sort imports - Run tests locally and then open a PR
# To test it locally for your platform (MacOS/Linux/Windows)
./scripts/run_io_tests.sh
# To test it for dart web
./scripts/run_web_tests.sh