From 4e4b6f0503b1256d025da33701ad39d971d26b54 Mon Sep 17 00:00:00 2001 From: LostBoxArt Date: Wed, 20 May 2026 21:01:34 +0300 Subject: [PATCH] fix: strip '*' prefix from sha256sum filenames in checksums parser The checksums.txt files on GitHub Releases use the standard sha256sum format where binary-mode files have a '*' prefix (e.g. '70c4... *firefox-150.0.1-stealth-linux-x86_64.tar.gz'). _parse_checksums() was using parts[-1] as the filename key directly, which included the '*', causing the lookup for a clean-filename asset (e.g. 'firefox-150.0.1-stealth-linux-x86_64.tar.gz') to fail with 'no SHA256 in checksums.txt'. Fix strips leading '*' from the filename key before insertion. --- src/invisible_playwright/download.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/invisible_playwright/download.py b/src/invisible_playwright/download.py index fc51d65..58a5e8f 100644 --- a/src/invisible_playwright/download.py +++ b/src/invisible_playwright/download.py @@ -96,7 +96,9 @@ def _parse_checksums(text: str) -> dict[str, str]: continue parts = line.split() if len(parts) >= 2: - out[parts[-1]] = parts[0] + # sha256sum uses ' *' or ' ' prefix for binary vs text mode + key = parts[-1].lstrip("*") + out[key] = parts[0] return out