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] Waku in the Browser on Unreliable Network #137

Closed
12 tasks
chair28980 opened this issue Feb 7, 2024 · 9 comments
Closed
12 tasks

[Milestone] Waku in the Browser on Unreliable Network #137

chair28980 opened this issue Feb 7, 2024 · 9 comments

Comments

@chair28980
Copy link
Contributor

chair28980 commented Feb 7, 2024

Milestone: https://github.com/waku-org/pm/milestone/22

Summary

During Hackathon, venue network and Internet access can be limited or unreliable.
Hackers mostly build web apps during hackathons, using js-waku in the browser.

Acceptance Criteria

  • Provide stable local environment to developers that might not have connection to the main network.
  • Investigate and if possible improve connectivity to main network in harsh environments such as when wifi is not stable or websocket connection glitches.
    • try to find problematic points: 2g internet, bad wifi (on/off etc);
      • search for mitigation;
    • investigate ability to use HTTP transport in libp2p:
      • investigate if HTTP and long polling is possible;
      • implement if possible;

Justification

Poor first impression with Waku during hackathons can lead to lower adoption rate.

Epics

@weboko
Copy link

weboko commented Feb 8, 2024

Only actionable point from js-waku side - waku-org/js-waku#1834

@fryorcraken fryorcraken added the Deliverable Tracks a Deliverable label Feb 8, 2024
@fryorcraken
Copy link
Contributor

Only actionable point from js-waku side - waku-org/js-waku#1834

What about:

@weboko
Copy link

weboko commented Feb 8, 2024

There is another part that people in general might face similar issues because they have 2g internet or as in India - bad wifi.

Let's formalize this Milestone to be like:
Provide stable local environment to developers that might not have connection to the main network.
Investigate and if possible improve connectivity to main network in harsh environments such as when wifi is not stable or websocket connection glitches.

Than would mean it includes following sub streams of work:

  • provide local dev environment:
  • investigate and measure current websocket transport:
    • try to find problematic points: 2g internet, bad wifi (on/off etc);
    • search for mitigation;
  • investigate ability to use HTTP transport in libp2p:
    • investigate if HTTP and long polling is possible;
    • implement if possible;

@chair28980
Copy link
Contributor Author

Scope signed-off EU-NA pm 2024-02-19.

@alrevuelta
Copy link
Collaborator

unsure about

investigate ability to use HTTP transport in libp2p:

and note that https://github.com/waku-org/waku-simulator might cover the

provide local dev environment:

@fryorcraken
Copy link
Contributor

fryorcraken commented Feb 19, 2024

Also note that WebRTC Direct is soon to be available in nim-libp2p that could help.
WebRTC direct is tracked with https://github.com/waku-org/pm/blob/master/ROADMAP.md#fqdn-less-browser-connections

@chair28980
Copy link
Contributor Author

Comment originally from #123 (comment) meant for this thread:

We observed this happening in ETH India with thousands of participants not being able to reliably sending data over Waku.
Primary problem was - many hotspots in the area.

From js-waku perspective I don't see it being actionable as the link between local router and a device was not stable itself.
The only way to mitigate it could be switching from WebSocket connection and using REST in a new way:

  • enabling long polling on REST;
  • building adaptors to use REST interchangeably with WebSocket in js-waku codebase;

Another way of improving it could be pushing towards adoption of Relay in browser and adding bluetooth support 😄

@fryorcraken
Copy link
Contributor

@LordGhostX has also experienced connectivity issues, he should test any solution we provide.

@fryorcraken
Copy link
Contributor

fryorcraken commented May 22, 2024

Milestone descoped for now. I'd suggest to "close as not planned". Cc @chair28980

@chair28980 chair28980 closed this as not planned Won't fix, can't repro, duplicate, stale May 22, 2024
@chair28980 chair28980 removed Deliverable Tracks a Deliverable needs scoping labels Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

4 participants