ipfs-shipyard / ipfs-share-files

Share files via IPFS
https://share.ipfs.io
MIT License
145 stars 29 forks source link

Getting project back on track 🏗️👨‍🏭 #75

Closed lidel closed 3 years ago

lidel commented 4 years ago

This project was not actively maintained and is behind with both infra and IPFS.

Below is a high level overview of absolute minimum that needs to happen to get it back on track cc @autonome @jessicaschilling

The CI

Right now this repo uses Jenkins, which was deprecated and replaced by Travis/CircleCI :sparkles:

The app

Covered with spider webs :spider_web:

The above is a bare minimum needed to keep website up to date and useful.

jessicaschilling commented 4 years ago

@lidel -- thanks so much for getting this on paper. What's the next step for getting the CI and infra part of this on someone's radar within the core IFPS team? Once that's done, the remaining parts would make an excellent bounty issue.

lidel commented 4 years ago

Switched CI setup to CircleCI in https://github.com/ipfs-shipyard/ipfs-share-files/pull/76 and checked off CI part.

Right now the build fails but that may be due to old dependencies. I did not dig into it, as the next item in the list, "update all dependencies to latest versions" may fix it.

jessicaschilling commented 3 years ago

@lidel @rafaelramalho19 re hackathon priorities - can we maybe start with this issue, and specifically just initially getting dependencies etc up to date as quickly as possible? I can't even build this locally, but once I can that unblocks me to working on some of the visual stuff in other issues. Thanks!

lidel commented 3 years ago

Agree, this is the blocker of entire endeavor (I'm unable to build current codebase in node 14).

I've looked at the current codebase, and it won't be easy to just swap js-ipfs to the latest version :( The project initializes js-ipfs via the deprecated ipfs-redux-bundle:

https://github.com/ipfs-shipyard/ipfs-share-files/blob/2e099d8e7bc9b15650e77459197db58008719035/src/bundles/index.js#L2-L13

Potential path for unblocking:

  1. Update to the latest ipfs and is-ipfs
  2. Remove ipfs-redux-bundle and replace it with custom one that implements the same API but initializes js-ipfs directly
    • We already removed ipfs-redux-bundle a while ago from ipfs-desktop and replaced it with bundle that internally uses ipfs-provider (https://github.com/ipfs-shipyard/ipfs-webui/pull/1563)
    • For MVP there is no need for supporting other backends than js-ipfs (ipfs), so drop-in replacement bundle can initialize js-ipfs directly, if that's easier/faster
  3. Go over places that operate on ipfs API and refactor where necessary (various IPFS APIs and tooling like ipfsd-ctl moved from clalbacks to async/away)

@rafaelramalho19 are you willing to give it a try? If you write a drop-in replacement bundle that implements the same API as ipfs-redux-bundle, I can help with the remaining API and tests refactor, where needed.

jessicaschilling commented 3 years ago

@lidel Can you please look through this checklist again and for things that don't look like they'll get done during hack week, break into separate labeled issues? Thanks 🙏

lidel commented 3 years ago

All good!