Highlights
- Logos Delivery:
- v0.40.0-rc.0 tagged (#4609).
- store sync is back on in status.prod, with three reconciliation bugs fixed (#4621, #4626, #4642).
Logos Delivery
Messaging API — General Availability
-
[Deliverable] Messaging API reliability and scale validation with DST
- achieved:
- better traceability of the messaging API send journey, to ease DST analysis (#4654).
- achieved:
-
[Deliverable] Address Messaging API issues found by DST
- achieved:
- Fix store resume refuses almost all fetched history.
- fix(health): use the weakest shard mesh for the Core status (#4655).
- fix(edge): redial static nodes that were down at start (#4569).
- list and redial an inbound peer at its listen address, not at the ephemeral source port of its connection (#4658).
- next:
- health: reset edge shard health at stop (#4661), report shard health at each content topic subscribe (#4662).
- fix(store): dial the configured store nodes in the background (#4660); resend through lightpush on a store miss (#4575).
- fix(relay): do not hand a node’s own publish to its subscribers (#4664); leave the node stopped after a failed start (#4665).
- achieved:
Delivery — Released Monthly
- [Deliverable] Release
logos-deliveryv0.40- achieved:
- chore: prepare release v0.40.0 (#4609) — v0.40.0-rc.0 tagged.
- next:
- finish the release, tracked by #4601.
- achieved:
Delivery — Technical Debt Halved
-
[Deliverable] Bump dependencies
- next:
- Fix #4644: bump the Nim compiler to 2.2.12 (#4649).
- build: bump nim-sds to v0.4.0-rc.6 (sds-go-bindings#33).
- next:
Delivery — Target Architecture Agreed
- [Deliverable] Draw the target architecture
- achieved:
- the Kernel merge PR train was closed in favour of one component at a time, each with its own issue: a new Discovery component owned by Waku (#4674), a separate
Protocolstype owned by KernelNode (#4677), rename Waku to Kernel without breaking consumers (#4675), per-protocolhealth.niminstead of one monitor checking each protocol (#4676).
- the Kernel merge PR train was closed in favour of one component at a time, each with its own issue: a new Discovery component owned by Waku (#4674), a separate
- achieved:
Store Sync — DST Signed Off
-
[Deliverable] Review implementation of Store Sync protocol
- achieved:
- fix(store-sync): encode and decode same-timestamp bounds against the previous bound, as WAKU-SYNC defines (#4621, closes #4574).
- Fix #4602: count a promised message as present before it arrives, so a second round does not queue it again (#4642).
- fix(store-sync): keep archive-rejected relay messages out of the sync index (#4626) — a message the archive refused as too old was still indexed, so the node offered what it does not hold.
- Fix #4657: split store sync’s
processRequestinto smaller helpers (#4659).
- achieved:
Logos Chat
Chat — Self-Healing Groups
- [Deliverable] Integrate SDS
- achieved:
- Upgrade to logos-delivery-rust-bindings for the latest version of delivery (#297).
- achieved:
Chat — de-MLS v5 Integrated
Status
Status: Logos Delivery Integration
-
[Deliverable] Status: prepare the network for the Messaging API
- achieved:
- store: add a 30 day time retention for prod (infra-status#74).
- achieved:
-
[Deliverable] Status: build and link Logos Delivery in status-go and status-app
- achieved:
- status-go resolves and builds nim-sds through Nimble (status-go#7757, closes status-go#7874), on nim-ffi v0.3 (status-go#7877) and bumped past the iOS common-symbol fix (nim-sds#114, status-go#8011).
- Leopard-RS builds with gcc on Windows (nim-leopard#30, #4667).
- propsed a new approach to using Nimble in libraries for simple use in non-Nim clients; summarized in these draft PRs:
- build the Nim libraries with plain
nim cfrom status-go’s own Nimble resolution: nim-sds (nim-sds#115, nim-sds#117, sds-go-bindings#37, status-go#8014, status-go#8042) andliblogosdelivery(#4668, go-bindings#156, status-go#8017). - go-bindings delegate mobile builds fully to logos-delivery (go-bindings#154).
- build the Nim libraries with plain
- next:
- status-app: build nim-sds with plain nim (status-app#23010) and move the app’s Nim build to Nimble (status-app#23053).
- achieved:
-
[Deliverable] Messaging API: close the gaps Status needs
- achieved:
- store peer selection: each preset lists its network’s store nodes (#4641), and a node can query only its configured store nodes, reported through node info (#4638).
- go-bindings read the preset’s store nodes and the max message size through
get_node_info(go-bindings#155, go-bindings#153).
- achieved:
-
[Deliverable] Status: replace go-waku with Logos Delivery in status-go
- achieved:
- report a send that fails before the envelope monitor tracks it (status-go#8020).
- next:
Sendreturns a request ID instead of the message hash (status-go#8021, status-go#7923).- review the logos-delivery backend next to go-waku (status-go#7919) and its store queries, peers and metrics (status-go#7929).
- achieved:
Maintenance
- achieved:
delivery-agentskill: an autonomous workflow foragent-friendlyissues, PRs opening as drafts (#4625, implements #4624), autonomous mode (#4629) and assignee tagging in its comments (#4656).- SDS: a smaller default bloom filter, 500 at 0.01 instead of the ~18.75 KB filter on every message (nim-sds#112, closes #4606).
- fix(archive): count hash lookups under the messages_lookup query metric again (#4622, closes #4598).
- feat(presets): bootstrap logos.dev plugin Kademlia from libp2p_module hosts (#4581).
- upstream: resetting the stream on an oversized pubsub frame landed (libp2p#3320), closing #4608.
- next:
- waku.test: decommission the fleet (infra-waku#52).