roadmap/content/waku/updates/2024-07-22.md

123 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 2024-07-22 Waku Weekly
tags:
- waku-updates
date: 2024-07-22
---
## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28)
- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131)
- achieved:
- [research] Proof of concept of store testing with waku-simulator
- next:
- [research] Storev3 test plan and integrating tools for testing
- blockers:
- [research] Some complexities around merging/testing, currently handled by nwaku team
- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66)
- achieved:
- [nwaku] BW metrics per shard: implemented per shard metric collection [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945)
- [nwaku] Added dashboard panels for relay per shard traffic
- [nwaku] Added dashboard panels for non-relay protocols data traffic
- [nwaku] Added dashboard panels for non-relay protocols request rates
- [nwaku] Released [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032)
- Added per peer filtering of high users
- Load balancing compensation applied to token replenish
- Filter service specific limits for ping and subscribe per peer
- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119)
- achieved:
- [nwaku] Improved and merged Sonda - canary service to check liveness of store nodes
- [nwaku] Merged store-v3 cursor fix [chore(archive): archive and drivers refactor](https://github.com/waku-org/nwaku/pull/2761)
- next:
- [nwaku] PostgreSQL query optimizations [chore: query performance in PostgreSQL by avoiding ordering in queries](https://github.com/waku-org/nwaku/issues/2902)
- [nwaku] PostgreSQL enhance retention policy: [bug: retention policy does not work when postgres db is over loaded](https://github.com/waku-org/nwaku/issues/2890)
- [nwaku] PostgreSQL enhance query performance [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895)
## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29)
- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177)
- achieved:
- [chat] [feat: flag to enable/disable missing message verification](https://github.com/status-im/status-go/pull/5497)
- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178)
- achieved:
- [chat] added support for 2 lightpush peers to be used for better reliability [feat: support for lightpush to use more than 1 peer](https://github.com/waku-org/go-waku/pull/1158)
- [chat] fix metadata protocol from disconnecting light-clients and only use clusterID and accept connections from lightclients [fix: for light node do not check for matching shards but only clusterID](https://github.com/waku-org/go-waku/pull/1154)
- next:
- [nwaku] Little enhancement for network connectivity, use bootstrap enr's to connect to any kind of network and detect shardings
- [nwaku] Auto select service peers and use them randomly for testing on both sides.
- [nwaku] run lite-protocol-tester on shards.staging
- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184)
- achieved:
- [nwaku] started local sqlite registry implementation [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819)
- [chat] config to enable/disable storev3 confirmations for sent messages [feat: flag to enable/disable sent message store query confirmations](https://github.com/status-im/status-go/pull/5493)
- next:
- [nwaku] carry on with implementation [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819)
- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186)
- achieved:
- [js-waku] improved renewal of peers for Filter [feat(filter): peer/subscription renewal with recurring Filter pings](https://github.com/waku-org/js-waku/pull/2052)
- [js-waku] check for missing messages from Filter subscriptions [feat: validate messages for individual filter nodes & perform renewals](https://github.com/waku-org/js-waku/pull/2057)
- [js-waku] peer renewal and keep alive improvements [feat: fix peer renewal, change Filter keep alive](https://github.com/waku-org/js-waku/pull/2065)
- next:
- [nwaku] Implementing: [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722)
- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189)
- achieved:
- [chat] status messages need for e2e reliability collected
- [chat] [fix_: delivered message should not send envelope sent signal](https://github.com/status-im/status-go/pull/5502)
## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30)
- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193)
- achieved:
- [research] implemented ACK handling, request missing messages, resend message
- next:
- [research] comprehensive tests for the poc
## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31)
- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172)
- achieved:
- [research] review of discv5 both spec and nim implementation
- [research] compiled audit of discovery status quo and potential future strategies
- [nwaku] Creating versions for DST team to test discv5 and message reliability
- [nwaku] Proposing new solution to log received message info from nim-libp2p. Created custom version for DST team to use [chore: creating branch to test Waku's received messages](https://github.com/vacp2p/nim-libp2p/pull/1128)
- [nwaku] Started investigating and implementing improvements for connection management of bootstrap only nodes [bug: Node accepts connections when configured for just discovery](https://github.com/waku-org/nwaku/issues/2892)
- [nwaku] Improved logging [chore: improving logging under debugDiscv5 flag](https://github.com/waku-org/nwaku/pull/2899), [chore: logging content topic of spam messages](https://github.com/waku-org/nwaku/pull/2906)
- [nwaku] Investigated at depth discv5s implementation [bug: discv5 not returning enough peers](https://github.com/waku-org/nwaku/issues/2810)
- next:
- [research] review other discovery methods and state of implementation in nim
- [research] review metrics collected and add more if needed
- [research] implement identified discv5 improvement strategies
- [nwaku] Get feedback on nim-libp2ps logging solution
- [nwaku] Refactor code now that named shading is removed, and deprecate pubsub-topic configuration
- [nwaku] Continue discussing and analyzing discv5's performance and possible improvements
## Other Work
### Enhancements
- achieved:
- [chat] [chore: rename shards.staging to status.staging](https://github.com/status-im/status-go/pull/5500)
- [chat] [chore: rename shards.staging to status.staging](https://github.com/status-im/status-desktop/pull/15510)
- [chat] [chore: bump go-libp2p](https://github.com/waku-org/go-waku/pull/1155)
- [chat] enable metadata protocol regardless of cluster-ID used
- [js-waku] [chore: enforce access modifiers](https://github.com/waku-org/js-waku/pull/2068)
- [js-waku] [chore: bump @waku peer dependencies](https://github.com/waku-org/js-waku/pull/2062)
- [js-waku] improve network options handling [chore: throw if more than one network config is passed](https://github.com/waku-org/js-waku/pull/2056)
- next:
- [nwaku] deploy release v0.31.0 [Prepare release 0.31.0](https://github.com/waku-org/nwaku/issues/2909)
### Bugs
- achieved:
- [chat] investigation of slowness to retrieve messages in storenode message counter
- [nwaku] Build nwaku image for Windows - [feature: support Windows 11](https://github.com/waku-org/nwaku/issues/2473)
- next:
- [nwaku] Manage stale peers dynamically with better reliability [fix: peer-exchange issue](https://github.com/waku-org/nwaku/pull/2889#event-13503654152)
- [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875)