From e617527c472cf2c492ee90953799c4336ae8b7d9 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Mon, 2 Jun 2025 14:32:36 +1000 Subject: [PATCH] add foundation for communities optimization milestone --- FURPS/application/status_go.md | 2 +- FURPS/application/statuscommunities.md | 36 +++++++++++++++++++ draft-roadmap/README.md | 1 + ...foundation_for_communities_optimisation.md | 22 ++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 FURPS/application/statuscommunities.md create mode 100644 draft-roadmap/foundation_for_communities_optimisation.md diff --git a/FURPS/application/status_go.md b/FURPS/application/status_go.md index 8b83969..338885e 100644 --- a/FURPS/application/status_go.md +++ b/FURPS/application/status_go.md @@ -6,7 +6,7 @@ ## Usability -1. Status Desktop CI builds with +1. Status Desktop CI run additional builds that uses nwaku. ## Reliability diff --git a/FURPS/application/statuscommunities.md b/FURPS/application/statuscommunities.md new file mode 100644 index 0000000..a2637f1 --- /dev/null +++ b/FURPS/application/statuscommunities.md @@ -0,0 +1,36 @@ +# Status Communities FURPS + +Waku specific FURPS, before Chat SDK integration. + +## Functionality + +1. Waku traffic from Communities protocol is segregated from other traffic. +2. Waku traffic from all Communities is routed through a common set of shards. +3. Communities user content traffic is segregated from other Communities traffic. +4. The usage of Waku content topic by Status Communities protocol is simplified. + +## Usability + +1. Users with Communities features deactivated are not impacted by Communities traffic of other users. +2. It is possible to setup different Waku store databases, and different retention time for user content and other Communities messages. +3. Store responsiveness and edge node readiness are improved. + +## Reliability + +1. No regression on Communities feature (Vac-QA). + +## Performance + +1. Time to setup filter subscriptions for Communities has improved by >20% (**Vac-DST**). +2. Time to retrieve 24 hours of Communities messages has improved by >20% (**Vac-DST**). +3. Increased community traffic does not increase bandwidth usage of 1:1 chat (**Vac-DST**). + +## Supportability + +1. Status Mobile, Desktop, Light and relay modes. +2. Newly created communities only. + (TODO: confirm this is still the plan) + +## + (Privacy, Anonymity, Deployments) + +1. ... \ No newline at end of file diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index 5d76f07..725b366 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -81,6 +81,7 @@ Testing out new format, once approved: - [Define and Implement Peer-To-Peer Reliability Strategies](./define_p2p_reliability.md) - [Introduce E2E Reliability in Status Communities](./introduce_e2e_reliability_in_status.md) +- [Foundation for Communities Optimisation](/draft-roadmap/foundation_for_communities_optimisation.md) - [Deploy RLN Onchain Tree on L2 Testnet](/draft-roadmap/deploy_rln_onchain_tree_on_l2_testnet.md) - [Integrate nwaku in Status Desktop, relay mode only](/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md) - [Define Incentivisation for RLNaaS](/draft-roadmap/define_incentivisation_for_rlnaas.md) diff --git a/draft-roadmap/foundation_for_communities_optimisation.md b/draft-roadmap/foundation_for_communities_optimisation.md new file mode 100644 index 0000000..d2bcdf1 --- /dev/null +++ b/draft-roadmap/foundation_for_communities_optimisation.md @@ -0,0 +1,22 @@ +# [Foundation for Communities Optimisation](https://github.com/waku-org/pm/milestone/31) + +**Estimated date of completion**: 7-Apr-2025 - to be reviewed TODO + +**Resources Required for 2025H2**: +- App/Chat engineer: Pablo 100% for X months - TODO + +Once completed, the usage of content topics by Communities will be simplified, +enabling both improvements in terms of store queries and light mode message reception, +but also enabling future optimization and improvements at a lower cost. +Moreover, Communities traffic will be separated from other functionalities. +This enables easy bandwidth and performance improvements (remove usage of relay for large messages, +reduce message retention and hence DB size for control messages), as well as protecting users that do not +use communities from Communities traffic. +Finally, Communities traffic will be segregated in a few shards, per message types; +enabling future bandwidth or performance optimization such as setting up different DB per message type, +reducing retention time for control messages, or disabling the usage of relay for large messages. + + +**FURPS**: [Status Communities](/FURPS/application/statuscommunities.md): all. + +**Milestone and deliverables**: https://github.com/waku-org/pm/milestone/31 \ No newline at end of file