kaichaosun
54eb8edee4
chore: params postion
2026-04-09 12:00:32 +08:00
kaichaosun
31792d2db1
feat: clean context
2026-04-09 12:00:32 +08:00
kaichaosun
033b6a7c50
feat: move convo store to private v1
2026-04-09 12:00:31 +08:00
kaichaosun
9c6d79d575
feat: move private store out of context
2026-04-09 12:00:29 +08: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
8e8b0c0dd7
Use inbox to handle save and load ephemeral key from store ( #81 )
...
* feat: move inbox store out from context
* chore: clear boundary between context and inbox to store dependencies
2026-04-08 11:07:23 +08: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
d905de3592
Remove Legacy FFI from LibChat ( #80 )
...
* Remove libchat legacy FFI
* Remove legacy nim bindings
* Remove stray headerfile
* Remove deprecated CI jobs
2026-04-01 12:54:27 -07:00
kaichao
8cddd9ddcf
refactor: use new styling for conversations crate without mod.rs ( #72 )
...
* refactor: use new styling for conversations crate without mod.rs
* refactor: remove put crate for identity types
2026-03-27 10:23:33 +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