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

Error: ENOENT: no such file or directory, open '/opt/IPFS Desktop/resources/app-update.yml #1671

Closed
bertrandfalguiere opened this issue Oct 7, 2020 · 1 comment · Fixed by #1698
Labels
area/linux Linux area/updates Issues related to manual and automatic updates effort/hours Estimated to take one or several hours exp/intermediate Prior experience is likely helpful help wanted Seeking public contribution on this issue P2 Medium: Good to have, but can wait until someone steps up

Comments

@bertrandfalguiere
Copy link
Contributor

  • OS: Ubuntu 20.04
  • Version of IPFS Desktop : v0.12.1

Describe the bug
When using a .appImage, the app is updated as expected.
If I use an other install method (.tar.xz, .deb, .snap), the app fails to update. I think the problem would be the same on Fedora for .rpm installs.

To Reproduce
Steps to reproduce the behavior:

  1. Install IPFS Desktop v0.12.1
  2. Click on About/Check for updates...
  3. See error :

error.log shows:
2020-10-07T14:54:12.831Z error: [updater] Error: ENOENT: no such file or directory, open '/opt/IPFS Desktop/resources/app-update.yml'

Error appears right after start-up, or when manually checking for updates.

Expected behavior
IPFS Desktop should upgrade to v0.12.2 or newer, like when launched via a .appImage.

Additional context
I'm guessing that the app-update.yml mentioned in the error is generated by electron-builder only for AppImage by default when publishing (see here).

Proposed solutions
If possible, electron-builder should enable the auto-update of a .deb or .snap file. I'm not sure that this is possible as it is the package managers' job.
If not possible, .deb and .snap (and .rpm) should be added to their native package manager's repositories: APT and Snapstore (and RPM). Might need some work, though. Maybe the recent move to GitHub Action can help? (#1657)
If not possible, PL could host releases, and IPFS Desklearntop could be fetched via IPFS. :) IPFS Desktop would check for updates via a ping to ipfs.io, or by subscribing to a pubsub channel where PL announce new releases. Would be awesome, but probably a lot of code to write and maintain. This was already partially proposed by @lidel here: #1263 (comment) (all but the pubsub channel)
If not possible, #1488 should add some UI candies on update failure and warn that non-AppImage users need to monitor Github to check when a release is available.

Logs
error.log:
2020-10-07T15:52:48.610Z error: [updater] Error: ENOENT: no such file or directory, open '/opt/IPFS Desktop/resources/app-update.yml'

@bertrandfalguiere bertrandfalguiere added the need/triage Needs initial labeling and prioritization label Oct 7, 2020
@lidel
Copy link
Member

lidel commented Oct 7, 2020

Snap uses third-party update mechanism, and the upstream one won't work.
As a temporary mitigation, I've manually pushed 0.13.0 to Snap store.
Error will still be printed, but at least users will run the latest version.


Afraid this is blocked by upstream: https://www.electron.build/auto-update lists only three targets.
Right now, the official auto-update works only for Windows, macOS and AppImage.

Unfortunately our bandwidth is limited and we can't maintain packages for every Linux distribution, especially given the fact that most of the Desktop users use other platforms (Linux users usually run go-ipfs as a daemon)

What one could do in reasonable amount of time is to detect that Desktop is run in context other than officially supported, and replace mentioned autoupdate check with simplified one that displays info to user that an update is available with link to release notes. This will introduce soft pressure for package maintainer to do version bump.

I'll be happy to review a PR is if someone submits one. See my PR: #1698

@lidel lidel changed the title Update failing on Ubuntu Error: ENOENT: no such file or directory, open '/opt/IPFS Desktop/resources/app-update.yml Oct 7, 2020
@lidel lidel added area/linux Linux area/updates Issues related to manual and automatic updates exp/intermediate Prior experience is likely helpful effort/hours Estimated to take one or several hours P2 Medium: Good to have, but can wait until someone steps up help wanted Seeking public contribution on this issue and removed need/triage Needs initial labeling and prioritization labels Oct 7, 2020
lidel added a commit that referenced this issue Oct 13, 2020
Closes #1671

License: MIT
Signed-off-by: Marcin Rataj <[email protected]>
lidel added a commit that referenced this issue Jan 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/linux Linux area/updates Issues related to manual and automatic updates effort/hours Estimated to take one or several hours exp/intermediate Prior experience is likely helpful help wanted Seeking public contribution on this issue P2 Medium: Good to have, but can wait until someone steps up
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants