Skip to content

browseros: Add version 0.36.1#16863

Merged
z-Fng merged 7 commits into
ScoopInstaller:masterfrom
haussmann:new/browseros
Jan 9, 2026
Merged

browseros: Add version 0.36.1#16863
z-Fng merged 7 commits into
ScoopInstaller:masterfrom
haussmann:new/browseros

Conversation

@haussmann

@haussmann haussmann commented Dec 21, 2025

Copy link
Copy Markdown
Contributor
  • Verified there are no open issues for this application
  • Verified there are no other open pull requests for this application

Closes #16840
Relates to browseros-ai/BrowserOS#256

  • Use conventional PR title
  • I have read the Contributing Guide
  • Follows general order of fields
  • Tab width 4 spaces

Checkver OK

PS C:\Users\WDAGUtilityAccount\scoop\buckets\extras> .\bin\checkver.ps1 browseros
browseros: 0.34.0 (scoop version is 0.33.0) autoupdate available

Autoupdate OK:

PS C:\Users\WDAGUtilityAccount\scoop\buckets\haussmann> .\bin\checkver.ps1 -App browseros -f
browseros: 0.34.0 (scoop version is 0.33.0.1) autoupdate available
Forcing autoupdate!
Autoupdating browseros
DEBUG[1766329734.06792] [$updatedProperties] = [url hash] -> C:\Users\WDAGUtilityAccount\scoop\apps\scoop\current\lib\autoupdate.ps1:491:5
DEBUG[1766329734.06792] $substitutions (hashtable) -> C:\Users\WDAGUtilityAccount\scoop\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1766329734.06792] $substitutions.$buildVersion                                                                                                                                                           
DEBUG[1766329734.06792] $substitutions.$match1                        0.34.0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$preReleaseVersion             0.34.0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$version                       0.34.0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$patchVersion                  0                                                                                                                                        
DEBUG[1766329734.06792] $substitutions.$urlNoExt                      https://github.com/browseros-ai/BrowserOS/releases/download/v0.34.0/BrowserOS_v0.34.0_x64_installer                                      
DEBUG[1766329734.06792] $substitutions.$dotVersion                    0.34.0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$cleanVersion                  0340                                                                                                                                     
DEBUG[1766329734.06792] $substitutions.$underscoreVersion             0_34_0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$minorVersion                  34                                                                                                                                       
DEBUG[1766329734.06792] $substitutions.$url                           https://github.com/browseros-ai/BrowserOS/releases/download/v0.34.0/BrowserOS_v0.34.0_x64_installer.exe                                  
DEBUG[1766329734.06792] $substitutions.$majorVersion                  0                                                                                                                                        
DEBUG[1766329734.06792] $substitutions.$matchTail                                                                                                                                                              
DEBUG[1766329734.06792] $substitutions.$basenameNoExt                 BrowserOS_v0.34.0_x64_installer                                                                                                          
DEBUG[1766329734.06792] $substitutions.$basename                      BrowserOS_v0.34.0_x64_installer.exe                                                                                                      
DEBUG[1766329734.06792] $substitutions.$dashVersion                   0-34-0                                                                                                                                   
DEBUG[1766329734.06792] $substitutions.$baseurl                       https://github.com/browseros-ai/BrowserOS/releases/download/v0.34.0                                                                      
DEBUG[1766329734.06792] $substitutions.$matchHead                     0.34.0                                                                                                                                   
DEBUG[1766329734.09916] $hashfile_url = https://api.github.com/repos/browseros-ai/BrowserOS/releases/tags/v0.34.0 -> C:\Users\WDAGUtilityAccount\scoop\apps\scoop\current\lib\autoupdate.ps1:224:5
Searching hash for BrowserOS_v0.34.0_x64_installer.exe in https://api.github.com/repos/browseros-ai/BrowserOS/releases/tags/v0.34.0
DEBUG[1766329734.31789] $regex = sha256:([0-9a-z]+)[^}]+https://github\.com/browseros-ai/BrowserOS/releases/download/v0\.34\.0/BrowserOS_v0\.34\.0_x64_installer\.exe -> C:\Users\WDAGUtilityAccount\scoop\apps\scoop\current\lib\autoupdate.ps1:78:9
Found: e94b215fe2f54a811a15baee53b7f48f51b4ebbbb4bf766a6ffd3bd43ad64b9b using Extract Mode
Writing updated browseros manifest

Confirmed Virustotal OK

https://www.virustotal.com/gui/url/e9cf378ff23ca7d944f31e74e1e6c7fff6bbaff13f2997b0d6267f1fef33d1c3
Everything ok, SHA-256 matches as well.

Tests

  • copy for persistent data from non-scoop to scoop is working
  • update from v0.33.0.1 to v0.34.0
  • uninstall
  • application seems to run fine in a minimal test
  • uses persistent data store correctly
  • persistent data is kept in ~\scoop\persist\browseros

Summary by CodeRabbit

  • Chores
    • Added a Windows distribution manifest for BrowserOS (v0.36.1) under AGPL-3.0-only and BSD-3-Clause, enabling automated 64‑bit installation.
    • Installer extracts the package, sets the bundled browser executable path, creates a desktop shortcut that launches with a dedicated profile, and preserves User Data for portability.
    • Enables automatic version checks and autoupdates for 64‑bit releases.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Dec 21, 2025

Copy link
Copy Markdown

Walkthrough

Adds a new Scoop-style Windows manifest bucket/browseros.json for BrowserOS v0.36.1: metadata, x64 installer URL and SHA-256, PowerShell install/post-install steps to expand a 7z and persist User Data, CHROME_EXECUTABLE env, shortcut, and GitHub-based checkver/autoupdate entries.

Changes

Cohort / File(s) Summary
BrowserOS package manifest
bucket/browseros.json
New JSON manifest (v0.36.1). Declares metadata (licenses: AGPL-3.0-only, BSD-3-Clause), x64 installer URL and SHA-256, PowerShell installer that extracts a 7z into a chrome-bin layout, post-install copy of User Data from %LocalAppData% if missing, sets CHROME_EXECUTABLE to chrome.exe, creates a BrowserOS shortcut launching chrome.exe with --user-data-dir, marks User Data as persisted, and includes GitHub Releases-based checkver (regex) and autoupdate templates/URLs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

"I hopped through folders, light and spry,
Unpacked the bins beneath Windows sky,
Saved user crumbs in a cozy nest,
Shortcuts set, releases checked — all dressed,
A rabbit cheers: install complete! 🐇"

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: adding a new BrowserOS manifest version to the bucket.
Linked Issues check ✅ Passed The manifest satisfies all requirements from #16840: package is well-known (8.3k stars), has English documentation, includes latest stable version with standard Windows installer setup via GitHub releases.
Out of Scope Changes check ✅ Passed The PR contains only the new browseros.json manifest file; no extraneous modifications or unrelated changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed PR description includes required checklists, issue references, verification steps (checkver, autoupdate, VirusTotal), and comprehensive test results.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

Invalid manifests

  • browseros

Check the full log for details.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3711ee2 and 054bbfe.

📒 Files selected for processing (1)
  • bucket/browseros.json (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
📚 Learning: 2025-11-29T22:02:34.868Z
Learnt from: Ra2-IFV
Repo: ScoopInstaller/Extras PR: 16672
File: bucket/chromium-clang.json:12-12
Timestamp: 2025-11-29T22:02:34.868Z
Learning: In the chromium-clang.json manifest (bucket/chromium-clang.json), the extract_dir value "chrome-win32" is a fixed name determined by the upstream Chromium_Clang archive structure and should not be changed, even though the manifest targets 64-bit architecture.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/browseros.json
🪛 GitHub Actions: Pull Requests
bucket/browseros.json

[error] 1-1: Invalid manifests: 'browseros' failed manifest checks during bucket/browseros.json processing.

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (2)
bucket/browseros.json (2)

26-39: LGTM: Post-install migration logic and configuration are well-implemented.

The post-install script correctly handles the migration from a non-portable install by:

  • Checking if the persist directory is empty before copying
  • Only copying if the source data exists
  • Using the correct path for BrowserOS user data

The shortcuts and persistence configuration follow standard conventions for Chromium-based browsers. The extensive testing mentioned in the PR objectives (copy persistent data, update from v0.33.0.1, uninstall, app runs, correct persistent data usage) confirms the functionality.


21-25: Verify that "Chrome-bin" matches the actual directory inside chrome.7z in the BrowserOS v0.34.0 installer.

The extract directory name must match the upstream archive structure. Download and inspect the BrowserOS v0.34.0 installer to confirm the correct directory path, similar to how the chromium-clang manifest was validated.

Comment thread bucket/browseros.json
Comment thread bucket/browseros.json Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
bucket/browseros.json (1)

33-39: Autoupdate configuration is functional.

The URL template correctly uses version variables to match the GitHub release pattern. The absence of a hash block (following the previous review discussion about unavailable .sha256 files) means Scoop will compute hashes by downloading installers, which is acceptable.

Optional: Explicitly set hash mode to "none" for faster autoupdate checks

If you prefer slightly faster autoupdate checks (avoiding downloads just to compute hashes), you can explicitly set hash mode:

 "autoupdate": {
     "architecture": {
         "64bit": {
-            "url": "https://github.com/browseros-ai/BrowserOS/releases/download/v$majorVersion.$minorVersion.$patchVersion/BrowserOS_v$version_x64_installer.exe#/dl.7z"
+            "url": "https://github.com/browseros-ai/BrowserOS/releases/download/v$majorVersion.$minorVersion.$patchVersion/BrowserOS_v$version_x64_installer.exe#/dl.7z",
+            "hash": {
+                "mode": "none"
+            }
         }
     }
 }

However, this means users won't get hash verification during updates. The current approach (computing hashes by download) provides verification at the cost of speed.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 07e59bf and 9fa58b7.

📒 Files selected for processing (1)
  • bucket/browseros.json (1 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
📚 Learning: 2025-11-29T22:02:34.868Z
Learnt from: Ra2-IFV
Repo: ScoopInstaller/Extras PR: 16672
File: bucket/chromium-clang.json:12-12
Timestamp: 2025-11-29T22:02:34.868Z
Learning: In the chromium-clang.json manifest (bucket/chromium-clang.json), the extract_dir value "chrome-win32" is a fixed name determined by the upstream Chromium_Clang archive structure and should not be changed, even though the manifest targets 64-bit architecture.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.

Applied to files:

  • bucket/browseros.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (5)
bucket/browseros.json (5)

1-8: LGTM! Metadata is correct.

The version, description, homepage, and license fields are properly formatted. The license identifier correctly uses the non-deprecated SPDX identifier "AGPL-3.0-or-later" as addressed in the previous review.


9-14: LGTM! Architecture configuration is correct.

The 64-bit architecture block is properly structured with a valid GitHub release URL and verified SHA-256 hash. The #/dl.7z fragment correctly instructs Scoop to treat the installer executable as a 7z archive.


18-23: LGTM! Post-install script correctly implements portable mode migration.

The script appropriately checks for existing user data before copying from the standard Windows location, preventing data loss and supporting seamless migration to Scoop's portable installation.


31-32: LGTM! Persistence and version checking are correctly configured.

The persist directive ensures user data survives updates, and checkver: "github" appropriately monitors GitHub releases for new versions.


24-30: Verify the executable name matches the extracted archive contents.

The shortcut references chrome.exe, which is standard for Chromium-based browsers. However, confirm that the extracted archive actually contains chrome.exe after ExtractDir is applied, as some Chromium forks may rename the executable. If the archive uses a different executable name, update the shortcut target accordingly.

Comment thread bucket/browseros.json
@SorYoshino

Copy link
Copy Markdown
Contributor

Is it necessary to add the env_set field? See: ScoopInstaller/Scoop#6299

"env_set": {
"CHROME_EXECUTABLE": "$dir\\chrome.exe"
},

@haussmann

Copy link
Copy Markdown
Contributor Author

Thank you, I guess it makes sense to add it to be consistent with other (chrome-based) browsers.

@haussmann

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

browseros

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Comment thread bucket/browseros.json Outdated
Comment thread bucket/browseros.json Outdated
Comment thread bucket/browseros.json Outdated
@z-Fng z-Fng changed the title browseros: Add version 0.34.0 browseros: Add version 0.36.1 Jan 9, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
bucket/browseros.json (1)

5-5: Consider using SPDX license expression format.

The license field uses a comma-separated string. While functional, SPDX expressions are preferred for clarity and machine-readability.

♻️ Proposed fix for license format
-    "license": "AGPL-3.0-only, BSD-3-Clause",
+    "license": "AGPL-3.0-only OR BSD-3-Clause",

Alternatively, use an array format:

    "license": ["AGPL-3.0-only", "BSD-3-Clause"],
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0da70fb and fce2201.

📒 Files selected for processing (1)
  • bucket/browseros.json
🧰 Additional context used
🧠 Learnings (9)
📓 Common learnings
Learnt from: haussmann
Repo: ScoopInstaller/Extras PR: 16863
File: bucket/browseros.json:15-17
Timestamp: 2025-12-21T13:49:44.001Z
Learning: In Scoop manifests, when a URL uses a fragment like `#/dl.7z`, Scoop automatically extracts the archive after download. For nested archives (like BrowserOS), the downloaded installer may contain another archive (e.g., `chrome.7z`) that requires explicit extraction via the installer script using `Expand-7zipArchive`. The installer script should reference the inner archive name, not the outer `dl.7z`.
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format.
Learnt from: Ra2-IFV
Repo: ScoopInstaller/Extras PR: 16672
File: bucket/chromium-clang.json:12-12
Timestamp: 2025-11-29T22:02:34.868Z
Learning: In the chromium-clang.json manifest (bucket/chromium-clang.json), the extract_dir value "chrome-win32" is a fixed name determined by the upstream Chromium_Clang archive structure and should not be changed, even though the manifest targets 64-bit architecture.
📚 Learning: 2025-11-29T22:02:34.868Z
Learnt from: Ra2-IFV
Repo: ScoopInstaller/Extras PR: 16672
File: bucket/chromium-clang.json:12-12
Timestamp: 2025-11-29T22:02:34.868Z
Learning: In the chromium-clang.json manifest (bucket/chromium-clang.json), the extract_dir value "chrome-win32" is a fixed name determined by the upstream Chromium_Clang archive structure and should not be changed, even though the manifest targets 64-bit architecture.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-12-21T13:49:44.001Z
Learnt from: haussmann
Repo: ScoopInstaller/Extras PR: 16863
File: bucket/browseros.json:15-17
Timestamp: 2025-12-21T13:49:44.001Z
Learning: In Scoop manifests, when a URL uses a fragment like `#/dl.7z`, Scoop automatically extracts the archive after download. For nested archives (like BrowserOS), the downloaded installer may contain another archive (e.g., `chrome.7z`) that requires explicit extraction via the installer script using `Expand-7zipArchive`. The installer script should reference the inner archive name, not the outer `dl.7z`.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-16T15:59:21.258Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/fvim.json:45-49
Timestamp: 2025-10-16T15:59:21.258Z
Learning: In Scoop manifests, the `autoupdate.url` and `autoupdate.architecture.<arch>.url` fields must be valid URIs according to the JSON schema (defined with `"format": "uri"`). Variables like `$matchUrlx64` that contain only path segments must be combined with a base URL (e.g., `https://github.com/.../releases/download/`) to form a complete valid URI.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds in recent versions uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format. This was confirmed by a working 10.0.0 update with valid hash.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-13T09:37:06.093Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16328
File: bucket/winutil.json:0-0
Timestamp: 2025-10-13T09:37:06.093Z
Learning: When reviewing code in Scoop manifests, always verify the actual file content if the diff appears incomplete or unusual, as diff context can be truncated or displayed incorrectly. The pattern `[string[]](...).ForEach{...}` is commonly used in post_uninstall scripts across the Extras repository.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-10-15T11:54:31.320Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16341
File: bucket/foxit-pdf-reader.json:47-50
Timestamp: 2025-10-15T11:54:31.320Z
Learning: In bucket/foxit-pdf-reader.json and bucket/foxit-reader.json, the checkver script uses MaximumRedirection 1 (not 0) for Invoke-WebRequest to properly handle Foxit's backend redirect behavior when parsing the Location header for version detection.

Applied to files:

  • bucket/browseros.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
Repo: ScoopInstaller/Extras PR: 16106
File: bucket/czkawka-gui.json:25-25
Timestamp: 2025-09-05T09:41:52.653Z
Learning: For czkawka-gui manifests in Scoop Extras, the correct upstream filename pattern for Windows GUI builds uses "gtk46" (without underscore), not "gtk_46" (with underscore). The autoupdate URL should use "windows_czkawka_gui_gtk46.zip" format.

Applied to files:

  • bucket/browseros.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (8)
bucket/browseros.json (8)

12-14: LGTM: Nested archive extraction is correctly implemented.

The installer script properly handles the nested archive structure by extracting chrome.7z (the inner archive) with the correct extract directory. This aligns with the documented learning for BrowserOS manifests.

Based on learnings, the installer script correctly references the inner archive name (chrome.7z) rather than the outer archive (dl.7z).


15-20: LGTM: Portable mode migration logic is sound.

The post-install script correctly implements a one-time migration from the system-installed User Data to the portable location, only when the portable directory is empty and system data exists. This prevents unintended overwrites.


21-23: LGTM: Environment variable configuration is appropriate.

Setting CHROME_EXECUTABLE is consistent with other Chromium-based browser manifests in the Extras bucket and was discussed in the PR as intentional.


24-30: LGTM: Shortcut configuration correctly enforces portable mode.

The shortcut properly launches BrowserOS with the --user-data-dir flag pointing to the persisted User Data directory, ensuring portable operation.


31-31: LGTM: Persistence configuration is correct.

The User Data directory is properly marked for persistence, ensuring user data survives updates and reinstalls.


32-35: LGTM: Version detection pattern is correctly structured.

The checkver configuration properly captures both the tag and version from the release assets, enabling accurate autoupdate functionality.


8-8: The URL is valid and working correctly. The GitHub API confirms that the latest release has tag v0.36.0 with the asset filename BrowserOS_v0.36.1_x64_installer.exe, which matches the current URL exactly. The current URL returns HTTP 302 (redirect), indicating successful resolution, while "corrected" alternatives with matching tag/filename combinations return 404 errors and do not exist at GitHub.

Likely an incorrect or invalid review comment.


36-42: No action needed for autoupdate hash block.

BrowserOS releases do not include hash files (SHA256SUMS, checksums, etc.), so the autoupdate block is correctly configured without hash extraction. Manual hash updates are not feasible without upstream hash data.

Likely an incorrect or invalid review comment.

@z-Fng

z-Fng commented Jan 9, 2026

Copy link
Copy Markdown
Member

/verify

@github-actions

github-actions Bot commented Jan 9, 2026

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

browseros

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@z-Fng z-Fng left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution!

The manifest will update automatically as the package updates, as long as the upstream releases new packages that follow the same pattern defined in the manifest. If there are any other changes, feel free to submit a PR.

@z-Fng z-Fng merged commit ec33abf into ScoopInstaller:master Jan 9, 2026
3 checks passed
@haussmann haussmann deleted the new/browseros branch January 10, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request]: BrowserOS

3 participants