--- title: 2024-01-22 Waku weekly tags: - waku-updates date: 2024-01-22 draft: --- ## Waku Update - Currently the Waku team is focused on completing the remaining critical TWN Generation 0 Milestone Epics, the Status Integration, and various bug fixes and enhancements. - Waku's development is divided among 5 teams: nwaku, go-waku, js-waku, chat-sdk, and ecosystem-development. - 2024 Milestones and Epics are currently being structured, kickoffs slated begin first week of February. - The [go-waku](https://github.com/waku-org/go-waku) and chat-sdk teams were at the Status integration Doha offsite January 13 - 21. ## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) **Open Epics** - [Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 66% - [Node bandwidth management mechanism](https://github.com/waku-org/pm/issues/66) | [nwaku](https://github.com/waku-org/nwaku) | *not critical* | 0% - [Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 87% - [Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) | [nwaku](https://github.com/waku-org/nwaku) | *critical* | 0% - [Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 40% - [Sharded capability discovery for light protocols](https://github.com/waku-org/pm/issues/63) | [js-waku](https://github.com/waku-org/js-waku) & [go-waku](https://github.com/waku-org/go-waku) | *critical* | 0% - [Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) | [go-waku](https://github.com/waku-org/go-waku) & [research](https://github.com/waku-org/research) | *critical* | 28% - [Basic front end for node operator](https://github.com/waku-org/pm/issues/100) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 83% ## January 22 Update ## [nwaku](https://github.com/waku-org/nwaku) **[TWN Connectivity](https://github.com/waku-org/research/issues/74 "https://github.com/waku-org/research/issues/74")** **[Prepare release 0.24.0](https://github.com/waku-org/nwaku/issues/2343 "https://github.com/waku-org/nwaku/issues/2343")** - **_achieved_**: big picture solutions for TWN connectivity problem , coordinate nwaku v0.24 release candidate - **_next_**: Nwaku v0.24.0 test and release, autosharding/cluster-id error handling, moar connectivity research **[bug: restart loop of current master](https://github.com/waku-org/nwaku/issues/2362 "https://github.com/waku-org/nwaku/issues/2362")** - **_achieved_**: investigated, found the root cause and solution. Afterwards, got requested a change in logging, implemented it and raised PR. - **_next_**: get confirmation that the change in logging meets Infra’s needs and get the PR reviewed and merged **[feat: REST API - large messages does not seem to be rejected by relay auto api](https://github.com/waku-org/nwaku/issues/2284 "https://github.com/waku-org/nwaku/issues/2284")** - **_achieved_**: developed and tested an initial working implementation - **_next_**: after talking to Franck, will implement it differently with a more generalized message verification logic **[chore: improve POST /relay/v1/auto/messages/{topic} error handling](https://github.com/waku-org/nwaku/pull/2339 "https://github.com/waku-org/nwaku/pull/2339")** - **_achieved_**: fix compilation errors, open PR, implement feedback and merge **[bug: incomplete data sent or received log appearing when WSS is enabled](https://github.com/waku-org/nwaku/issues/2245 "https://github.com/waku-org/nwaku/issues/2245")** - **_achieved_**: investigated code, ran private images with logs on nim-libp2p and analyzed results. Talked to nim-libp2p team to further understand where the failure happens - **_next_**: investigate further with the new understanding after talking with nim-libp2p team **[chore: review waku-simulator deployment and improve tracking processes](https://github.com/waku-org/nwaku/issues/2342 "https://github.com/waku-org/nwaku/issues/2342")** - **_achieved_**: found that simulator’s nwaku image wasn’t getting updated with latest master. Requested Infra for the fix and verified afterwards that it’s working properly - **_next_**: talk with stakeholders to see what metrics/logs we should keep track of and how **[bug: Filter doesn't receive messages after subscribing and restarting](https://github.com/waku-org/nwaku/issues/2175 "https://github.com/waku-org/nwaku/issues/2175")** - **_achieved**:_ investigated and fixed cause of failing test **[chore: Refactor of FilterV2 subscription management with Time-to-live maintenance](https://github.com/waku-org/nwaku/pull/2341 "https://github.com/waku-org/nwaku/pull/2341")** - **achieved**: Filter V2 subscription management reworked: new Time-to-live tracking, configurable limits of peers served and suvbscriptions per peer. Subscription per request is raised from 30 to 100 (hardcoded) **[bug: access-control-allow-origin should be set to localhost](https://github.com/waku-org/nwaku/issues/2223 "https://github.com/waku-org/nwaku/issues/2223")** - ***achieved***: Alignment with Eugen (presto and chronos maintainer) is made upon the solution to be applied on presto rest server class. - ***next***: Once new desing is ready and pushed to presto library, we can add the already prepared "allowed origin" matching mechanism that will enable proper CORS header in response to rest request. **[feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032 "https://github.com/waku-org/nwaku/issues/2032")** - ***next***: measurement of usage rates of store protocol to be added (also add to grafana dashboard), add configurable limits (query per sec/min) ## [js-waku](https://github.com/waku-org/js-waku) **[chore: upgrade lip2p](https://github.com/waku-org/js-waku/issues/1772 "https://github.com/waku-org/js-waku/issues/1772")** **[feat: set cluster ID as optional when specifying shard info](https://github.com/waku-org/js-waku/pull/1780)** **[feat: Peer management with shard as a dimension](https://github.com/waku-org/js-waku/issues/1505 "https://github.com/waku-org/js-waku/issues/1505")** - ***achieved:*** - upgrade libp2p to 1.X - improved how params are handled between consumer-facing and internal functions - fix failing tests for autosharding peer mgmt **[allow user to pass content topic to createSubscription](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764")** **[feat: sdk function to setup autosharding node with application and version](https://github.com/waku-org/js-waku/issues/1783 "https://github.com/waku-org/js-waku/issues/1783")** **[feat: determine bootstrap behavior based on sharding type](https://github.com/waku-org/js-waku/issues/1770 "https://github.com/waku-org/js-waku/issues/1770")** - ***next:*** - allow creating subscriptions with just content topics - setup node with just application and version - determine boostrap behavior based on sharding type **[Decouple sharding logic from internal classes to SDK](https://github.com/waku-org/js-waku/issues/1808 "https://github.com/waku-org/js-waku/issues/1808")** - ***blockers:*** - need review of issue for decoupling sharding logic **[feat: simplify rln-js](https://github.com/waku-org/examples.waku.org/pull/297 "https://github.com/waku-org/examples.waku.org/pull/297")** **[feat: simplify API of bootstrapping, connection to MetaMask](https://github.com/waku-org/js-rln/pull/92 "https://github.com/waku-org/js-rln/pull/92")** **[chore: investigate interop test failures](https://github.com/waku-org/js-waku/pull/1792 "https://github.com/waku-org/js-waku/pull/1792")** **[chore: fix go-waku interop tests](https://github.com/waku-org/js-waku/pull/1806 "https://github.com/waku-org/js-waku/pull/1806")** - ***achieved:*** - Simplified `rln-js` - Step 1 to improve API - interop tests with nwaku - identified problems with go-waku **[User Pays Own RLN Membership](https://github.com/waku-org/pm/issues/109 "https://github.com/waku-org/pm/issues/109")** - ***next:*** - new cred registration example (based on prev examples) - continue with improvements - action if needed to improve testability with go-waku - some bugs found in rln **[feat!: protocols filter peers per shard](https://github.com/waku-org/js-waku/pull/1756 "https://github.com/waku-org/js-waku/pull/1756")** **[feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463")** - ***achieved:*** - merged: sharded peer management - merged: redundant peers for lightpush & filter **[feat: local storage as a discovery layer](https://github.com/waku-org/js-waku/pull/1811 "https://github.com/waku-org/js-waku/pull/1811")** **[feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463")** - ***next:*** - Introducing Local Storage as a discovery layer, handle renewing of _faulty_ redundant peers (TODO 3) on [feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463") ## [go-waku](https://github.com/waku-org/go-waku) **[bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459")** - ***achieved:*** - investigated and identified the root-cause of [bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459") and provided a solution - started documenting tips/approach to help message loss debug issues for status QA both from status-go and waku perspective [Debugging](https://www.notion.so/Debugging-Message-Loss-f1c516d37be741188530ac707d5b8f2e?pvs=4 "https://www.notion.so/Debugging-Message-Loss-f1c516d37be741188530ac707d5b8f2e?pvs=4") - ***next:*** - investigate and identify root-cause of message loss while using relay ⁠Unable to Receive msgs while us… - finish documenting message loss debugging **[bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459")** **[Contact requests are not received without restart](https://github.com/status-im/status-desktop/issues/13246 "https://github.com/status-im/status-desktop/issues/13246")** - ***achieved:*** - investigation with Jakub and Igor to find out the reason why store request were taking a long time to be retrievedsage reliability issues were present on CI for filter. - investigate and fix [Contact requests are not received without restart](https://github.com/status-im/status-desktop/issues/13246 "https://github.com/status-im/status-desktop/issues/13246") (some commits were missing in desktop `master` branch. - Status x Waku war room at Doha - ***next:*** - fix issues reported in ⁠status ## eco-dev **[[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and Vue.js](https://github.com/waku-org/bounties/issues/14 "https://github.com/waku-org/bounties/issues/14")** - ***achieved***: - thorough review and feedback - ***next:*** - final review and approval **[add content topic buckets consideration](https://github.com/waku-org/docs.waku.org/pull/153 "https://github.com/waku-org/docs.waku.org/pull/153")** - ***achieved:*** - merged **[add content topic buckets consideration](https://github.com/waku-org/docs.waku.org/pull/153 "https://github.com/waku-org/docs.waku.org/pull/153")** on content topic consideration, playing around with Noise encryption **[[Epic] Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125 "https://github.com/waku-org/docs.waku.org/issues/125")** - ***next:*** - creating an initial draft for Noise docs, go-waku docs migration - ***achieved :*** - completed and recorded videos with 2 teams for builder spotlight, positioning call is completed, revised the cheatsheet based on ethindia feedback - ***next :*** - get the videos reviewed