8000 Tags · xmtp/libxmtp · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: xmtp/libxmtp

Tags

cli-8d08a1a

Toggle cli-8d08a1a's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix Wasm CI (#2072)

### Fix WebAssembly compilation by removing Send trait bounds from
async_trait implementations and worker system components for wasm32
targets
Modifies async trait implementations across the worker system to
conditionally apply `Send` trait bounds based on target architecture.
For `wasm32` targets, uses `async_trait(?Send)` while maintaining
standard `async_trait` for other architectures. The changes affect:

•
[xmtp_mls/src/worker.rs](https://github.com/xmtp/libxmtp/pull/2072/files#diff-ea560e63ca633c03d1189957b9efca26de6aa33294f42c116a574e5bf259ce23)
- Creates dual implementations of `WorkerManager` trait, `WorkerRunner`
struct, and `Worker` trait with conditional `Send + Sync` bounds
•
[xmtp_mls/src/groups/device_sync/worker.rs](https://github.com/xmtp/libxmtp/pull/2072/files#diff-0cb027fe20ae820904d14b0c7f33a82233e4b67af67d1cea0335eb0dab01acb0)
- Updates `SyncWorker` implementation with conditional async_trait
attributes
•
[xmtp_mls/src/groups/disappearing_messages.rs](https://github.com/xmtp/libxmtp/pull/2072/files#diff-7b806989936f6c78c9b31cbb6418a6c406e935dfad8c62f95749b348252c1172)
- Updates `DisappearingMessagesWorker` implementation with conditional
async_trait attributes
•
[xmtp_mls/src/groups/key_package_cleaner_worker.rs](https://github.com/xmtp/libxmtp/pull/2072/files#diff-3c57e0e1268b8794e0e76d48600809acb09cc825be59b6aa212a4e738c3e495f)
- Updates `KeyPackagesCleanerWorker` implementation and adds explicit
`Send + Sync` bounds to generic type parameters

#### 📍Where to Start
Start with the `Worker` trait definition in
[xmtp_mls/src/worker.rs](https://github.com/xmtp/libxmtp/pull/2072/files#diff-ea560e63ca633c03d1189957b9efca26de6aa33294f42c116a574e5bf259ce23)
to understand the conditional compilation approach used throughout the
worker system.

----

_[Macroscope](https://app.macroscope.com) summarized 53cf06c._

cli-7867c83

Toggle cli-7867c83's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
create big group and send messages xdbg (#2040)

### Create test script that generates 25 identities in a group and sends
messages for xdbg testing
- Adds new shell script
[dev/test/big_group.sh](https://github.com/xmtp/libxmtp/pull/2040/files#diff-0dfe54b6823f1188001eaf16c4c0cc0684ae9ff6ee8c5d7b787d8e1106d134ea)
that creates a test environment with 25 identities in a single group and
generates 2 test messages in a loop
- Modifies `AddExternal` action in
[xmtp_debug/src/app/modify.rs](https://github.com/xmtp/libxmtp/pull/2040/files#diff-d814abec27c6856f1129a9a3e4fd9345b9a40b8fe969634290dbd2defa059c7d)
to automatically grant Super Admin privileges to externally added
members using `update_admin_list`
- Changes `fs::File::create_new` to `fs::File::create` in
[xmtp_debug/src/app/export.rs](https://github.com/xmtp/libxmtp/pull/2040/files#diff-d1e45300da6f20cb43e390f13f29c7d8a427409cfee19923b5dda03e0183d6b5)
to allow overwriting existing export files
- Adds `jq` dependency to
[nix/libxmtp.nix](https://github.com/xmtp/libxmtp/pull/2040/files#diff-ca0cf30c4358726f1987cd30fd18084603f6d71c6a708e855d8e05f164d68c64)
buildInputs for JSON processing support

#### 📍Where to Start
Start with the main script logic in
[dev/test/big_group.sh](https://github.com/xmtp/libxmtp/pull/2040/files#diff-0dfe54b6823f1188001eaf16c4c0cc0684ae9ff6ee8c5d7b787d8e1106d134ea)
to understand the test environment creation flow.

----

_[Macroscope](https://app.macroscope.com) summarized cc82e9e._

cli-abeea8b

Toggle cli-abeea8b's commit message

Verified

10000
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Simplify workers (#2066)

### Refactor worker system to use closure-based registration and remove
generic parameters from Worker trait
The worker system has been redesigned to replace the generic type-based
approach with a more flexible closure-based registration mechanism. Key
changes include:

• Worker registration in
[builder.rs](https://github.com/xmtp/libxmtp/pull/2066/files#diff-2df8df9acb5405ca5c2dde2487e92ffc9a7daf6be38dd075a2a2d4878cc35ce6)
now uses `WorkerRunner::register_new_worker(&client.context, closure)`
instead of `WorkerRunner::<WorkerType,
MetricType>::register_new_worker(&client)`
• The `Worker` trait in
[worker.rs](https://github.com/xmtp/libxmtp/pull/2066/files#diff-ea560e63ca633c03d1189957b9efca26de6aa33294f42c116a574e5bf259ce23)
removes generic parameters and changes `kind()` from a static method to
an instance method
• Worker metrics now use `Option<Arc<dyn Any + Send + Sync>>` instead of
generic type parameters for dynamic typing
• `SyncWorker::new()` in
[device_sync/worker.rs](https://github.com/xmtp/libxmtp/pull/2066/files#diff-0cb027fe20ae820904d14b0c7f33a82233e4b67af67d1cea0335eb0dab01acb0)
now takes `XmtpMlsLocalContext` reference directly instead of extracting
from Client
• All worker implementations (`DisappearingMessagesWorker`,
`KeyPackagesCleanerWorker`) remove the `init()` method requirement

#### 📍Where to Start
Start with the `register_new_worker` method in
[worker.rs](https://github.com/xmtp/libxmtp/pull/2066/files#diff-ea560e63ca633c03d1189957b9efca26de6aa33294f42c116a574e5bf259ce23)
to understand the new closure-based registration mechanism, then examine
how it's used in
[builder.rs](https://github.com/xmtp/libxmtp/pull/2066/files#diff-2df8df9acb5405ca5c2dde2487e92ffc9a7daf6be38dd075a2a2d4878cc35ce6).

----

_[Macroscope](https://app.macroscope.com) summarized 6e34069._

cli-76726f4

Toggle cli-76726f4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Device Sync Tweaks (#2053)

### Filter device sync group additions to only include groups active
within 90 days and with allowed or unknown consent states in
`add_new_installation_to_groups` method
The `add_new_installation_to_groups` method in
[device_sync.rs](https://github.com/xmtp/libxmtp/pull/2053/files#diff-fe691b22a6268a0ff6ae46b00e693850b30ea7ced6afe483ee9c97602aaddde2)
now filters groups based on activity within the last 90 days and consent
states of `Allowed` or `Unknown`. The method signature for
`create_group_with_inbox_ids` in
[client.rs](https://github.com/xmtp/libxmtp/pull/2053/files#diff-3c0189371525b6aae3be7e5a7b5b5682204ef341fb2744fc876148c5ecab8642)
changes to accept any type implementing `AsIdRef` trait instead of
specifically requiring `InboxId` objects. New test coverage verifies the
filtering behavior in
[tests.rs](https://github.com/xmtp/libxmtp/pull/2053/files#diff-d875949860660d989ef34c14d3c75b1cc8670b5b98aa12b3c20d1bded65a6f96).

#### 📍Where to Start
Start with the `add_new_installation_to_groups` method in
[device_sync.rs](https://github.com/xmtp/libxmtp/pull/2053/files#diff-fe691b22a6268a0ff6ae46b00e693850b30ea7ced6afe483ee9c97602aaddde2)
to understand the new filtering logic for group selection.

----

_[Macroscope](https://app.macroscope.com) summarized 263b18f._

cli-828ffad

Toggle cli-828ffad's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Wasm alloy fix (#2064)

### Replace direct LocalWallet constructor usage with
generate_local_wallet helper function in WASM bindings test module
The change replaces the direct usage of `LocalWallet::new(&mut rng())`
with a `generate_local_wallet()` helper function in the WASM bindings
test module. The import statement is updated from `use
xmtp_cryptography::utils::{rng, LocalWallet};` to `use
xmtp_cryptography::utils::generate_local_wallet;` in
[bindings_wasm/src/tests/mod.rs](https://github.com/xmtp/libxmtp/pull/2064/files#diff-b835d89530fceeffa7f5fb97597f27b54bd86cbdc576f88dfeea0e4a07f5c349).

#### 📍Where to Start
Start with the wallet creation code in the test module at
[bindings_wasm/src/tests/mod.rs](https://github.com/xmtp/libxmtp/pull/2064/files#diff-b835d89530fceeffa7f5fb97597f27b54bd86cbdc576f88dfeea0e4a07f5c349).

----

_[Macroscope](https://app.macroscope.com) summarized beafce5._

cli-78a5ac2

Toggle cli-78a5ac2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix PRAGMA key or salt has incorrect value when generating groups (#2047

)

### Fix PRAGMA key or salt has incorrect value when generating groups by
adding database lock error handling and centralizing identity locking
mechanism
The changes address database locking issues during group generation by
introducing proper error handling and synchronization mechanisms:

• Add `DatabaseLocked` error variant to `PlatformStorageError` enum in
[xmtp_db/src/encrypted_store/database/native.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-9c5fcd135cb75c60427dc72ce9b51c5b99360469cd932477dfb52e7c3a1e61a1)
and mark it as retryable
• Modify `EncryptedConnection::validate` method in
[xmtp_db/src/encrypted_store/database/native/sqlcipher_connection.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-5aafb5776b64881635a9ea8902e418042e23678555b9428c087949cc670810c6)
to detect "database is locked" errors and return `DatabaseLocked`
instead of `SqlCipherKeyIncorrect`
• Create centralized identity locking module in
[xmtp_debug/src/app/identity_lock.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-1961ca982454d4504d4865361cb8a1146d2bb4cff5048cb38ccdf3b6c51d0189)
with `get_identity_lock` function and global `IDENTITY_LOCKS` map
• Update group generation in
[xmtp_debug/src/app/generate/groups.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-1c8a93d4e8378594c3b7f915c003997cdb53d02264698262eb58907e5e7d7261)
to acquire identity locks before creating groups
• Remove local identity locking implementation from
[xmtp_debug/src/app/generate/messages.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-eeaf742c78c261e05257950d12daa2ec07c1dfe459a732f2ee1484f184da9371)
in favor of centralized module
• Modify logger initialization in
[xmtp_debug/src/logger.rs](https://github.com/xmtp/libxmtp/pull/2047/files#diff-2f28ac77c46314285c19f032f6f5ff9f5f7a66c1a94c02d3cfcc94d83f341bbd)
to prioritize environment variables over verbosity-based configuration

cli-8fc4726

Toggle cli-8fc4726's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Worker Abstraction (#2058)

There are 3 workers with very similar boilerplate. This PR moves them
into a single, easily manageable abstraction.

cli-1db5afd

Toggle cli-1db5afd's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
xmtp-mls hndl analysis (#2056)

This PR adds an analysis of the HNDL security in XMTP (#1809) with the
approach implemented in #1851 by Cryspen.

Happy to reorganise, put the files somewhere else, or edit to better
integrate.

1.2.0

Toggle 1.2.0's commit message
bump version to 1.2.0 release

swift-bindings-1.2.0.7b9b4d0

Toggle swift-bindings-1.2.0.7b9b4d0's commit message
bump version to 1.2.0 release

0