diff --git a/README.md b/README.md index 696c9c4a8..5450e9623 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ or Command line build using docker ```bash -$ docker build . -t libxmtp:1 +docker build . -t libxmtp:1 ``` ## Structure @@ -68,4 +68,4 @@ libxmtp/ ├ [`xmtp_proto`](./xmtp_proto): Generated code for handling XMTP protocol buffers -└ [`xmtp_v2`](./xmtp_v2): Version 2 of XMTP which uses a [user key bundle](https://xmtp.org/docs/concepts/key-generation-and-usage) to encrypt and exchange messages. +└ [`xmtp_v2`](./xmtp_v2): Version 2 of XMTP which uses a [user key bundle](https://xmtp.org/docs/concepts/key-generation-and-usage) to encrypt and exchange messages. diff --git a/bindings_ffi/README.md b/bindings_ffi/README.md index dc578b7c6..32ef1af64 100644 --- a/bindings_ffi/README.md +++ b/bindings_ffi/README.md @@ -77,7 +77,7 @@ NOTES: To allow the workflow to push to another repo the setup follows [this gui # Uniffi -We are using Uniffi with the latest procedural macros syntax where possible, which also gives us async support. It is important to learn the syntax: https://github.com/mozilla/uniffi-rs/blob/main/docs/manual/src/proc_macro/index.md. +We are using Uniffi with the latest procedural macros syntax where possible, which also gives us async support. It is important to learn the syntax: . For the most part, any mistakes in the Uniffi interface will manifest as a compile error when running `./gen_kotlin.sh`. Some details are described below so that they are easier to understand. @@ -89,4 +89,4 @@ Any objects crossing the Uniffi interface boundary must be wrapped in `Arc<>`, s We use Tokio as our [async runtime](https://rust-lang.github.io/async-book/08_ecosystem/00_chapter.html). Uniffi can use this runtime on async methods and objects using the annotation `#[uniffi::export(async_runtime = ‘tokio’)]`. Uniffi plumbs up an executor (scheduler) in the foreign language to the Tokio runtime in Rust. More details [here](https://github.com/mozilla/uniffi-rs/blob/734050dbf1493ca92963f29bd3df49bb92bf7fb2/uniffi_core/src/ffi/rustfuture.rs#L11-L18). By default, Tokio's [multi-thread scheduler](https://docs.rs/tokio/latest/tokio/runtime/index.html#multi-thread-scheduler) is used on the Rust side. This means that functions may resume execution in a different thread when an `await` is encountered. This in turn means that structs held across an `await` in libxmtp must be `Send` and `Sync`. -Additionally, because the foreign language may be multi-threaded, any objects passed to the foreign language must also be `Send` and `Sync`, and [no references to `&mut self` are permitted](https://mozilla.github.io/uniffi-rs/udl/interfaces.html#concurrent-access). For now, use the mutability pattern described in https://github.com/xmtp/libxmtp/pull/138. +Additionally, because the foreign language may be multi-threaded, any objects passed to the foreign language must also be `Send` and `Sync`, and [no references to `&mut self` are permitted](https://mozilla.github.io/uniffi-rs/udl/interfaces.html#concurrent-access). For now, use the mutability pattern described in . diff --git a/bindings_flutter/CHANGELOG.md b/bindings_flutter/CHANGELOG.md index 98bd2b706..13e40869b 100644 --- a/bindings_flutter/CHANGELOG.md +++ b/bindings_flutter/CHANGELOG.md @@ -1,23 +1,30 @@ ## 0.1.0-development.2 + - pickup latest validation service updates ## 0.1.0-development.1 + - move from v2 to main branch on libxmtp - mls client creation - mls group creation/listing (no messaging yet) ## 0.0.1-development.4 + - use bundled artifacts in android CMakeLists build ## 0.0.1-development.3 + - expose `user_preferences_encrypt()` and `user_preferences_decrypt()` ## 0.0.1-development.2 + - introduce setup script for artifacts during install ## 0.0.1-development.1 + - include generated code in the published package ## 0.0.1-development + - initial packaging -- expose topic generator for preference storage \ No newline at end of file +- expose topic generator for preference storage diff --git a/bindings_flutter/README.md b/bindings_flutter/README.md index 78194112b..833590e95 100644 --- a/bindings_flutter/README.md +++ b/bindings_flutter/README.md @@ -5,4 +5,4 @@ A package wrapping pieces of the [libxmtp](https://github.com/xmtp/libxmtp) rust This is published as [`xmtp_bindings_flutter`](https://pub.dev/packages/xmtp_bindings_flutter) This low-level library is consumed as a dependency of the [XMTP flutter SDK](https://pub.dev/packages/xmtp). -Most users should use that high-level `xmtp` package instead of depending on this package directly. \ No newline at end of file +Most users should use that high-level `xmtp` package instead of depending on this package directly. diff --git a/xmtp_proto/README.md b/xmtp_proto/README.md index d98c2f7b9..b78e72161 100644 --- a/xmtp_proto/README.md +++ b/xmtp_proto/README.md @@ -1,5 +1,5 @@ # xmtp_proto -This crate generates Rust definitions and methods for protobufs from https://github.com/xmtp/proto. +This crate generates Rust definitions and methods for protobufs from . Make sure to run `../dev/gen_protos.sh` and commit your changes whenever you need to consume new changes from the proto repo. diff --git a/xmtp_user_preferences/README.md b/xmtp_user_preferences/README.md index 63bf09042..35d10bc42 100644 --- a/xmtp_user_preferences/README.md +++ b/xmtp_user_preferences/README.md @@ -1,3 +1,3 @@ # XTMP Personal Private Portable Preferences -A library for encrypting messages where the sender and recipient are the same (self-messaging). \ No newline at end of file +A library for encrypting messages where the sender and recipient are the same (self-messaging).