Commit Graph
20 Commits
Author SHA1 Message Date
Ekaterina Broslavskaia 91f0581ad5 chore(deps): bump de-mls to the join-time fork fix
A GroupV2 group forks on the first member added after a voted steward election: the joiner missed the election, keeps serving the steward list from before it, and rejects the elected steward's next commit, so the group splits into branches that never converge again.

vacp2p/de-mls#147 closes that. The epoch steward re-shares the elected list once an election ends, a member left without a usable list asks for one, and a consensus session is freed as soon as its outcome is recorded.
2026-08-21 08:43:59 +02:00
Mojtaba Chenani 982a536ea5 feat: expose ConversationClass (serde derive + rename Private→Dm) (#214) 2026-08-19 11:44:05 +02:00
Mojtaba Chenani fa38c47281 chore: add cargo-deny for supply-chain, license, and advisory linting (#215) 2026-08-18 19:06:22 +02:00
Ekaterina Broslavskaia 462a4884c6 feat(group_v2): create a group with its initial members in one commit (#194)
* feat(group_v2): found a group with its initial members in one commit

* test(group_v2): size fast-config timers above transport delay

* update rev

* fix: rollback it the add_member logic

* fix one more fast_config
2026-08-07 14:38:32 +03:00
kaichao 5c55c2ee76 feat: publish key bundles and accounts via logos delivery (#184)
* feat: publish key bundles and accounts via logos delivery

* chore: clear format

* feat: use protobuf for registry

* chore: update chat proto rev

* feat: merge http registry into logos delivery

* chore: renaming chat store for contact registry
2026-07-26 09:10:43 +08:00
Jazz Turner-Baggs c089144dc9 Add group description (#161)
Update config

Update constructor calls

Enable groupContext for GV2

Remove test group type

Add test

temporary dep; waiting for upstream

Remove owner

Doc MLS extension type

Add ConvoMetaInfoVersion

Update infallable function docs

strongly typed metadata

Cleanup tests

Pin de-mls revision

full remove owner
2026-07-10 23:26:05 -07:00
Ekaterina BroslavskaiaandJazz Turner-Baggs 8da9e4da18 feat: inject the GroupV2 time source and timing config (#168)
* add WallClock into groupv2

* switch to main branch, remove custom type

---------

Co-authored-by: Jazz Turner-Baggs <473256+jazzz@users.noreply.github.com>
2026-07-10 16:08:51 -07:00
Ekaterina Broslavskaia ebae3317d6 bump de-mls and adapt group_v2 to its new API (#153) 2026-06-29 15:54:26 +03:00
Ekaterina Broslavskaya e1921b944d remove outdated factories and inline providers from de-mls 2026-06-23 18:08:25 +03:00
Jazz Turner-Baggs 960d0bc119 DeMLS Integration (#134)
* Add WakeupService

* Move Id to trait

* Add GroupV2

* Add convo cache

* Add TestHarness

* Instrument call paths

* Downgrade Ciphersuite

* Update imports

* cleanups

* Add Wakeups to Client

* fix: protoc dependency for ci

* fix: nix hash

* Remove save_conversation for v2

* PR comments
2026-06-15 13:15:18 -07:00
osmaczko 9d9a691fe3 refactor: remove client-ffi and legacy nim bindings (#133)
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
2026-06-15 17:55:58 +02:00
Jazz Turner-Baggs a610117e81 Update Context to accept External Identity Provider. (#127)
* rename .account_id() to .id()

* Create logos-traits crate

* Remove AccountId references

* external IdentityProvider for Context

* Fix compile errors from merge

* Update logos-traits to shared-traits

* format fixes

* warnings cleanup

* clippy fix

* Remove rebase artifact
2026-06-10 06:59:04 -07:00
Jazz Turner-Baggs 6f5838af51 Add crate logos-accounts (#103)
Update InboxV2 to use IdentProvider

Create Full featured Provider

Introduce MlsIdentityProvider

Flatten MLSContext

Cleanup warnings until future integration PR

remove duplicate

Update account_id comments
2026-06-02 15:21:21 -07:00
kaichao 4df23aad63 Include sender information on missing messages (#120)
* feat: prefix sender id

* chore: add message struct for sender info

* chore: refactor struct name for frontier

* chore: reuse duplicate test

* chore: fix clippy

* feat: use sender_id in wire

* chore: remove result

* chore: fix nix build

* chore: bump chat_proto version
2026-06-02 21:55:19 +08:00
Jazz Turner-Baggs b7888c1a70 Dependency cleanup (#100)
* Sort all Cargo.toml deps for less conflicts

* Move relative path deps to workspace

* Standardize workspace imports

* Rename ‘client’ to ‘logos-chat’

* Cleanups
2026-05-20 13:18:25 -07:00
Jazz Turner-Baggs 3245498438 Add GroupV1 + InboxV2 (#92)
* Add GroupV1

* Clean warnings

* Remove dead test

* Re-use components in integration tests

* Remove deadcode

* undo import fixes

* tidy

* Update Accounts + service_traits

* Remove ClientCtx

* Remove duplicate test_utils

* Wrap constructor in result

* Warning fixups

* Appease clippy

* Update comments

* Update todo

* Clean up warnings

* Avoid panic

* Fix libchat import in chat-cli

* Add InboxV2 comment

* Add comments to GroupV1Convo

* Update doc comments

* reduce visibility

* Doc Integration tests

* Hashlen update

* remove type alias for ProtocolParams

* Remove stray printlines

* Review fixes

* PR review changes

* Add trait comments

* chat_proto import paths

* PR Feedback fixes

* Update CliClient

* Update CLI DeliveryService impls
2026-05-19 11:54:54 -07:00
Jazz Turner-Baggsandosmaczko 39bf267564 Add Account Struct (#94)
* Add Account Struct

* Quell Warnings

* Update core/conversations/src/account.rs

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>

* Add clarity to todo

* Update test account constructor docs

* Add removal todo

* Resolve cargo.lock conflict

* remove warnings

---------

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
2026-04-28 07:47:57 -07:00
Pablo Lopez df84fc87cf feat: add flake (#85)
* feat: add flake

* fix: pr feedback

* fix: removing dylib for libchat

not used and it was causing the error with panic abort
2026-04-17 16:27:15 +03:00
kaichao c44c52b127 feat: storage implementation and trait abstraction (#79)
* feat: storage for conversations

* fix: db types conversion

* feat: run migrations from sql files

* feat: persist identity

* fix: revert double ratchet storage refactor

* fix: clean

* refactor: use result wrapper for ffi

* refactor: uniform storage error into chat error

* fix: zeroize identity record

* fix: zeroize for secret keys in db operations

* fix: transactional sql migration

* fix: remove destroy_string

* feat: db storage for inbox ephermeral keys

* chore: remove in memory hashmap for ephemeral keys

* feat: persist conversation store

* feat: wire with the double ratchet storage

* feat: remove conversation store

* chore: fix conversation type not used

* feat: mock chat store implementation

* chore: sqlite module

* feat: sqlite crate

* chore: sqlite rename

* chore: more refactor

* extract ratchet store trait

* chore: clear error conversion

* chore: remove customized db conn

* chore: fix clippy

* chore: refactor to use generics and enum

* chore: further clean for review comments
2026-04-03 08:25:26 +08:00
Jazz Turner-Baggs 9a94f9a6d6 Flatten Repos (#70)
* move to “crates” style folder

* Update workspace

* clear crate names

* Rename crate folders based on feedback

* Use workspace dependencies instead of paths

* Move updated files from core
2026-03-24 18:21:00 -07:00