Prem Chaitanya Prathi
5a6a8c210f
perf(mix): don't block node startup on kad DHT bootstrap
...
Mounting Kademlia for fleet mix-discovery put KadDHT.start()'s blocking
initial bootstrap (iterative self-lookup + per-bucket refresh) onto the
switch.start() critical path, so node start (and the UI 'Starting...')
waited for discovery to converge. Set disableBootstrapping=true so the
node comes up immediately; the mix pool fills in the background via the
maintenance + service-lookup + top-up loops.
2026-06-26 13:43:16 +05:30
Prem Chaitanya Prathi
556b456eb3
perf(mix): drop kad discovery interval 60s->15s (faster mix-pool bootstrap)
2026-06-26 12:30:42 +05:30
Prem Chaitanya Prathi
b24bc975da
feat(mix): decouple libp2p peerId from RLN membership
...
The node keeps its own (random) peerId and loads the SELECTED membership credential by
copying rlnKeystoreSource -> rln_keystore_<peerId>.json before mountMix. Lets many
instances share an RLN membership without colliding on a peerId. New config field
rlnKeystoreSource (parsed in client_api).
2026-06-26 10:52:30 +05:30
Prem Chaitanya Prathi
ad4bdcc1a7
feat(mix): kad mix-node discovery for fleet (kadBootstrapNodes)
2026-06-26 07:08:02 +05:30
Prem Chaitanya Prathi
c9dfefa498
feat(mix): mixnet sender-anonymity for Logos Chat (static RLN, no LEZ)
...
Global, restart-based Required/None anonymity mode: route chat messages through the
libp2p mixnet for sender anonymity, on the logos-delivery (efafdfdc2) nwaku stack.
Static RLN spam protection; no on-chain LEZ gifter / dynamic membership.
Delivery (src/chat/delivery/waku_client.nim):
- WakuConfig.mixEnabled/mixNodes/minMixPoolSize; parseMixNodes, waitForMixPool,
getMixPoolSize, mixReady.
- Required mode: sendBytes -> lightpushPublish(mixify=true) over the mix pool,
fail-fast below minMixPoolSize (no relay fallback). None mode: relay publish.
Errors propagate up to chat_send_message.
- Receive via WakuFilter (subscribe to static peers; no relay mounted), refreshed
by a 60s keep-alive.
- Static RLN: pre-populated rln_tree.db + per-peer keystore; nodekey config to adopt
a provisioned identity. No per-send root-convergence wait (static membership).
API / build:
- chat_get_mix_status FFI -> {mixEnabled,mixReady,mixPoolSize,minPoolSize}.
- Reproducible nix build: librln consumed as a cdylib (avoids the two-Rust-staticlib
symbol collision); -d:libp2p_mix_experimental_exit_is_dest.
- vendor/nwaku -> efafdfdc2; vendor/nim-protobuf-serialization -> 38d24eb (0.4.0).
2026-06-25 21:45:41 +05:30
Igor Sirotin
07da6e2dec
feat: use logos.dev fleet ( #87 )
...
* feat: use logos.dev fleet
* fix: cluster id defaults
* docs: comment with host names and peer ids
2026-02-27 18:30:34 +00:00
Jazz Turner-Baggs
c2196c77ee
Identity Simplification ( #71 )
...
* Contract interface for bindings
* Add errorType
* Remove Identity files
* Update Echo_bot
* update cbindings
* Add installation name
* Update tests
* bump libchat dep
2026-02-22 17:51:59 -08:00
osmaczko
240a46e475
fix: update library bindings for libchat integration ( #69 )
2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
ecfe9218c3
Remove unused submodules ( #68 )
...
* Remove uneeded vendored deps
* remove naxoltl
* remove proto definitions
2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
d421690aaf
fix: sender key error ( #67 )
2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
3bfba7cf25
Libchat library Integration ( #55 )
...
* chore: add smoke test and redesign CI workflow (#62 )
Add a smoke test that validates the binary links all dependencies
at runtime by instantiating a client without networking. Redesign
CI into separate build and test jobs, with test gated on build.
* Add libchat module
* Add Context
* Add libchat
* Update to latest libchat
* Remove stale files
* Bump to latest Libchat
* Update imports
* Update client
* Update library to work with Libchat
* Fix examples
* Remove Tui Examples - Replace with logos-core
* Add Indentity Todo
* fix: add `build-libchat` as dependency for examples, tests, and library (#59 )
The Rust liblogos_chat.so was not being built automatically, causing
runtime failures when loading the shared library.
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add Todo for Sender data
* Updated error log
---------
Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-18 22:20:14 +01:00
pablo
ce0f4e2aae
fix: rename Client to ChatClient
2026-01-12 18:16:01 +02:00
Jazz Turner-Baggs
9e999527e5
Update API Delivery Service ( #44 )
...
* Remove WakuCfg from Client
* Update examples
2025-12-17 19:15:47 -08:00
Jazz Turner-Baggs
3eefe3ba5c
Update WakuFleet ( #41 )
...
* Update fleet
* Remove deadcode
2025-12-16 23:16:57 -08:00
Jazz Turner-Baggs
d7af4e09ec
Update Examples ( #40 )
...
* Update examples.
* Update readme
2025-12-16 19:46:19 -08:00
Jazz Turner-Baggs
7ee12eb250
Inbound Path ( #38 )
...
* refactor invite
* Update tests
* Cleanups
* Remove ContentFrame references
2025-12-16 08:20:53 -08:00
Jazz Turner-Baggs
082f63f6c7
Remove contentFrame from Client ( #29 )
2025-12-15 13:55:19 -08:00
kaichaosun
70bd36785c
refactor: remove useless log
2025-12-04 11:51:34 +08:00
kaichaosun
567db393ac
fix: no error when decode failure
2025-12-04 10:45:16 +08:00
kaichaosun
76e65f49b6
chore: async stop process
2025-12-03 17:49:42 +08:00
kaichaosun
09f2af49e9
chore: stop with waku node
2025-12-03 17:35:01 +08:00
kaichaosun
a76af7b2c7
chore: move discovery to ds
2025-12-03 16:20:10 +08:00
kaichaosun
cc01e954ef
feat: dns discovery bootstrap
2025-12-03 15:49:38 +08:00
kaichaosun
eca8b57beb
Merge branch 'main' into fix-decrypt-out-messages
2025-12-01 14:42:58 +08:00
kaichaosun
622fe0a78b
chore: not expose private dh key.
2025-12-01 14:39:49 +08:00
Jazz Turner-Baggs
4700223b84
Rename module from chat_sdk to chat ( #24 )
2025-11-30 20:38:55 -08:00
kaichaosun
523dca43e1
fix: outgoing messages should not be decrypted
2025-11-28 16:09:02 +08:00
Jazz Turner-Baggs
c6e03686fe
fix: swap memcopy param order ( #27 )
2025-11-27 17:24:03 -08:00
Jazz Turner-Baggs
bce9dfe8f4
Remove WakuClient from convo.sendMessage ( #26 )
2025-11-27 10:06:37 -08:00
Jazz Turner-Baggs
07aad9b8b2
Add naxolotl test for DH ratchet step ( #23 )
...
* fix: naxolotl key saving
* chore: add test for DH ratchet step
2025-11-27 10:06:01 -08:00
Jazz Turner-Baggs
26c41313d4
Enable Tests ( #22 )
...
* Enable make tests
* Fix stale tests
* Set test logging level to ERROR
* Update readme
* Formatting changes
2025-11-25 08:14:59 -08:00
Jazz Turner-Baggs
127d16641c
remove dead files
2025-11-24 07:47:42 -08:00
Jazz Turner-Baggs
57715899dd
remove unused imports
2025-11-24 07:47:42 -08:00
Jazz Turner-Baggs
abb3c1a5d2
update domain separator
2025-11-24 07:47:12 -08:00
Jazz Turner-Baggs
f301410418
rename parameters
2025-11-24 07:47:12 -08:00
Jazz Turner-Baggs
bead4b62c2
remove unused parameter
2025-11-24 07:47:12 -08:00
Jazz Turner-Baggs
38218e38da
Update tui
2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
e76556dc39
Add ReceivedMessage type for cleaner api
2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
627e6c8dd9
flatten publickey
2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
a6d54ab180
Add MessageInfo
2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
e3db122dd6
store single participant in privateV1
2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
16aebac0c7
Integrate doubleratchet encryption to PrivateV1
2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
8ff8add31d
Cleanup naxolotl
2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
285b6f2d2e
Add tests + requirements
2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
520ce1cb80
Initial impl
2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
0bf7491cee
Update waku cluster Id
2025-09-26 19:19:21 -07:00
Jazz Turner-Baggs
aefacba0e4
Wire delivery acknowledgements
2025-09-26 17:26:11 -07:00
Jazz Turner-Baggs
f52150ba83
add sendmessages to tui
2025-09-26 16:14:37 -07:00
Jazz Turner-Baggs
2d8de55d43
remove client:name
2025-09-26 15:08:35 -07:00
Jazz Turner-Baggs
d1189ea305
update more exports
2025-09-26 15:04:09 -07:00