Closed daviddias closed 7 years ago
check in
Mon 16
PS: #first :D
Update: Mon 16: got some hiccups with webpacking libp2p-webrtc-direct (random segfaults, similat to ones seen in js-ipfs-api), not a blocker, should haven't invested so much time trying to solve them, will compensate tomorrow.
I'll be working on the following today:
I don't have any blockers atm. Will need feedback for examples soon.
Gonna be working on finishing @dignifiedquire's implementation of multiplex. To track: libp2p/js-libp2p-multiplex#44
Update end-day: Still working on getting the .destroy
stuff to work correctly, looking at spdy implementation for inspiration and making the interface-stream-muxer tests to pass.
Starting from where I left off yesterday, getting .destroy
to work in js-libp2p-multiplex branch pull-streams
Update end-day: Ended up having a call with Friedel and David about what to do with pull-streams not establishing connections unless reading, adding test case for closing connections if read/not read.
Following the todo at https://hackmd.io/KYdmGMAYQVgTgLQgMwCYAcCAsJ2PQGzgBmCAhsQIyXhbCqRwAmMQA===?view#
Update end-day: Managed to get tons of help from our dear and beloved @diasdavid and we made lots of progress on getting streams to close properly in multiplex. Fork here: https://github.com/diasdavid/multiplex/tree/fix/close-muxed-streams
Continuing with the todos at https://hackmd.io/KYdmGMAYQVgTgLQgMwCYAcCAsJ2PQGzgBmCAhsQIyXhbCqRwAmMQA===?view#
Update end-day: Got all the tests from interface-stream-muxer to pass, including the mega-stress test (even though it takes ~20 minutes to finish) with Davids help to close the streams probably. Gonna continue today with the two items of testing with go-ipfs for interop.
Gonna look into getting interop to work between js-libp2p and go-libp2p, identify any issues and make it easy to reproduce, probably gonna spend some time talking to the go-ipfs team as well.
Update middle-day: Got a new TODO list on what I'm working on.
Update end-of-day: Got stuck when node-webrtc doesn't work properly on Ubuntu 16.04 systems, leading to segfaults.
Catching up with notifications of stuff happening during the weekend, continuing with the todo-list above and making sure https://github.com/ipfs/js-ipfs/issues/721 gets solved.
Got stuck at .identify not working in .swarm because of multiplex. David submitted a fix today https://github.com/libp2p/js-libp2p-multiplex/pull/55 and I'll continue with the todo items above, basing my work of that branch.
Update end-of-day: Not the most productive day, needed lots of help but lots of help was not available to me. Enabled some more testing and continued to test the interop between go-libp2p and js-libp2p.
Plan for today is to finish the multistream-select tests and continue to debug the problems with interop between go-libp2p and js-libp2p
Two remaining issues for interop, hangup doesn't work properly in swarm and somehow the streams closes before finishing when using the echo example.
Also, probably gonna have to spend some time these last two days on helping data.gov sprint with setting up kubernetes/test-cluster.
Middle of the day: Switching to take over the documentation/examples effort and David moving to focusing on the muxers compatibility.
Damn I was pretty sure I posted earlier.
I don't care about this, sorry, but if you feel this way you'll work better, then go for it ππΌ
Enviat des del meu iPhone
El 16 gen 2017, a les 19:40, Lars Gierth notifications@github.com va escriure:
Damn I was pretty sure I posted earlier.
No blockers Current: looking into relay in go-ipfs, what needs fixing, and how to actually make use of it. Next: /wss prespec β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@victor uhm, are you trying to tell use anything related to this sprint?
@victor my apologies for bothering you, apparently we tagged you instead of @VictorBjelkholm. Fixed now, you can unsubscribe to this issue.
Ah that makes sense, sorry victor!
check in
Mon 17
Update:
wss
is not viable, the browser will block HTTP GET requests to non https if a page is loaded through https
. The only thing that passes through are things like CSS and images, but it does gives warnings. It would probably still be doable if I hacked around an <img>
tag, but that is at the level of XSS injection to make a thing work. What we really need is https and wss.https://signal.libp2p.io @lgierth + @diasdavid
section. This has become one of the priorities, since the webrtc-direct hack won't do the trick :( Yesterday:
Today:
Blockers: none
Notes from pull-multiplex extravaganza discussion: https://hackmd.io/KYdmGMAYQVgTgLQgMwCYAcCAsJ2PQGzgBmCAhsQIyXhbCqRwAmMQA===?edit
Yesterday I examined the relay impl in go-ipfs. It's not wired up with anything and doesn't provide end-to-end encryption. I've described a way forward in https://github.com/libp2p/go-libp2p/issues/82
check in
Wed 18
End of the day check in:
Tomorrow:
Blockers:
I couldn't find documentation on how do I connect js-ipfs (node.js) and js-ipfs (browser) nodes, so I need instructions on links to documentation to get started. cc @diasdavid
@haadcode by using webrtc-star, they will find each other automatically, however it would be good, since go-ipfs won't have that feature, that you use websockets addr in the js-ipfs node and that in the demo page, you have a box saying "multiaddr to dial". Which reminds me, it would be ideal to have a list of peers connected visual in the webdemo
check in
Thu 19
After yesterday's check in:
Today:
Blockers: I have 2 days left for this sprint and while the browser side of things should be good to go in terms of finishing them, leaving them for others to work, I'm running low on time for writing the tutorials and documentation. I'm not convinced I can finish all of that in 2 days (and I'll be gone next week). I know you're not in this sprint @RichardLitt, but would you be able to help out next week with the tutorials (I can work with you on those).
I'll bring these up in our sync today so we can discuss the steps forward.
I've noticed that folks aren't giving love to the waffle board, what's up?
Notes: https://hackmd.io/GYTgJmCMDsDMwFoBMBTJAOBAWADAI0gTwGMwkF0A2LMSnYPdYaEIA===?both
Top priorities before the weekend:
I have 2 days left for this sprint and while the browser side of things should be good to go in terms of finishing them, leaving them for others to work, I'm running low on time for writing the tutorials and documentation. I'm not convinced I can finish all of that in 2 days (and I'll be gone next week). I know you're not in this sprint @RichardLitt, but would you be able to help out next week with the tutorials (I can work with you on those).
@haadcode Can we schedule a short video call for talking about this? I haven't been tracking this sprint, and the state is not in my head. I should have some bandwidth to help, however.
check in
Fri 20
@RichardLitt definitely have that chat with @haadcode but here are some good things to read:
check in
Mon 23
Plan:
Lars monday
check in
Tue 24
Update:
Lars tuesday
check in
Wed 25
@RichardLitt today:
Lars wednesday
circuit-relay prespec: libp2p/go-libp2p-relay#1 -- feedback much appreciated, sorry this document gets written so late in the sprint.
check in
Thu 26
Lars thursday
We just had the second group check in to discuss the state of tasks and decide what are the things which we should spend our time for the last day and showcase Monday. Notes: https://hackmd.io/GYEwxiCMkBwKwFowENgAYEBYBsAjbCyAnGogKYy5lFjC65EBMYQA?edit
addrs to listen, addrs to announce, addrs to not announce
@lgierth multiplex
battle @diasdavidHere are two /ws bootstrappers which also have the gateway on the same port:
/ip4/159.203.166.189/tcp/80/ws/ipfs/QmWyLSnMHW2H6bmCG9e9PQq4ARve94JduvGjbutUuzx4a8
/ip4/178.62.215.134/tcp/80/ws/ipfs/QmVcj9MATxGTAFoQSbrJvZ9Fbs4Jzvrxy9hyJeRwbW8NeA
These should also work on /tcp/443/wss
but I haven't tested it, as I have yet to patch /dns and /wss support into go-ipfs. So I'm not yet able to dial the same with go-ipfs.
The respective /dns+/wss addresses:
/dns4/strawberry.i.ipfs.io/tcp/443/wss/ipfs/QmWyLSnMHW2H6bmCG9e9PQq4ARve94JduvGjbutUuzx4a8
/dns4/blueberry.i.ipfs.io/tcp/443/wss/ipfs/QmVcj9MATxGTAFoQSbrJvZ9Fbs4Jzvrxy9hyJeRwbW8NeA
and https://strawberry.i.ipfs.io + https://blueberry.i.ipfs.io for the gateway.
For deferring routing to the gateway:
And you can use api/v0/refs?r=true
to warm up the /ws bootstrapper/gateway with a stuff added on other go-ipfs nodes. That way we cheat our way around the lack of relaying.
You know something cool, now we have multiplex working woooo \o/ :D Once go-ipfs 0.4.7 is release, no user will have to worry about it again :D
@diasdavid can we call this "done"?
Yes! :D
What is this sprint going to achieve
Browser accesses go-ipfs content
Tasks
libp2p-webrtc-direct transport (@diasdavid)
Integrate it with libp2p-webrtc-star signalling serverAborted, see update: https://github.com/ipfs/pm/issues/310#issuecomment-273050193Test the dial behind httpsDeploy the new signalling server to signal.libp2p.iohttps://signal.libp2p.io @lgierth + @diasdavid
stream multiplexer, two options
Finish implementation of multiplex (find better name) https://github.com/libp2p/js-libp2p-multiplex/pull/44@VictorBjelkholmmultiaddr
wss
support go-ipfs ipfs/go-ipfs#3613 @lgierth[ ] Deploy bootstraper nodes
/ws/
and/wss/
@lgierth ipfs/infrastructure#194/ws/
,/wss/
,/libp2p-webrtc-star/
and/tcp/
@lgierth[ ] Upgrade IPFS Config @lgierth ipfs/go-ipfs#3613
[ ] Tutorials with Demos @haad
file Explorer (like what Whyrusleeping did)[x] Documentation, from 0 to hero - We need to make it very easy for someone that opens github.com/ipfs/js-ipfs, to go from nothing to having a Node running in the browser, that is the whole goal, preferably with a tutorial that is not massive
@haad@diasdavid -[ ] Circuit relay (Basic Turn, no relay discovery) libp2p/go-libp2p#82
usage #1: a flag on the swarm/connect commandNot going to happen anymore[ ] discovery
[x] DHT as a service @lgierth
Outside of the sprint (Time on this should not be invested unless all the above is done
Timeline
We will be running this sprint for 2 weeks, starting on Week 3 (15 Jan) and ending on the final day of Week 4 (22 Jan). During these period, we know that:
@lgierth unavailable from 19th to 24thWe will be using this issue to do daily check in, please avoid commenting if you are not check in in, if you have a question, consider opening another issue or asking through the #IPFS channel in freenode.