Skip to content

Conversation

@BlackWinnerYoshi
Copy link
Contributor

@BlackWinnerYoshi BlackWinnerYoshi commented Dec 27, 2025

Note: I also replaced checkver of extras/mullvad-browser, as per comment in https://cdn.mullvad.net/browser/update_responses/update_1/release/downloads.json: This file is deprecated and should not be used. Please use the files download-$platform.json instead.. I could've used https://cdn.mullvad.net/browser/update_responses/update_1/release/download-windows-x86_64.json, but using GitHub Releases is easier.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • Updates
    • Mullvad Browser: Switched distribution and update sources to GitHub releases; updated description to highlight reduced tracking and fingerprinting; adjusted update/checksum handling.
    • XL Converter: Improved description (added modern formats and tools), normalized homepage URL, and clarified license as GPL-3.0-only.
    • XNConvert: Clarified description for batch resizing and conversion; reorganized platform/update entries and related URLs.

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 27, 2025

Walkthrough

Three Scoop package manifests are modified: mullvad-browser.json switches 64-bit Windows sources and update autoupdate/checkver from CDN to GitHub (removing hash-fetch block), xl-converter.json updates metadata and license, and xnconvert.json removes the top-level $schema and reorganizes architecture/autoupdate blocks and description.

Changes

Cohort / File(s) Summary
Mullvad Browser Configuration
bucket/mullvad-browser.json
Replaced CDN source URLs with GitHub releases for 64-bit Windows; switched checkver to GitHub repo; updated autoupdate to use GitHub release URL; removed autoupdate hash-fetch block; updated description to mention minimized tracking/fingerprinting.
XL Converter Metadata
bucket/xl-converter.json
Removed top-level "$schema"; updated description to list additional formats/features; normalized homepage (removed trailing slash); changed license from GPL-3.0 to GPL-3.0-only.
XNConvert Architecture
bucket/xnconvert.json
Removed top-level "$schema"; reordered architecture entries (32bit before 64bit) and adjusted corresponding autoupdate architecture block to match; updated description to clarify batch/photo resizing and conversion capabilities; no functional fields (extract_dir, pre_install, shortcuts, uninstaller, checkver) altered.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A rabbit hops through manifests bright,
Moving CDN clouds to GitHub light,
Licenses set and architectures aligned,
Small edits made with tidy mind,
Hooray — the buckets dance tonight!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The PR description follows the required template structure, includes an explanation of the changes (particularly for mullvad-browser), and confirms both checklist items are completed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately reflects the main changes: removing $schema fields and updating metadata across three manifest files.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
Contributor

All changes look good.

Wait for review from human collaborators.

mullvad-browser

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

xl-converter

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

xnconvert

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

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
bucket/xnconvert.json (1)

43-51: Duplicate: Autoupdate inherits the version divergence issue.

The autoupdate block mirrors the same architecture inconsistency flagged above, where 32-bit uses the latest URL and 64-bit relies on old_versions. This is consistent with the architecture block but inherits the same problem.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1c93c4e and 3d58cf8.

📒 Files selected for processing (3)
  • bucket/mullvad-browser.json
  • bucket/xl-converter.json
  • bucket/xnconvert.json
🧰 Additional context used
🧠 Learnings (7)
📓 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.
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: 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`.
📚 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/xnconvert.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/xnconvert.json
  • bucket/mullvad-browser.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/xnconvert.json
  • bucket/mullvad-browser.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/xnconvert.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/mullvad-browser.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/mullvad-browser.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/mullvad-browser.json (4)

3-3: LGTM: Description accurately reflects the browser's privacy focus.

The updated description correctly emphasizes the privacy features of Mullvad Browser.


24-24: LGTM: Checkver source aligns with the GitHub releases switch.

The checkver configuration correctly points to the GitHub repository, which is consistent with the URL source change.


8-8: GitHub releases is confirmed as an official and recommended distribution channel for Mullvad Browser according to Mullvad's official documentation. No action required.


26-32: Hash verification in autoupdate is optional and not required.

Scoop's autoupdate mechanism does not mandate hash extraction from sources. When no extractable hash is specified, Scoop automatically falls back to downloading the file and computing the hash locally. The missing hash field does not pose a security concern and is a valid design choice.

Likely an incorrect or invalid review comment.

bucket/xnconvert.json (2)

3-3: LGTM: Description accurately reflects XnConvert's features.

The updated description provides clearer information about the tool's batch processing and conversion capabilities.


10-17: No changes needed. The manifest correctly reflects upstream XnView's release strategy: 32-bit builds were discontinued (frozen at the generic download URL from March 2023), while 64-bit builds continue to be actively maintained and updated to version 1.106.0. The architecture-specific URLs are appropriate and not a configuration error.

Likely an incorrect or invalid review comment.

bucket/xl-converter.json (2)

3-3: LGTM: Description provides comprehensive feature details.

The updated description effectively communicates XL Converter's technical capabilities and supported formats.


4-4: LGTM: Minor URL cleanup.

Removing the trailing slash is a minor stylistic improvement and doesn't affect functionality.

@BlackWinnerYoshi BlackWinnerYoshi changed the title (chore): remove hardcoded $schema, update metadata (chore): Remove hardcoded $schema, update metadata Dec 27, 2025
@BlackWinnerYoshi
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

mullvad-browser

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

xl-converter

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

xnconvert

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

Check the full log for details.

Copy link
Member

@z-Fng z-Fng left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution!

@z-Fng z-Fng changed the title (chore): Remove hardcoded $schema, update metadata (chore): Remove hardcoded $schema fields, update metadata Dec 27, 2025
@z-Fng z-Fng changed the title (chore): Remove hardcoded $schema fields, update metadata (chore): Remove $schema fields, update metadata Dec 27, 2025
@z-Fng z-Fng merged commit 6f95d94 into ScoopInstaller:master Dec 27, 2025
3 checks passed
@BlackWinnerYoshi BlackWinnerYoshi deleted the remove-schema branch December 28, 2025 01:16
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.

2 participants