-
Notifications
You must be signed in to change notification settings - Fork 501
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
feat: remote pins on files page #1721
feat: remote pins on files page #1721
Conversation
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.
Not sure if issues I had were caused by using different version of ipfs-http-client
with connect-deps
, but here is quick feedback:
-
error handling seems to be missing. when I unpinned a file from one of services that are broken on purpose, I got this page crash
-
assuming http-client issues caused below ones, but mentioning them for completeness:
- I was not able to get cloud pin to show on Files screen
- I have multiple services defined with Pinata endpoint, but I don't see them in "Set pinning" modal, I only see a single Pinata entry
@rafaelramalho19 we should be able to remove the need for connect-deps
and use ipfs-http-client
49.x (it shipped with pin.remote
), but may require fixes from #1655
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.
We merged latest http-client with #1655 so connect-deps should no longer be necessary.
@rafaelramalho19 mind rebasing this PR?
I've merged fixes from main branch but there is some remaining work here:
|
1944510
to
1cd2c2d
Compare
What do you mean by this? That PR was merged a long time ago 🤔 |
This seems to be fixed in the latest version: the screen no longer crash.
For dev just add a service with invalid endpoint or access token (so every request always fail). I think the only way to do automatic tests is to add For valid one you can use js-mock-ipfs-pinning-service:
My bad, meant #1713 :) |
This PR adds visual feedback for then big files are imported: progress bar + % status. There is also new http-client and a bunch of required fixes. * fix: broken file list stories * feat: upload progress ui * chore: integrate external changes * fix: integrate new http client * fix: jsdom problem * fix(cid) switch circleci to new images * fix(e2e): test/e2e/remote-api.test.js This makes E2E tests for remote API less flaky: - leverage expect-puppeteer where possible - tweak navigation so it is not impacted by connection-error state - force refresh of status page to avoid wait for manual refresh * fix(ci): E2E_IPFSD_TYPE=js npm run test:e2e js-ipfs changed CLI path at some point recently Co-authored-by: Marcin Rataj <lidel@lidel.org>
011decd
to
4337f3b
Compare
* feat: upload progress ui (#1655) This PR adds visual feedback for then big files are imported: progress bar + % status. There is also new http-client and a bunch of required fixes. * fix: broken file list stories * feat: upload progress ui * chore: integrate external changes * fix: integrate new http client * fix: jsdom problem * fix(cid) switch circleci to new images * fix(e2e): test/e2e/remote-api.test.js This makes E2E tests for remote API less flaky: - leverage expect-puppeteer where possible - tweak navigation so it is not impacted by connection-error state - force refresh of status page to avoid wait for manual refresh * fix(ci): E2E_IPFSD_TYPE=js npm run test:e2e js-ipfs changed CLI path at some point recently Co-authored-by: Marcin Rataj <lidel@lidel.org> * chore: rollback connect-deps * chore: go-ipfs 0.8.0-rc1 * feat: integrate remote pinning in the files page * chore: update deps * chore: linting fixes * feat: add pinning services to the pinning modal * chore: update conflicts Co-authored-by: Irakli Gozalishvili <contact@gozala.io> Co-authored-by: Marcin Rataj <lidel@lidel.org>
* chore: WIP in settings page * feat: add remote pinning services to the settings page * chore: memoise pinning service color * chore: set the same colors for pinning services manager items * chore: update src/components/pinning-manager/PinningManager.js * chore: remove console.log * chore: make pinning work in go-ipfs 0.7 & add docs link * chore: move pinning constants to another file * feat: detect if remote services are available in the settings page * chore: switch to production Pinata https://pinata.cloud/documentation#PinningServicesAPI * feat: remote pins on files page (#1721) * feat: upload progress ui (#1655) This PR adds visual feedback for when big files are imported: progress bar + % status. There is also new http-client and a bunch of required fixes. * fix: broken file list stories * feat: upload progress ui * chore: integrate external changes * fix: integrate new http client * fix: jsdom problem * fix(cid) switch circleci to new images * fix(e2e): test/e2e/remote-api.test.js This makes E2E tests for remote API less flaky: - leverage expect-puppeteer where possible - tweak navigation so it is not impacted by connection-error state - force refresh of status page to avoid wait for manual refresh * fix(ci): E2E_IPFSD_TYPE=js npm run test:e2e js-ipfs changed CLI path at some point recently Co-authored-by: Marcin Rataj <lidel@lidel.org> * chore: rollback connect-deps * chore: go-ipfs 0.8.0-rc1 * feat: integrate remote pinning in the files page * chore: update deps * chore: linting fixes * feat: add pinning services to the pinning modal * chore: update conflicts Co-authored-by: Irakli Gozalishvili <contact@gozala.io> Co-authored-by: Marcin Rataj <lidel@lidel.org> * chore: disable js-ipfs tests for the time being * feat: add autoUpload toggle to the pinning manager * chore: change autoupload labels * refactor: simplify size calculations Using pre-existing stat helper makes webui immune to unexpected exceptions. Pin size calculation was removed, because it was already hidden in GUI of Settings screen. * fix: pin.remote.ls status check This fixes a racy bug: when a single service was offline, any remaining services were not checked due to error thrown. This usually did not happen in Chromium, but failed pretty often in Firefox, which seem to execute looped for awaits bit differently. * fix: meaningful labels and variable names * fix: auto upload labels - basic explainer whatpolicy change means - enable/disable - manual/all files * fix: disable pinning to offline services - filled missing labels with basic explainer (can be improved in separate PRs) - disabled pinning to services that are offline + added visual indication when there is a problem with service * fix: pinning service templates - sets icon and docs url when name includes template name * style: auto upload modal title Co-authored-by: Jessica Schilling <jessica@protocol.ai> * style: auto upload modal description Co-authored-by: Jessica Schilling <jessica@protocol.ai> * style: auto upload menu item Co-authored-by: Jessica Schilling <jessica@protocol.ai> * fix: no online check for local pinning * style: separate title for remote pin glyph * chore: cleanup Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Irakli Gozalishvili <contact@gozala.io> Co-authored-by: Jessica Schilling <jessica@protocol.ai>
Closes #1502