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

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

Closed
7 tasks done
lidel opened this issue Mar 31, 2020 · 6 comments
Closed
7 tasks done

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

lidel opened this issue Mar 31, 2020 · 6 comments
Labels
exp/wizard Extensive knowledge (implications, ramifications) required kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/analysis Needs further analysis before proceeding need/triage Needs initial labeling and prioritization P1 High: Likely tackled by core team if no one steps up

Comments

@lidel
Copy link
Member

lidel commented Mar 31, 2020

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 ✨

The app

Covered with spider webs 🕸️

  • update all dependencies to latest versions, refactor if needed
  • ensure latest js-ipfs and js-ipfs-http-client are used
  • ensure it works with ipfs-companion enabled
  • ensure it loads fine from subdomain gateways at $cid.ipfs.dweb.link and share.ipfs.io.ipns.localhost:8080
    • small error about service worker, but does not impact the app
  • ensure it loads fine from ipns:// in Brave (ipns://dev.share.ipfs.io)

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

@lidel lidel added the need/triage Needs initial labeling and prioritization label Mar 31, 2020
@jessicaschilling
Copy link
Contributor

@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
Copy link
Member Author

lidel commented Apr 9, 2020

Switched CI setup to CircleCI in #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.

@lidel lidel pinned this issue Jan 22, 2021
@lidel lidel added P1 High: Likely tackled by core team if no one steps up exp/wizard Extensive knowledge (implications, ramifications) required kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/analysis Needs further analysis before proceeding labels Jan 22, 2021
@jessicaschilling
Copy link
Contributor

@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
Copy link
Member Author

lidel commented Feb 1, 2021

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:

import ipfsBundle from 'ipfs-redux-bundle'
import appIdle from './app-idle'
import routesBundle from './routes'
import redirectsBundle from './redirects'
import filesBundle from './files'
export default composeBundles(
appIdle({idleTimeout: 5000}),
ipfsBundle({
tryJsIpfs: true,
getJsIpfs: () => import('ipfs')
}),

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
  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
Copy link
Contributor

@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
Copy link
Member Author

lidel commented Feb 4, 2021

All good!

@lidel lidel closed this as completed Feb 4, 2021
@lidel lidel unpinned this issue Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exp/wizard Extensive knowledge (implications, ramifications) required kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/analysis Needs further analysis before proceeding need/triage Needs initial labeling and prioritization P1 High: Likely tackled by core team if no one steps up
Projects
None yet
Development

No branches or pull requests

2 participants