mirror of
https://github.com/logos-messaging/libchat.git
synced 2026-06-28 20:19:26 +00:00
closes: #77 The C consumer story lives downstream now: logos-chat-module wraps the client crate and exposes its own C API. The in-tree client-ffi crate has no consumers left, and the nim bindings still target the removed Context-based C API. - delete crates/client-ffi (including the message-exchange C example) and nim-bindings - drop core/conversations' unused safer-ffi dependency plus the leftover C artifact crate-types: staticlib on core/conversations, cdylib on double-ratchets (neither crate has extern "C" exports) - flake.nix: drop the default package (it built libclient_ffi.a plus its header); keep the logos-delivery package and the dev shell - ci.yml: drop the C FFI smoketest steps (valgrind included), the rustup install the smoketest no longer needs, and the nix-build job that built the removed default package - ADR 0001: point the FFI-compatibility driver at the downstream C API boundary instead of crates/client-ffi
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.
Description
Languages
Rust
99.5%
Nix
0.5%