osmaczko 147d0b3b88 feat: surface what a GroupV2 conversation reports about itself
de-mls narrates its own commit-and-recovery cycle, and libchat consumes three of the fourteen events it emits and drops the rest. A group that has stopped moving therefore looks like one that is idle: the roster keeps reporting whatever it last committed, and the account of why sits in a log the application cannot reach.

Buffer the phase changes, the commit-round counts and the steps that did not go through the way causal-history observations are buffered, drain them after each drive of the core, and give each a client event. The count is the load-bearing one: a round that ends short of the candidates it expected is a round where members chose from different sets, which is how a group splits.
2026-08-24 10:23:11 +02:00
2026-01-30 15:46:36 +00:00

libchat

Supporting library for Logos-chat

Example app

bin/chat-cli is an end-to-end encrypted CLI chat app built on this library. By default it uses logos-delivery (Waku-based) as the transport so two users anywhere in the world can chat by sharing an intro bundle. A local file transport is also bundled in; pick at runtime with --transport <logos-delivery|file>.

# Build logos-delivery with Nix
nix build .#logos-delivery
# Build chat-cli with Cargo
LOGOS_DELIVERY_LIB_DIR=./result/lib cargo build --release -p chat-cli
# Run binary (defaults to --transport logos-delivery)
./target/release/chat-cli --name alice

See bin/chat-cli/README.md for full build, run, and test instructions.

S
Description
Supporting library for Logos-chat
Readme
3.3 MiB
Languages
Rust 99.3%
Nix 0.4%
Python 0.3%