Root cause:
- Separate calls to getNowInNanosecondTime() for test message timestamps and sync window boundaries led to mismatched ranges on slower macOS runs.
- This caused in-window messages to be miscategorized as out-window, producing assertion failures (e.g., remoteNeeds.len==0 while diffInWin==18).
Fix:
- Introduce a single fixed baseTime at test start and construct all message timestamps relative to it.
- Define the intended sync window as [baseTime - 1s, baseTime] and compute the reconciliation offset so effective now equals baseTime (offset = actualNow - baseTime).
- Place in-window messages safely inside the window with 50ms margins, and out-window messages well before the window to avoid overlap.
- Use consistent int64 timestamp arithmetic.
Result:
- The test is deterministic and passes reliably on macOS; eliminates the timing race. Recommend running CI matrix (macOS + Ubuntu) to confirm cross-platform stability.
* Adding waku canary test scripts
* Update README file
note: The real author of this commit is Aya. I just resubmitted her PR after a deep nwaku history cleanup
---------
Co-authored-by: aya <ayahassan2877@gmail.com>
* Added connection closeWithEof for protocol handler and clients of lightpush/legacy lightpush and filter (except filer push case)
* Store/Legacy store close connections
note: this enhancement is fully made by Zoltán. Me I just resubmitted it after nwaku history cleanup.
---------
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
* chore: rename Waku API's "Waku Config" to "Protocols" Config
Make it clearer that with this config, we are configuring the Waku protocols, in contrast to other parameters which are more executable related.
* ensure var name matches type
* format
* introduce createNode
# Conflicts:
# apps/wakunode2/cli_args.nim
* remove confutils dependency on the library
* test: remove websocket in default test config
* update to latest specs
* test: cli_args
* align to spec changes (sovereign, message conf, entrypoints
* accept enr, entree and multiaddr as entry points
* post rebase
* format
* change from "sovereign" to "core"
* add example
* get example to continue running
* nitpicks
* idiomatic constructors
* fix enum naming
* replace procs with consts
* remove messageConfirmation
* use pure enum
* rename example file
* fix libpcre installation in Dockerfile for debian:stable-slim
Seems with debian:stable-slim now points to Debian Bookworm and that made libpcre3 deprecated we have a failing docker build.
* remove libpcre3 dependency completely as we dont use Nims std/re regex lib.
* Remove all remaining reference to pcre library in our image builds