Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Milestone] Direct Message Reliability #165

Open
plopezlpz opened this issue Apr 29, 2024 · 1 comment
Open

[Milestone] Direct Message Reliability #165

plopezlpz opened this issue Apr 29, 2024 · 1 comment

Comments

@plopezlpz
Copy link

plopezlpz commented Apr 29, 2024

Milestone:

Summary

  • Goal: Connection management issues are fixed and tested (to avoid regressions) in Status Mobile and Desktop.
  • Research tracks: Message Reliability
  • Estimated date of completion: 2024Q2

Deliverables

  1. Enable testing of direct messages in unreliable networks:

    1. Provide a list of direct messages to be tested (e.g.: contact request, community join request & response, 1:1 chat, private group...)
    2. In cases of temporary losing connection a message that is supposed to be sent needs to be: sent, retried on connection recover or failed (and add a button for manual retry if the auto-retry option is not easy to do). Test how this is behaving for the messages previously listed.
    3. Provide binaries for Vac/QA to setup regression functional tests (black box/e2e) to run simulations in bad connection environments to verify status connection management.
  2. Review connection management strategy & back-off & long disconnection issues
    Based on (1) review and fix (if necessary) the connection and peer management code from status-go & go-waku for relay and light client protocols.
    (Ensure that broken scenarios from dogfooding and Vac/QA testing are covered. Including but not limited to desktop sleep/hibernate and failure to send messages after current backoff strategy.)

  3. Telemetry: direct message reliability (desktop & mobile):
    Add data to telemetry service such as if the message came from relay or store, or if the app was online or offline (via heartbeat), add content topic data. Further discussion here.
    (Currently telemetry can be enabled only on desktop's settings, not on mobile)

  4. Telemetry: Fleet logging

    1. enable logging locally to be able to trace relay and light push/filter.
    2. ensure that sync (storev3) hightlights possible issues with missing messages
  5. Reliability Protocol for Relay

  6. Reliability Protocol for Resource-Restricted Clients

  7. Review MVDS usage and fail path

    1. Ensure usage of MVDS on contact requests, join requests, 1:1 chat.
    2. Also review the fail path for MVDS (are messages retried later or is there feedback/retry on the UI)?
    3. Consider adding retry buttons for easy wins (although not fixing the root of the problem it would make the app usable)

Justification

Epics

  • research:
  • js-waku:
  • nwaku:
  • go-waku:
  • QA:
  • Docs:
  • Eco-Dev:

RAID (Risks, Assumptions, Issues and Dependencies)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant