[Local|Updates] Update check fails with 404 on legacy-v0.0.41 — allowPrerelease picks the first Atom feed entry
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- electron, github, typescript
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Python
- スター
- 16.3k
- フォーク
- 1.6k
- 平均マージ
- 18時間 52分
- マージ済み PR(30日)
- 218
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MODSetter/SurfSense のほかの issue
-
Security Scan: stop flagging pinned hashes and test fixtures on release PRs対応中かも @karthikeya1220 が 18 日前に担当しました。 オープンcode quality security
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
MODSetter/SurfSense#2225 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
メンテナーはふだん 1 日以内に返信
-
backend bug desktop
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
MODSetter/SurfSense#2366 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
[bug] 直接把桌面上的这个文件拖进去オープンbug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
MODSetter/SurfSense#2345 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
MODSetter/SurfSense の issue をすべて見る
似ている issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 68/100
MangasMango/bound-to-rot#41 · コメント 1 件 ·
-
breaking change
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
check-skill-pages: show fixture build errors when a build fails対応中かも @ShahadatTest が今日担当しました。 オープンgood first issue P2
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
coco-research/coco#439 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
IgniteRobotics/flashpoint#45 ·
メンテナーはふだん 1 日以内に返信