[Local|Updates] Update check fails with 404 on legacy-v0.0.41 — allowPrerelease picks the first Atom feed entry
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- electron, github, typescript
Direzione di ricerca
Start with surfsense_local/electron/src/main/updater.ts and inspect attachUpdater around line 71, then trace how electron-updater chooses a GitHub release from the Atom feed. Add a regression test using a non-semver first feed entry and verify stable updates select the release with desktop manifests. The issue reports that v2.2.3 has both Linux manifests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
On a stable 2.2.3 desktop install (Linux, AppImage), Settings › About › "Check now" always fails:
Could not check for updates: Cannot find latest-linux.yml in the latest release artifacts
(https://github.com/MODSetter/SurfSense/releases/download/legacy-v0.0.41/latest-linux.yml): HttpError: 404
Why it happens
surfsense_local/electron/src/main/updater.ts:71setsupdater.allowPrerelease = truefor every build.app-update.ymlshipschannel: stable, but electron-updater'sAppUpdater._channelstarts asnull(that key inapp-update.ymlis not copied intoupdater.channel), soGitHubProvider.getLatestVersion()takes thecurrentChannel === nullbranch whileallowPrerelease === true: it uses the first entry ofreleases.atom, not the newest semver tag.releases.atomcurrently haslegacy-v0.0.41as its first entry (from the legacy-split work: #2339, #2340, #2341, updated 2026-10-24). That release ships no desktop artifacts — it is absent fromGET /releasesandGET /releases/tags/legacy-v0.0.41returns 404 — sostable-linux.yml404s and thelatest-linux.ymlfallback 404s too.
Verification
- 2.2.3 is the latest release and both manifests exist:
releases/download/v2.2.3/stable-linux.yml→ 302,releases/download/v2.2.3/latest-linux.yml→ 302. curl https://github.com/MODSetter/SurfSense/releases.atom | headshowslegacy-v0.0.41first.GET /repos/MODSetter/SurfSense/releases?per_page=100→ 42 releases, nolegacy-*tag at all.- Because the check dies before any version comparison, the app never reports "up to date" — it always shows the 404. Affects every 2.2.3 install with update checks enabled (any platform on the GitHub provider).
Suggested fix
In attachUpdater, do not leave both "no explicit channel" and allowPrerelease in play:
- for stable builds set
updater.allowPrerelease = falseand letgetLatestTagName()resolve/releases/latest, or - set
updater.channel = "latest"explicitly, and - skip Atom feed entries whose tag is not valid semver (
legacy-v0.0.41is not) before choosing one.
A regression test that stubs the Atom feed with a non-semver first entry would cover this.
Reported from Linux (Omarchy/Arch, Electron AppImage 2.2.3). Happy to re-test a build.
- Lingua principale
- Python
- Stelle
- 16.3k
- Fork
- 1.6k
- Merge medio
- 16h 33m
- PR unite (30g)
- 289
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di MODSetter/SurfSense
-
Security Scan: stop flagging pinned hashes and test fixtures on release PRsForse già presa @karthikeya1220 l’ha presa 13 giorni fa. Apertacode quality security
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MODSetter/SurfSense#2225 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
[bug] 直接把桌面上的这个文件拖进去Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
MODSetter/SurfSense#2305 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MODSetter/SurfSense
Issue simili
-
parse names a key after a top-level multi() threshold Bitcoin Core v31.1 refuses as not validAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
btclib-org/btclib-wallet#587 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Judgment-Pack/judgment-pack-spec#275 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-generated
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue priority: low size: XS
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
yeongseon/azure-functions-doctor-python#651 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Changaco/python-libarchive-c#146 ·