27 Commits

Author SHA1 Message Date
kaichaosun
c3502113ae
chore: remove unused file 2026-02-05 12:36:48 +08:00
kaichaosun
0f6414e425
chore: ping pong example in rust 2026-02-05 12:20:36 +08:00
kaichaosun
67073a13de
chore: refactor context to be ffi specific, add chat.rs for manage chat experience. 2026-02-05 12:12:08 +08:00
kaichaosun
a5943ae9ff
chore: merge main 2026-02-04 12:27:18 +08:00
kaichaosun
0ddfd3f3f3
chore: reanme session to chat 2026-02-04 12:17:36 +08:00
kaichaosun
cc6988d8ac
chore: change signature of decrypt_frame back and allow dead code for it. 2026-02-04 10:22:00 +08:00
Jazz Turner-Baggs
d5c16f51de
Integrate DR into PrivateV1 (#32)
* Add crate

* Initialize session

* Add encrypt / decrypt
2026-02-03 15:17:45 -08:00
kaichaosun
0ca0bb9548
chore: isolate ffi functions 2026-02-03 14:53:55 +08:00
kaichaosun
2e48e49a9a
chore: remove crypto for identity 2026-02-03 14:42:10 +08:00
kaichaosun
572ae6d954
chore: fix dead code 2026-02-03 13:21:50 +08:00
kaichaosun
2a9fe1c8e5
chore: use inbound and outbound for session 2026-02-03 13:15:16 +08:00
kaichaosun
6c54bbd79d
chore: refactor conversations 2026-02-03 12:39:10 +08:00
kaichao
74695877fa
Split storage crate to abstract database layer (#30)
* feat: shared storage crate

* chore: remove backup codes

* chore: remove feature gates

* chore: clean out of order demo

* chore: refactor create session

* chore: shorten error name

* chore: clean errors

* chore: remove table exist check

* chore: remove unused traits

* chore: remove unused functions.

* chore: use tempfile for examples
2026-02-03 09:39:02 +08:00
Igor Sirotin
7c580b5896
docs: added licenses (#33)
* docs: added licenses

* docs: fix licenses
2026-01-30 15:46:36 +00:00
Jazz Turner-Baggs
5a98258ff1
Implement Content::send_content (#31)
* Implement Content::send_content

* rename stamp fn
2026-01-29 08:36:18 -08:00
kaichao
10940321ff
Encode ratchet sate for serialization (#20)
* feat: costom encode for double ratchet

* chore: correct capacity

* chore: refactor reference

* chore: reader for parse bytes

* chore: extract reader

* chore: example with persist state.

* chore: update example

* chore: implement serde compatibility.

* chore: as_bytes

* chore: zerorize the secrec material

* chore: use as_types to return reference for static key.

* chore: extract example from basic demo
2026-01-29 09:19:52 +08:00
Jazz Turner-Baggs
1f0354f8e2
Add FFI functions for send_content and handle_payload (#29)
* Add api calls for handle_payload and send_content

* Add handle_payload and send_content to FFI
2026-01-28 10:50:41 -08:00
Jazz Turner-Baggs
1cb1ffc996
Nim FFI Wrapper for LibChat (#25)
* remove unneeded code

* Update comment style

* Update Nim side to support safer_ffi

* Fix Introduction from impl

* Updates
2026-01-28 10:38:08 -08:00
Jazz Turner-Baggs
15bb395475
Rust API - conversation creation (#24)
* Adds final changes for rust side API

* Add Safer_ffi impl

* Simplify api

* Add const handle offset
2026-01-28 09:59:07 -08:00
kaichao
8e2b5211b4
Managed data storage for Ratchet state (#21)
* feat: managed persist storage with sqlite

* chore: sync skipped keys

* chore: refactor

* chore: refactor

* chore: clean code

* chore: export skipped keys from state.

* chore: renaming data to record

* chore: remove types from stroage mod file
2026-01-28 14:54:16 +08:00
Jazz Turner-Baggs
4b1069a4a8
Use PayloadData for outbound datatype (#23)
* Add Introductions (#22)

* Move to Payload data

* compute delivery_address
2026-01-27 16:17:04 -08:00
Jazz Turner-Baggs
d40e72be9b
Add Introductions (#22) 2026-01-26 08:53:44 -08:00
Jazz Turner-Baggs
fe23c39321
PrivateV1 Convo Initialization via Inbox (#13)
* Load orginal protofiles

* Change package name

* Add prost generation

* Remove placeholders

* Add generated files + imports

* replace with chat-proto

* Add XK0

* auto formatting

* Initial implementation of PrivateV1 initialization

* Add ConvoFactory trait

* Hook up indentity placeholder

* Remove RemoteInbox until it’s needed

* Simplify Identity ownership

* Clean up x3handshake

* Move inbox encryption

* Simplify inbox encryption

* Cleanup warnings

* Add todos

* Update chat-proto crate

* Publickey Handling

* Reorg Inbox handshake

* Update Inbox convoId

* Remove file structure headers

* Update ConvoID

* Add Domain Separator trait

* Remove Convo trait functions

* Rename Context

* Add SecretKey

* Add workspace dependency

* update KE name

* Update comments for clarity

* Remove Xk0 references

* Bump chat_proto version and relock
2026-01-21 15:39:09 -08:00
kaichao
58392841cd
Double ratchet FFI usage in Nim (#14)
* feat: ffi

* feat: ffi interface and header generation

* feat: nim ffi example

* chore: doc

* fix: encrypt state clean

* chore: zeroize when drop
2026-01-21 17:24:20 +08:00
kaichao
fc76453f4c
Implement double ratchet (#9) 2026-01-15 08:47:02 +08:00
Jazz Turner-Baggs
04d6f8a84b
Add Project scaffolding (#1) 2025-12-22 09:40:46 -08:00
Jazz Turner-Baggs
afefa3c5a2
Initial commit 2025-12-20 22:34:08 -08:00