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

feat: message verification and retry #2075

Open
4 tasks
weboko opened this issue Jul 18, 2024 · 2 comments · Fixed by #2117 or #2130
Open
4 tasks

feat: message verification and retry #2075

weboko opened this issue Jul 18, 2024 · 2 comments · Fixed by #2117 or #2130
Labels
enhancement New feature or request

Comments

@weboko
Copy link
Collaborator

weboko commented Jul 18, 2024

This is a feature request

Problem

Feature that is useful for application developers is to know if message was actually seen and/or stored by the network.

Proposed Solutions

We need to implement one mechanism for message verification that would consume sender on one end and receiver on another and recognize messages that are not seen by the network or stored there.

This mechanism should populate a pool of messages to be re-send and automatically re-broadcast them with behavior specified in the reliability RFC.

Note: peer renewal should kick in in case failures happen during sending again and again.

This should be optional feature and enabled by option parameter passed to createLightNode.

TODO:

  • implement message monitoring component that would mark and cache messages that are not sent;
    • adapt it to monitor Filter and / or Store;
    • adapt it to monitor LightPush;
  • re-send messages if they are not successfully sent;
flowchart LR
  LightPush --> MessageMonitor
  Filter --> MessageMonitor
  MessageMonitor-- resend marked messages -->LightPush
Loading
@weboko weboko added the enhancement New feature or request label Jul 18, 2024
@weboko weboko added this to Waku Jul 18, 2024
@weboko weboko moved this to Triage in Waku Jul 18, 2024
@weboko weboko moved this from Triage to Priority in Waku Jul 18, 2024
@danisharora099 danisharora099 self-assigned this Aug 20, 2024
@github-project-automation github-project-automation bot moved this from Code Review / QA to Done in Waku Sep 13, 2024
@weboko weboko reopened this Oct 11, 2024
@weboko weboko moved this from Done to Triage in Waku Oct 11, 2024
@weboko
Copy link
Collaborator Author

weboko commented Oct 11, 2024

Let's re-evaluate implemented solution with new findings in mind.

@weboko
Copy link
Collaborator Author

weboko commented Oct 16, 2024

Rough idea:

  • change lightPush to return hash of the message if success - return error object if immediate problem;
  • add entity to track state of message: error, sent, delivered check via store/filter;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment