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
osmaczko
d68c0cb275
feat: implement Client crate and C FFI bindings ( #73 )
...
Implement a `client` crate that wraps the `libchat` context behind a
simple `ChatClient<D>` API. The delivery strategy is pluggable via a
`DeliveryService` trait, with two implementations provided:
- `InProcessDelivery` — shared `MessageBus` for single-process tests
- `CDelivery` — C function-pointer callback for the FFI layer
Add a `client-ffi` crate that exposes the client as a C API via
`safer-ffi`. A `generate-headers` binary produces the companion C
header.
Include two runnable examples:
- `examples/in-process` — Alice/Bob exchange using in-process delivery
- `examples/c-ffi` — same exchange written entirely in C; smoketested
under valgrind (to catch memory leaks) in CI
iterates: #71
2026-04-08 23:15:48 +02: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