-
Notifications
You must be signed in to change notification settings - Fork 97
Conversation
refs #792 - [ ] [Score 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=274358435) - [ ] [Async Retrospective](https://docs.google.com/document/d/1z6_eTW_8pI5VUj5UMq4K_Gpofofd7ENwzLdEBCuNULI/edit) - [ ] 2019 Q1 OKRs Open Planning (this thread) - [ ] Move 2019 Q1 OKRs to [2019 Q1 OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1BtOfd7s9oYO5iKsIorCpsm4QuQoIsoZzSz7GItE-9ys/edit#gid=274358435) License: MIT Signed-off-by: Alan Shaw <[email protected]>
IPNS has feature parity with goI would like to do some improvements in IPNS in the next quarter. At first, DDC WG would really benefit from having a streaming api for IPNS, as I also added an OKR in
Service worker gateway v2We have been discussing the next version of the References: ipfs/service-worker-gateway#30 |
@lidel I believe that the In Web Browsers WG is taking over the Service Worker Gateway project, is that correct? Possibly ipfsd-ctl too? |
|
Carried over from Q4 2018
New for Q1 2019 |
Things to finish
This is basically 2/3 complete. We have the CID tool, CID version agnostic get and CID base option. The final step is to take the plunge and make the switch to CIDv1 and base32 encoding by default. For additional bonus points we could migrate the repo to key on multihashes instead of CIDs. However this might depend on there being a tool to migrate a repo (or we could do it ad hoc on access) and has consequences for pinning that would need to be worked out.
I'm not super excited to work on this but I feel as though this is really necessary towards being production ready.
This basically already exists, but needs to be hooked up to CI and more benchmarks added before we can really announce it.
I really just need to have the time to get stuck into this... New things I want to tackle
|
Things to finish:
New Things:
|
Update: had a call with @alanshaw and @hugomrdias, and we will be moving Service Worker and other browser-specific KRs to In Web Browser WG (#804) to make OKRs more clear/aligned with WG missions. |
|
These OKRs have a big ask from infra 🙏 - we'd like a JS IPFS node to be added as one of the nodes that make up the IPFS gateway cluster. I envisage this to be a process of slow introduction:
cc @eefahy @ipfs/infra |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
Left a small suggestion.
OKR/JS_CORE.md
Outdated
|
||
* p0 - Base32 encoded version 1 CIDs are the default for new content added to IPFS @alanshaw | ||
* p0 - IPNS has a streaming API @vasco-santos | ||
* p1 - IPNS supports publishing parameters `ttl`, `dhtt` and `dhtrc` @vasco-santos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As the dht
parameters are for resolve, I would put it in the following way:
* p1 - IPNS supports publishing parameters `ttl`, `dhtt` and `dhtrc` @vasco-santos | |
* p1 - IPNS supports `ttl`, `dhtt` and `dhtrc` parameters @vasco-santos |
Ok, I've reworded https://github.com/ipfs/team-mgmt/blob/7bdd947db5cf95a95fce0745891c8ff2178d8091/OKR/JS_CORE.md @vasco-santos @achingbrain @daviddias can I get a review please 🙏 |
We should probably sort out the missing parts of the API if this is our headline task - wiring in the DAG API to the http client, etc. |
??? I'm open to suggestions - also what is the "etc."? |
Dunno, the DAG API was the first thing that came to mind. I think a complete implementation is what we should be shooting for, |
Ok so in terms of the HTTP API, JS IPFS does not implement the following endpoints:
That would be a LOT to do in the quarter! There's a subset of that API that I'd consider "good enough" for 99% of people using JS IPFS to call it "complete". I'd say the most important ones to implement might be
Note: I've listed the HTTP API here but it makes sense to also implement the CLI for these at the same time. @achingbrain do you want to drop the homebrew OKR in favour of implementing those (or a different set)? Either way, we're not going to be fully complete this quarter but as an aspirational objective do you think it works? You never know we might have time to implement everything 😉. |
😨 There's a lot to do! Yes, lower priority items in favour of fixing up |
I also agree with the API higher priority! |
I have refactored - approve @vasco-santos @achingbrain? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
The GUI team needs an observable / event-emitter style api for reporting what work IPFS is doing and what is being waited on for a given get request, so we can communicate to the user work being done on their behalf by a network of peers instead of just a "loading pls wait!" It looks like your list is pretty full for Q1. Is that something we could do some ground work for in Q1? |
|
||
### Inviting for developers and contributors | ||
|
||
* p1 - Continuous deployment drives `js-ipfs-unixfs-*` and `js-ipfs-mfs` [@achingbrain](https://github.com/achingbrain) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What work does this KR translate into?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once we settle on a new CI this'll involve:
- Figuring out a strategy to use e.g. solving questions like:
- does publish a prerelease or a release?
- how does CI know what version number to increment?
- when does a release happen? push to master?
- Configuring the CI to enact the release ensuring secrets are handled correctly
- Testing the setup beforehand on a test module
* p0 - A JS IPFS daemon is one (or more!) of the IPFS gateway nodes [@alanshaw](https://github.com/alanshaw) | ||
* p2 - Perf benchmarking site is launched and 10 different benchmarking scenarios exist [@alanshaw](https://github.com/alanshaw) | ||
* p0 - IPFS is a transport for [npm/tink](https://github.com/npm/tink) [@achingbrain](https://github.com/achingbrain) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: This objective should contain a KR on "js-ipfs can find (Peer Routing) any peer and dial to it (direct or relay) if this Peer is online."
Potentially adding a job that keeps trying to dial to many different nodes in the network, just to be sure that the connection always happens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Potentially adding a job that keeps trying to dial to many different nodes in the network, just to be sure that the connection always happens.
This is to mitigate against a failed connection due to network error or your laptop goes offline or something? I'm surprised this isn't already implemented!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alanshaw I meant a job in our infra that keeps checking that JS can make quality connections everywhere as the network grows. But yeah, your proposal (if not done yet) is sound too.
Absolutely. I think giving users feedback when IPFS "goes away" searching for something would be really valuable. Some suggestions for groundwork tasks that could usefully be done:
|
@achingbrain do you approve these OKRs? |
can't see retro doc-- not sure what perms should be (public or js-ipfs core dev team only) |
@jbenet the current default is WG only and invitees on share request. |
### A complete implementation of IPFS in JavaScript | ||
|
||
* p0 - Base32 encoded version 1 CIDs are the default for new content added to IPFS [@alanshaw](https://github.com/alanshaw) | ||
* p0 - IPNS has a streaming API [@vasco-santos](https://github.com/vasco-santos) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 as this will enable ipfs/ipfs-companion#643 with js-ipfs :)
If infra sets up a dedicated subdomain that will only route to JS-based gateways (eg. |
Hellloooo helloo JS Core WG! I'll be your concierge for finalizing your OKRs for Q1 2019! Please read the fantastic tutorial that @momack2 prepared on how you can do a simple Roadmap timeline exercise with your team to identify and reach consensus in which are the most important priorities, you can find the instructions at ipfs/roadmap#17 I'm available to answer all your questions, take part on the timeline exercise and review your iterations. I understand that 2/3 of JS Core - IPFS are out this week. Please ack when you all get to this. |
Hi JS Core WG! Your OKRs look really great and already updated with the Q1 OKR sheet (and they all have owners! 🙌) - can we merge this PR now and freeze OKRs for the quarter? |
@alanshaw this looks great! Thanks for getting the OKRs finalized. Just one tiny tiddy little bit. Can you remove the OKRs from https://github.com/ipfs/team-mgmt/blob/master/OKR/JS_CORE.md and just point to the spreadsheet as a single source of truth? |
sorry about that - #862 |
refs #792
cc @hugomrdias @achingbrain @daviddias