electron-release-server icon indicating copy to clipboard operation
electron-release-server copied to clipboard

Cannot find channel "latest.yml"

Open escocoon opened this issue 3 years ago • 6 comments

Hello, I'm trying to update my app (Win32, NSIS) but it gave me this error.

Cannot find channel "latest.yml" update info: HttpError: 404 Not Found "method: GET url: http://localhost:1337/update/win32/latest/latest.yml?noCache=1f2qacq00\n\nPlease double check that your authentication token is correct.

but it hits the endpoint debug: NSIS electron-updater Search Query { platform: [ 'windows_32' ], channel: 'latest', flavor: 'default' } debug: Applicable Channels alpha

The documentation said that the .yml file will be auto generated : "Electron Release Server will auto-generate the .yml files for the corresponding channel (latest.yml, beta.yml, alpha.yml)" yet it seems it doesn't find the supposedly generated .yml file.

  • I uploaded the .exe installer file and its .blockmap
  • Already tried changing the links to 'http://localhost:1337/update/win32/'
  • The update doesn't have any flavors. I'm trying to test if the update works.

And still no luck. Any ideas or point out what I'm missing here?

escocoon avatar Apr 09 '21 03:04 escocoon

I have the same problem, however just that the latest-mac.yml is not found.

Error: Cannot find channel "latest-mac.yml" update info: HttpError: 404 Not Found "method: GET url: http://localhost:5000/latest-mac.yml?<snip>

Did you find a solution?

UPDATE: Sorry, I found out that I need to give the {platform} in the url.

lauer avatar Jun 23 '21 20:06 lauer

Not really a solution but I found that the update didn't immediately went live. Somehow it went live by the next day. Is the update related with the timezone or does it really need to wait by the next day?

I have the same problem, however just that the latest-mac.yml is not found.

Error: Cannot find channel "latest-mac.yml" update info: HttpError: 404 Not Found "method: GET url: http://localhost:5000/latest-mac.yml?<snip>

Did you find a solution?

UPDATE: Sorry, I found out that I need to give the {platform} in the url.

escocoon avatar Jul 12 '21 07:07 escocoon

Getting this on the Youtube Music desktop app which relies on electron. I'm surprised I'm not finding much about it though.

Bewbman avatar Aug 19 '22 02:08 Bewbman

@lauer @escocoon hello guys, hope you managed to find a solution. I am currently stuck on this for a while. Did you have to upload the latest-mac.yml or latest.yml files yourself in the electron-release-server or were they automatically added? I keep getting the same Cannot find channel "latest-mac.yml" error and have no idea where to add this or where to find this. Any help would be appreciated 🙏🏼

colinrw avatar Feb 21 '23 10:02 colinrw

Hey guys, If any of you found the solution please let me know here, Thanks. I am ignoring yaml / yml files while pushing my code to Git Hub. I want my users to be notified whenever an updated version is available !

Shaukat456 avatar Jun 24 '23 14:06 Shaukat456

Update : Sorry I think I just found a solution and sorry for the really late reply. I just found it works now on my part. This probably applies for NSIS Windows. What I did is :

  • Set up the electron-release-server and make sure it is running
  • Name the version on the release server like 1.2.44
  • Upload the assets (the packaged .exe file, and the .blockmap file). According to the release server documentation on NSIS, it said it should generate the latest.yml automatically
  • In the electron app it checks the url on http://192.168.1.101:1337/update/windows_64x64/

This is my code in electron main export async function startAutoUpdater() { try { autoUpdater.autoDownload = true; autoUpdater.autoInstallOnAppQuit = true; let platform: string = process.platform; if (platform === 'win32') { platform = 'windows_64'; } // get the arch const arch = process.arch; const url = ${updateServer}/update/${platform}${arch}/; log.info(Checking for update from ${url}); autoUpdater.setFeedURL({ provider: 'generic', url, useMultipleRangeRequest: false, }); autoUpdater.logger = log; await autoUpdater.checkForUpdatesAndNotify(); } catch (err: any) { // your log here log.error(err); } }

This is on my part and it works, maybe it will give some ideas to anyone who encountered this problem.

escocoon avatar Nov 29 '23 07:11 escocoon