# Waku v2 + Communities + Message Reliability Dogfooding
Dogfooding & testing for Waku v2, Communities and message reliability will be done together in several phases.
## Phases
- More people will be involved with each phase
- Ideally throw away accounts should be used, at least in the initial phases so we can debug message reliability issues more easily
- All participants need to have Telemetry enabled
- Although dogfooded together waku v2, communities & message reliability are generally independent problems and each might 'graduate' on their own. For example it's possible for waku v2 to be introduced into production without communities and vice versa.
- Each phase implies continous use for one week before moving to the next phase, however in some cases we might skip or speed up phases if we feel confident.
- We remain open to change the scope of phases, for e.g if waku v2 causes message reliability issues we might switch to waku v1 to test communities, or if communities has issues we might switch to focus on testing waku v2 using public channels etc.. (common sense applies)
## dogfooding onboarding
### 1. get builds
~~to get the builds:
windows: https://ci.status.im/job/status-desktop/job/branches/job/windows/job/release_test%252F0.5.0/1/artifact/pkg/StatusIm-Desktop-220518-115922-a51080.exe
linux: https://ci.status.im/job/status-desktop/job/branches/job/linux/job/release_test%252F0.5.0/1/artifact/pkg/StatusIm-Desktop-220518-115922-a51080.tar.gz
mac: https://ci.status.im/job/status-desktop/job/branches/job/macos/job/release_test%252F0.5.0/1/artifact/pkg/StatusIm-Desktop-220518-115922-a51080.dmg~~
~~OR build locally using branch `release/0.5.0` , if building locally please use `make pkg` and install the package.~~
use branch: `dogfooding/phase5` and **important** do `make clean` **important** then do `make pkg` and install the package in the system
### 2. create account and setup settings
1. generate a new account, please use this account as a throwaway since if there is a bug, sharing the data folder with a developer would be useful. (this is optional of course)
2. go to profile -> advanced and enable experimental features: Communities, Activity center, Online users, GIF widget
3. go to profile -> advanced and enable "Full developer mode", this will close the app and needs to be started again
4. ~~reopen, go to profile -> advanced, and select the wakuv2 fleet "status.prod" this will close the app and needs to be started again~~
### 3. request to join community
1. join the #test channel, say hello, look in the history for a link to the community amd click to join the community, this link should be unfurled, if it's not you need to wait until it's loaded
2. update the "phase 3" table with your info
3. once the admin sees the request it will be approved and you will the community in the app
## Phases
| Phase | Participants target | Status | Notes |
| -------- | -------- | -------- |-------- |
| [phase 1](#Phase-1) | 3 | | tag: `dogfood/alpha.1` |
| [phase 2](#Phase-2) | 5 | | `dogfood/beta.1` |
| [phase 3](#Phase-3) | 9 | | `dogfood/gamma.2` |
| [phase 4](#Phase-4) | ~~13~~ 15 + ? | | entire desktop team + other contributors |
| phase 5 | 21 | | (entire desktop team + designers + mobile etc…) |
| phase 6 | 34 | | (status ccs) |
| phase 7 | +55 | | status ccs + community testing |
## Cohort Communities
Dragon cohort will move its group to a community, followed by the wallet cohort, rabbits and rats cohorts.
## Phase 5
branch: `dogfooding/phase5`
issues/wishlist: https://notes.status.im/vW3zZJpQQlWPo0HzPf4DLQ
community: https://join.status.im/c/0x022364a3894d8eae16b890ad3261436541018f0e071d227be516fef04ffc4f5e4b
**new community**
| Name | Throw away account? | Username | Version | Node Type | Chat key |
| -------- | -------- | -------- | -------- |-------- |-------- |
| Jonathan | Yes | Jonathan | 813cddfb1f14940a7199dacbdcb05148976559d3 | normal | `zQ3shsBdiMCeki3yw9BRaQAhCXouxGFTqLA3d2V2wtPH8Kgx1` |
| Michal | Yes | Michal | 813cddfb1f14940a7199dacbdcb05148976559d3 | normal | `zQ3shsGfKEUemYqD3PDu12TuL5bpFbSXqYQUeJZoPNVii9QmA` |
| Iuri | Yes | helium | 813cddfb1f14940a7199dacbdcb05148976559d3 | normal | `zQ3shR69EhQy32LrMw5ygcBqk6KCgtxnr9pP6aL4SrMjjQYgP` |
| patryk | Yes | patryk | 813cddfb1f14940a7199dacbdcb05148976559d3 | normal | `zQ3shZWoPDM85wRfDLcG6doqhL8raQvdZJeCHFLBtxHufPVfR` |
| Mikhail | yes | Mikhail | 813cddfb1f14940a7199dacbdcb05148976559d3 | normal | `zQ3shZupeLXVxPcDfWgYnTHULZW2cipspbY8WDU3sZhyf1XQL` |
|Khushboo | Yes |Khushboo | 813cddfb1f14940a7199dacbdcb05148976559d3|normal |`zQ3shUee9FCGjt7n6YwzhxUNz3dXvTLnThfDGyGuM2jFW5ieM`|
## Phase 4
branch: `dogfooding/phase4`
issues/wishlist: https://notes.status.im/kCvIkaVSQxW1Up84HGpFVw
**new community**
| Name | Throw away account? | Username | Version | Node Type | Chat key |
| -------- | -------- | -------- | -------- |-------- |-------- |
| iurim | yes | iuri | `95326620c` | normal | `zQ3shocvVNqsuEhMExgBfnjJjmHxUfjuSxEW3CxrCsrubYhqp` |
| Jonathan | yes | Jonathan | `95326620c` | normal | `zQ3shsBdiMCeki3yw9BRaQAhCXouxGFTqLA3d2V2wtPH8Kgx1` |
| rramos.eth | yes | richard | `95326620c` | normal | `zQ3shqmR5vmnRVoRsbMSugq4RcsdnjrpYwXe9afSPEGoDwLr3` |
| anthony | yes | anthony | `95326620c` | normal | `zQ3shZtBTfCJiAWoNZQaXENMDMkSLxnHNwqTBGQmGyCykoJYP` |
| Mikhail | yes | Mikhail | `95326620c` | normal | `zQ3shZupeLXVxPcDfWgYnTHULZW2cipspbY8WDU3sZhyf1XQL` |
| Noelia | yes | Noelia | `95326620c` | normal | `zQ3shUT11nc1TdimesG8pfLw7RDwTZq4Mcva3BfYDUV2nt6cW` |
| Sale | yes | SaleDF |`95326620c` | normal | `zQ3shfpYNjxnapymNruENoxNnygGsoneYhV1Teyn78WU3oWyR` |
| Alexandra | yes | AlexTst | `95326620c` | normal | `zQ3shTYy5UgPgjt4cck1YPauk9LuE612auRxm791ugNmdtxAH` |
| Michal | yes | Michal | `95326620c` | normal |`zQ3shwmMSCiGm6MRRZpH82vnaBBXR2yHFMTcyQxLXpr3vMbns`
| Nastya | yes | Nastya | `95326620c` | normal |`zQ3shkS8zsLwKFmtXSa7vDS8r75uU2uMCCGGfJpkXyVBsf6WL`
|Khushboo | Yes |Khushboo | |normal |`zQ3shUee9FCGjt7n6YwzhxUNz3dXvTLnThfDGyGuM2jFW5ieM`|
| Igor | yes | sirotin | `95326620c` | normal | `zQ3shcXUBa26MXa3Hkf966VNhEsJMHrNaMkBnC5ZyS84XpJ1Z` |
**old community**
| Name | Throw away account? | Username | Version | Node Type | Chat key |
| -------- | -------- | -------- | -------- |-------- |-------- |
| iurim | yes | iuri | `95326620c` | normal | `zQ3shoT2neD3tnNgC3juykXHVknY4p48CCgKJZ5hWJFTKHP3N` |
| rramos.eth | yes | richard | `95326620c` | normal | `zQ3shqmR5vmnRVoRsbMSugq4RcsdnjrpYwXe9afSPEGoDwLr3` |
| anthony | yes | anthony | | normal | `zQ3shZtBTfCJiAWoNZQaXENMDMkSLxnHNwqTBGQmGyCykoJYP` |
| Boris | yes | DogBoris | | normal | `zQ3shn2tguPuEtZRbZB3Cyp3aCHwsgx69wrGB2TE4VNWeEZyr` |
| Sale | yes | SaleDF |`95326620c` | normal | `zQ3shfpYNjxnapymNruENoxNnygGsoneYhV1Teyn78WU3oWyR` |
| Pascal | yes | r4bbit | | normal | `zQ3shehH8FrfSJsPRAruxVG3587aTAjnChJi7HsSFYPFUhU43` |
| Mikhail | yes | MikhailTheTester | | normal | `zQ3shZupeLXVxPcDfWgYnTHULZW2cipspbY8WDU3sZhyf1XQL` |
| Noelia | yes | Noelia | | normal | `zQ3shUT11nc1TdimesG8pfLw7RDwTZq4Mcva3BfYDUV2nt6cW` |
| Alexandra | yes | AlexTst | | normal | `zQ3shTYy5UgPgjt4cck1YPauk9LuE612auRxm791ugNmdtxAH` |
| Igor | yes | sirotin | | normal | `zQ3shcXUBa26MXa3Hkf966VNhEsJMHrNaMkBnC5ZyS84XpJ1Z` |
| Nastya | yes | Nastya | | normal | `zQ3shkS8zsLwKFmtXSa7vDS8r75uU2uMCCGGfJpkXyVBsf6WL` |
| Michal | yes | Michal | | normal | `zQ3shrLD2vBDCVUBR7XE3WUTygy8KsPWGigMDLBhHkARKGqGU` |
|Hikka | Yes |Hikka | |normal |`zQ3shpQk3Lei4sWZpfgCSve8HyNP9BKeY1SDfgMMLLWcBiU8j`|
|Jonathan | Yes |Jonathan | |normal |`zQ3shsBdiMCeki3yw9BRaQAhCXouxGFTqLA3d2V2wtPH8Kgx1`|
|Khushboo | Yes |Khushboo | |normal |`zQ3shUee9FCGjt7n6YwzhxUNz3dXvTLnThfDGyGuM2jFW5ieM`|
## Phase 3
commit tag: `dogfood/gamma.2`
**GammaOne Community**
fleet: wakuv2.test
| Name | Throw away account? | Username | Joined? | Node Type | Chat key |
| -------- | -------- | -------- | -------- |-------- |-------- |
| Anthony |Yes | `Active Curly Irishwaterspaniel` | Yes | normal | `0x0435fe01bd94ae123d4a1d95d3ced194a29918bfbd6c55783bfa508b64931a2ebacbb45dfaa94b6e0a3076d9b1fbbbb87a8eb2ef20722b81fa84f96c5015bc258d` |
| Iuri | Yes | `Elementary Meek Bunting` | Yes | normal | `0x047bba0d05c6301d3ae3b66a14203096e57cde14c74383bdbf857490538bf44f2c211fd982b7fc9cba609087c60b194389c953f33c8c67e49c1b2bdce13f4a7b1c` |
| Jonathan | Yes | `Mature Wellworn Rhea` | Yes | |`0x04e4a739e92af6b7e4b27af34055eda36f91febad7e8f373163662ea999998f4591ef5c156cd30f72c62787f2fe85c12dca697f360ffed5ae4fcdab38fd765ebb0` |
| Nastya |Yes |Polished Shy Zebra | No | |`0x047406daf00036c9105be3a33423d5ca99f546b424766e2df47953d29439eb8a4ff7132b280bba3bf8fb25e3482264875724df9352a156b6f20765a04c612ed57d`|
| Richard |Yes |`Plastic Crushing Fishingcat` | Yes | |`0x045b993100275cf3bef2f3881ebda74f238f0d4786b8ece01c2385f1792a2284c4579e065a6f7cec292c9432d7b80cd6c537b47754f6184dcc17d4158179dde8c8`|
| Corey | Yes | Strict Whimsical Stud | Yes | | `0x040451c396afa6d7e8a9368138d5ed38ff246ec59b6d982b33bd946a3aff91382a1d29b2636e7f5673874873937116a50a003bacac76c8e5a9fbbeefc242427b09` |
| Jeannie | Yes | `Teeming Sharp Badger` | Yes | |`0x04071820e6fedfd78353bea066a4c9c7db1e4991d96498c1abaca47b86ab3fa9776892c83beaee44ec84b6756c0f23d88697cf129f2c8d774746f6d16f27302561`|
| Khushboo | Yes | `Grandoise Difficult Gazelle` | | |`0x049074ded75277281b9a351abf253dd464d30ea20eb382ada0795d89881e0163f752fa3d19f5f3f1d2c57c5fbea8aab71140c867c8b7e494f183596755e5d06594`|
| Carl | Yes | `Longterm Loyal Dutchsmoushond` | | |`0x04bc2a2c07b8b8ed49ba1fa55362ca9f9530684e73aa87398ee2392fb17ab2a274c75ae38cfe12807dd46361acea51a535666e82c7c463a1339a45c749dc88faa8`|
| Elina | Yes | `Questionable Thunderous Dunlin` | Yes | |`zQ3shPhdB6M2PVmFdYxbQFzPqeHdynNDS7UWJV8f4gEHPBGEp`|
## Phase 2
commit tag: `dogfood/beta.1`
| Name | Throw away account? | Username | Joined? | Node Type | Chat key |
| -------- | -------- | -------- | -------- |-------- |-------- |
| Anthony |Yes | `Early Prestigious Mountainlion` | yes | | `0x04081e0f9eb93f9999a7f23263615300e04bc78e9e46c023147d549e74867664c9e6b2381e18e411aca82162e146cf845645ecf3aa72510f3da38bce4c191b8abc` |
| Iuri | Yes | `Wry Drafty Shrew` | Yes | | `0x04fe62cf9bfbb145523476bccf3a12154b5edcf09ecf7419233dc96483f32fed940494a7c08bfb9632e4ec041b4c8baba6a6ebf00469b5fdba85c4ffccdd4da270` |
| Jonathan |Yes | `Inferior Descriptive Irishwaterspaniel` | Yes | |`0x043c518afcb8524109276ab34729dfb211ae0ce146f63a3b0a89aa7db14b971ffc07a1546b39e92b24108fdf7a5d2cfa3cb6f1bd86896780fe8064b2deeefcbd69`|
| Nastya | | | | ||
| Richard | | | | ||
| Corey | Yes | Strict Whimsical Stud | No | | `0x040451c396afa6d7e8a9368138d5ed38ff246ec59b6d982b33bd946a3aff91382a1d29b2636e7f5673874873937116a50a003bacac76c8e5a9fbbeefc242427b09` |
## Phase 1
commit tag: `dogfood/alpha.1`
| Name | Throw away account? | Username | Joined? | Chat key |
| -------- | -------- | -------- | -------- |-------- |
| Anthony | | | | |
| Iuri | Yes | `Wry Drafty Shrew` | Yes | `0x04fe62cf9bfbb145523476bccf3a12154b5edcf09ecf7419233dc96483f32fed940494a7c08bfb9632e4ec041b4c8baba6a6ebf00469b5fdba85c4ffccdd4da270` |
| Richard | Yes |`Disguised Serious Xoloitzcuintli`| No |`0x0428d316a427e56ac98b6775e743296a7e9643fd76e636de7212e4da60df0888b7215598f4f75052813a8410b6fb32593e3d0bf319a883ed476724b16ba6ca7719`
## Other Notes
### waku v2
- [ ] to review & merge https://github.com/status-im/status-go/pull/2438 simplifies configs
- [ ] Desktop PR?
- [ ] Status-react PR needed from mobile team
- [ ] check what https://github.com/status-im/status-go/pull/2475 is about
3 stages:
- stage 1:
- [x] implement relay
- [x] implement store protocol
- [ ] unclear if the production fleet is using these? (relay and store protocol)
- [ ] can be found with a quick test
- [ ] For switching into prod fleet, the following items are required:
- DNS Discovery URL for prod. Currently I only have test fleet URL: enrtree://AOFTICU2XWDULNLZGRMQS4RIZPAZEHYMV4FYHAPW563HNRAOERP7C@test.nodes.vac.dev
- go-waku prod fleet. We currently have only a test fleet.
- stage 2:
- [ ] light client functionality
- [ ] lightpush protocol
- exists already in go-waku
- mobile needs to implement this (UI needs a selector to select light node or full node)
- [ ] filter protocol
- exists already in go-waku
- mobile needs to implement this (UI needs a selector to select light node or full node)
- [ ] bridge nodes
- seems to work
- [ ] we need to have these deployed if not already
- stage 3:
- [ ] Discovery V5
- currently being worked on
- go-waku needs to be updated
- needs to be configurable
- not a showstopper because we have rendez-vous but ideally we should use Discovery V5
### message reliability + fetching
- [x] some mailservers have storage issues we need to investigate / tell jakub
- [ ] when a mailserver is buggy/not responding, the mailserver should pick up a different mailserver and add the buggy one to a temporary blacklist
- [ ] move mailserver cycling to status-go instead of using the nim task-runnner, also avoids having to implement this later in c++
- [ ] increase message fetching to 30 days
- [ ] check what's going on with https://superset.infra.status.im/superset/dashboard/13/
goals:
- no noticeable message fetching issues or message losts
- no reports of messages being lost
- reliability on telemetry service near 100%