158 Commits

Author SHA1 Message Date
Arseniy Klempner
e0f300d4e4
feat: add receiver2 + visual overhaul (topology, heartbeat, phase timeline, arrows) 2026-06-04 14:24:16 -06:00
Arseniy Klempner
49e5742252
fix: use logos-module-builder Qt 6.9.2 — all 4 modules load in host mode 2026-06-04 13:12:58 -06:00
Arseniy Klempner
6ec53e232f
wip: chat host — logos_core_start() blocks due to Qt version mismatch (6.11 vs 6.9.2) 2026-06-04 12:34:58 -06:00
Arseniy Klempner
bb9a2144fe
wip: chat host mode — logos_core_start() blocks, needs investigation 2026-06-04 11:38:02 -06:00
Arseniy Klempner
3f54a2e755
feat(sim-monitor): descriptive chat panels with status pills, phase bars, MSG badges 2026-06-03 23:23:45 -06:00
Arseniy Klempner
052cb11f00
feat: add sim-monitor Qt6/QML dashboard for live simulation monitoring
Standalone Qt6 app that tails the 7 sim log files (.sim_state/) and
renders a live dashboard: sequencer block counter + RPC health probe,
4 mix node dots (grey/yellow/green), gifter status, sender/receiver
chat phase progression, and scrollable chain event stream.

Supports both old (EVENT: stderr) and lgx ([timestamp] [out] [module])
log formats. Handles file rotation on --fresh restart.

Optional --host-chat mode links against liblogos_core for driving a
chat instance via UI controls (Initialize/Start/Bundle/Send).

Build: cd sim-monitor && nix develop --command bash -c \
  "cmake -B build -GNinja && cmake --build build"
Run:   ./build/sim-monitor --state-dir .sim_state --rpc-url http://127.0.0.1:3040
2026-06-03 16:08:15 -06:00
Arseniy Klempner
6a90c01668
build: update Docker image and scripts for v2 branches 2026-05-28 16:44:47 -06:00
Arseniy Klempner
a018b24db6
cleanup: 8-agent code-quality pass post-squash summary
Reports for each of the 8 cleanup agents (DRY, types, unused, cycles,
weak-types, try/except, legacy, slop) recording verdicts + applied
changes + deferred items, plus the consolidated SUMMARY.md.

End-of-pass local sim ALL 15 PASSED.
2026-05-28 14:22:39 -06:00
Arseniy Klempner
f6dbb46924
cleanup(06-try-catch): notes - 3 fixes applied (waitForChainCommit, self-reg watcher, dead poll-loop except) 2026-05-28 13:53:56 -06:00
Arseniy Klempner
253489b3c7
cleanup(01-dry): bytesToHexUpper helper + report
- Bumps vendor/nwaku to d08083c5 (bytesToHexUpper extraction).
- Adds cleanup/01-dry.md report for the DRY pass.

Code change deduplicates three identical hex-encoding loops in the
gifter section of node_factory.nim. Net -4 lines.
2026-05-28 12:09:56 -06:00
Arseniy Klempner
29c64b340d
feat: mix+LEZ+RLN chat over the testnet via 2-phase gifter
Chat-side integration of the LEZ-backed RLN mix protocol:
- src/chat/delivery/waku_client.nim: mount waku_mix with onchain
  RLN spam protection wired to logos_core_client fetchers; gate
  the first publish on (a) gifter status confirmation, (b)
  cushion of 2 poll intervals after confirmation, and (c) proof
  root stability in the local valid_roots window; wrap mix
  lightpush in withTimeout so vanished SURB replies surface as
  Err instead of pinning the send coroutine.
- src/chat/client.nim: surface sendBytes errors via asyncSpawn
  wrapped try/except instead of discarding the future (was
  hiding every mix-publish failure).
- chat-side gifter client invocation (RLN membership service
  wire format, EIP-191 ethereum-allowlist auth).
- Background membership status watcher that reconciles the
  optimistic leaf returned by the gifter against the chain's
  authoritative leaf via the status RPC.

Simulation harness (simulations/mix_lez_chat/):
- Spin up sequencer + run_setup + 4 mix nodes (one of which
  runs the gifter service) + chat sender + chat receiver.
- SIM_NETWORK={local,testnet}, SIM_SLIM for testnet (reuses
  shipped config_account + cached payment_account), Docker
  image + GHCR for cross-platform testing.
- Strict mix-pool readiness gate, kademlia + RLN root activity
  checks, gifter EIP-191 auth fixture, slim-mode submodule
  minimization.
- TREE_ID_HEX pinned to the canonical testnet deployment.

Submodule bumps:
- vendor/nwaku to 8e6ba04 (LEZ-backed RLN mix + 2-phase gifter).
- vendor/logos-lez-rln to 950f287 (SPEL RLN program + mix sim
  infrastructure + canonical testnet deploy).

Docs:
- RUN_SLIM_TESTNET.md: slim sim recipe.
- cleanup/MODE_A_GIFTER_SLOT_BUG.md: per-signer nonce collision
  postmortem driving the queue+worker fix.
2026-05-28 10:53:36 -06:00
osmaczko
15f68f2ec2
chore: use upstream nix (#88) 2026-03-02 12:16:49 +01:00
osmaczko
53302e4373
feat: statically link libchat and rln via rust-bundle (#83)
Add rust-bundle, a single staticlib crate that depends on both libchat
and rln as rlibs. This ensures rustc links Rust std exactly once,
eliminating duplicate symbol errors on all platforms. Nim targets link
against liblogos_chat_bundle.a; Nix uses a bundleDrv instead of
separate libchat and rln derivations.

Reference: https://doc.rust-lang.org/reference/linkage.html#mixed-rust-and-foreign-codebases
2026-03-01 17:27:40 +01:00
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
Igor Sirotin
6fc4c2200a
ci: run nix build on ubuntu and macos (#85)
* ci: run nix build on ubuntu and macos

* ci: use DeterminateSystems/nix-installer-action

* fix: wrong extension for mac

---------

Co-authored-by: pablo <p.lopez.lpz@gmail.com>
2026-02-25 10:38:36 +00:00
Pablo Lopez
a97d8c1717
fix: mac build (#84)
* fix: mac build

- fix error: `error: darwin.apple_sdk_11_0 has been removed as it was a legacy compatibility stub`
- fix librln hash
- bumped nim-ffi

* fix: typo
2026-02-24 15:40:08 -08:00
osmaczko
74fcb612db
chore: bump libchat (#82) 2026-02-23 20:21:55 +01:00
osmaczko
44437c2bb4
ci: reduce CI times by unifying jobs and caching Cargo artifacts (#81)
- Consolidate build and test into a single job to avoid duplicate builds;
  artifact sharing across jobs proved too complex to justify
- NBS was the main bottleneck; this change improves CI duration beyond that
- Add caching for Cargo registry, git sources, and libchat's target
2026-02-23 19:46:36 +01:00
osmaczko
b4706cd6ac
ci: reduce CI times by unifying jobs and caching Cargo artifacts
- Consolidate build and test into a single job to avoid duplicate builds;
  artifact sharing across jobs proved too complex to justify
- NBS was the main bottleneck; this change improves CI duration beyond that
- Add caching for Cargo registry, git sources, and libchat's target
2026-02-23 19:36:16 +01:00
Jazz Turner-Baggs
8155195871
Readme Overhaul (#74)
* Clean main README.md

* remove uneeded information

* clean up name
2026-02-23 07:56:21 -08:00
osmaczko
b2bcc81bdb
feat: add nix flake 2026-02-23 15:58:29 +01:00
Jazz Turner-Baggs
ee5075cc6e
Remove CI Ignore-paths (#77)
* Add gate to detect changes in source code

* Fix action errors

---------

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
2026-02-23 14:20:00 +01: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
Jazz Turner-Baggs
714d97029c
Remove Test-Windows CI Job (#75) 2026-02-22 16:01:02 -08:00
Pablo Lopez
d15bcb0729
Merge pull request #76 from logos-messaging/fix/config
fix: peers and pubsub
2026-02-21 07:57:03 +02:00
pablo
cdafc250e5
fix: peers and pubsub 2026-02-20 13:12:58 +02:00
Jazz Turner-Baggs
3921bd8bbd
Run CI action on push to Main (#72)
* Update ci to run on push to main

* Remove stale actions
2026-02-19 09:13:38 -08:00
Jazz Turner-Baggs
fb347d7974
Merge pull request #66 from logos-messaging/logos_chat_integration
CRC-001 - Integration
2026-02-18 13:53:36 -08:00
Patryk Osmaczko
4e6fcc7ac2
fix: remove stale naxolotl test
src/naxolotl was deleted in #68 but test_naxolotl.nim and its
entry in all_tests.nim were left behind, causing make tests to
fail with "cannot open file: ../src/naxolotl".
2026-02-18 22:20:17 +01:00
Patryk Osmaczko
04f46d1797
fix: re-add vendor/nim-ffi submodule to fix C-bindings build
`requires` in the nimble file alone is not sufficient, NBS never calls
`nimble install` or clones URLs from the `requires` block at build time.
The package must be present as a git submodule for NBS to discover and
link it.

Migrating to `nimble install` is a separate task.
2026-02-18 22:20:16 +01:00
osmaczko
240a46e475
fix: update library bindings for libchat integration (#69) 2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
8ea018d2a9
Rename nims file (#70) 2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
79a5a329c4
Rename Prep (#63)
* Remove Nim-Chat-POC references

* Update nimble file.

* Remove references to ChatSDK as a product
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
osmaczko
1d727c1fcf
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.
2026-02-13 20:44:50 +01:00
Jazz Turner-Baggs
5525f2fb33 Update library references 2026-02-11 10:46:31 -08:00
Jazz Turner-Baggs
3205c71281 Remove libchat naming conflict 2026-02-11 10:46:31 -08:00
Igor Sirotin
d1743126e7
chore: update license files to comply with Logos licensing requirements 2026-02-05 15:12:09 +00:00
Jazz Turner-Baggs
d77bbb6a2a
Fix corrupt submodule (#53) 2026-01-27 07:37:01 -08:00
Jazz Turner-Baggs
e0a5d1551b
Add repo map (#50) 2026-01-21 09:49:03 -08:00
Pablo Lopez
e1a0e18443
Merge pull request #47 from logos-messaging/feat/c-bindings
Feat/c bindings
2026-01-12 18:46:40 +02:00
pablo
ce0f4e2aae
fix: rename Client to ChatClient 2026-01-12 18:16:01 +02:00
pablo
78d90b7b11
fix: using ctx 2026-01-09 11:49:04 +02:00
pablo
0359d19e7b
fix: pr comments 2026-01-09 11:29:14 +02:00
pablo
10b450c043
Merge remote-tracking branch 'origin/main' into feat/c-bindings 2025-12-22 14:15:02 +02:00
pablo
058467771e
feat: libchat C library building and example TUI using it 2025-12-22 14:14:37 +02:00
kaichao
9fd5daa436
bug: fix windows build (#46)
* chore: log build files.

* chore: update nwaku

* chore: use rln 0.9.0

* chore: fix file name

* chore: fix path

* chore: log the released file

* chore: test log

* chore: splite windows test ci

* chore: splite windows test

* chore: update nwaku

* chore: update nwaku

* chore: update windows ci deps

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci
2025-12-21 10:53:49 +08:00
Jazz Turner-Baggs
a1553b74d7
Add API docs (#45) 2025-12-17 19:16:02 -08:00