43 Commits

Author SHA1 Message Date
Jazz Turner-Baggs
4c6286234b
Core_client refactor 2026-05-10 23:08:18 -07:00
Jazz Turner-Baggs
b13959f6d5
make group_v1 private 2026-05-02 12:57:48 -07:00
Jazz Turner-Baggs
6ba8bbc9ce
Make conversations generic over IdentityProvider 2026-05-02 09:50:55 -07:00
Jazz Turner-Baggs
e8ffc9d48e
Remove naming conflict with Signatures 2026-05-02 09:49:19 -07:00
Jazz Turner-Baggs
b64abc1618
Standardize workspace imports 2026-05-02 09:49:16 -07:00
Jazz Turner-Baggs
05e4697514
Move relative path deps to workspace 2026-05-01 13:25:35 -07:00
Jazz Turner-Baggs
8988fb0d26
Sort all Cargo.toml deps for less conflicts 2026-05-01 12:24:47 -07:00
Jazz Turner-Baggs
df35abe19a
PR Feedback fixes 2026-05-01 10:33:51 -07:00
Jazz Turner-Baggs
a162729d32
chat_proto import paths 2026-04-30 07:49:22 -07:00
Jazz Turner-Baggs
e56c9578c0
Add trait comments 2026-04-30 07:44:29 -07:00
Jazz Turner-Baggs
a8e83ccaa7
PR review changes 2026-04-30 07:11:04 -07:00
Jazz Turner-Baggs
710c0bab1b
Review fixes 2026-04-29 23:02:19 -07:00
Jazz Turner-Baggs
e4cebe79db
Remove stray printlines 2026-04-29 22:58:50 -07:00
Jazz Turner-Baggs
56f48c6a38
remove type alias for ProtocolParams 2026-04-29 08:11:25 -07:00
Jazz Turner-Baggs
fbb64408d1
Hashlen update 2026-04-29 07:18:14 -07:00
Jazz Turner-Baggs
7ceb15b763
reduce visibility 2026-04-28 16:39:51 -07:00
Jazz Turner-Baggs
78b085895c
Update doc comments 2026-04-28 15:52:09 -07:00
Jazz Turner-Baggs
4675e121ae
Add comments to GroupV1Convo 2026-04-28 15:05:57 -07:00
Jazz Turner-Baggs
ef360ae130
Add InboxV2 comment 2026-04-28 14:22:40 -07:00
Jazz Turner-Baggs
3fdddfb233
Update todo 2026-04-28 10:02:45 -07:00
Jazz Turner-Baggs
06690ac2a6
Update comments 2026-04-28 10:00:25 -07:00
Jazz Turner-Baggs
4737ae0f06
Appease clippy 2026-04-28 09:50:23 -07:00
Jazz Turner-Baggs
94a2904c0e
Warning fixups 2026-04-28 08:30:41 -07:00
Jazz Turner-Baggs
da7e06e495
Wrap constructor in result 2026-04-28 08:30:41 -07:00
Jazz Turner-Baggs
60e728576a
Remove duplicate test_utils 2026-04-28 08:30:41 -07:00
Jazz Turner-Baggs
d8e15dc8d6
Remove ClientCtx 2026-04-28 08:21:31 -07:00
Jazz Turner-Baggs
3bf8ecb904
Update Accounts + service_traits 2026-04-28 08:17:05 -07:00
Jazz Turner-Baggs
def297f132
tidy 2026-04-28 08:13:13 -07:00
Jazz Turner-Baggs
246ab8dcf9
undo import fixes 2026-04-28 08:13:13 -07:00
Jazz Turner-Baggs
aa380adb37
Re-use components in integration tests 2026-04-28 08:13:13 -07:00
Jazz Turner-Baggs
d9904ad3b0
Remove dead test 2026-04-28 08:13:13 -07:00
Jazz Turner-Baggs
1d1a3a170e
Clean warnings 2026-04-28 08:13:13 -07:00
Jazz Turner-Baggs
af3ff3c6a2
Add GroupV1 2026-04-28 08:13:12 -07:00
Jazz Turner-Baggs
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
6c7b3a4252
feat: chat cli demo app (#87)
* chore: remove ffi from double ratchet

* chore: format

* feat: chat cli demo app via file transport

* chore: fix the compile issues

* chore: fix long intro copy to clipboard

* chore: move chat cli to bin folder

* chore: use tmp data folder

* chore: update doc

* chore: use encrypted db with default db pass

* chore: fmt and clippy

* chore: fix clippy and refactor

* chore: utils for helper funcs

* chore: rename sessions to chats
2026-04-17 14:43:04 +08:00
kaichao
9cc73622ed
Move double ratchet storage operations to PrivateV1 (#82)
* feat: move private store out of context

* feat: move convo store to private v1

* feat: clean context

* chore: params postion

* chore: use git exclue for justfile
2026-04-10 08:33:58 +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