max-mapper / max-mapper/dat-core

try and ensure 100% success rate even on crappy networks

Open
#37 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
42
Forks
6
PR merge metrics
No merged PRs in 30d

Description

today while testing duplex http at tivoli gardens in copenhagen we had the follow success/fails when doing a `dat pull` from an ubuntu server to a client tethered to either a slow t-mobile international roaming connection or a fast danish roaming connection:
- http w/ nginx on tmobile: fail
- https w/ nginx on tmobile: success
- http w/ nginx on 3: success
- https w/ nginx on 3: success
- http w/o nginx on tmobile: success
- https w/o nginx on tmobile: success
- http w/o nginx on 3: success
- https w/o nginx on 3: success
- ssh on tmobile: success
- http w/ nginx on tmobile plus calling http request.end - success (because it wasn't duplex http)

so something involving tmobile and nginx causes duplex http to break (major WTF). this wasn't a dat bug, we made a very small test case. the fix is to use https or ssh, and not http

we are thinking if you try and pull over http we should show a warning. we could also do a self signed certificate automatically when you do `dat serve` and default to https when cloning

we also want to write a simple duplex-http-tester CLI that anyone can run to test connections

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported duplex HTTP failure using dat pull with nginx on the slow T-Mobile connection, comparing HTTP, HTTPS, SSH, and the request.end case. The issue names dat serve, cloning, and a possible duplex-http-tester CLI but no files or tests; completion is unresolved between an HTTP warning, automatic HTTPS, HTTPS-by-default cloning, and the tester.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nginx
Domain
cli, networking
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.