Skip to content

Conversation

@Mahir007
Copy link
Contributor

@Mahir007 Mahir007 commented Nov 1, 2025

Added manifest for Delta Patcher

Closes #16519

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

Summary by CodeRabbit

Release Notes

  • Chores
    • Added DeltaPatcher GUI to automated updater distribution system supporting both 32-bit and 64-bit architectures.
    • Configured automatic version checking and updates from GitHub releases.

@coderabbitai
Copy link

coderabbitai bot commented Nov 1, 2025

Walkthrough

Introduces a new JSON manifest file for DeltaPatcher GUI containing metadata, architecture-specific download entries with SHA-256 hashes, shortcuts configuration, GitHub-based version checking, and templated autoupdate settings for both 32-bit and 64-bit binaries.

Changes

Cohort / File(s) Summary
DeltaPatcher Manifest Configuration
bucket/deltapatcher.json
New manifest file specifying version 3.1.6, GPL-2.0-only license, architecture-specific downloads with SHA-256 hashes, desktop shortcut mapping, GitHub-based checkver source, and autoupdate configuration with templated URLs

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Verify JSON syntax and schema validity
  • Confirm SHA-256 hashes match actual release artifacts
  • Validate download URLs for correctness and accessibility
  • Ensure version number and template variables align with release conventions

Suggested labels

review-needed

Suggested reviewers

  • z-Fng

Poem

🐰 A manifest so neat, with versions in place,
Hashes and URLs dancing in space,
Autoupdate magic with GitHub's embrace,
DeltaPatcher now updates at its own pace! 🚀

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The PR title "deltapatcher: Add version 3.1.6" directly corresponds to the main change in the changeset, which introduces a new JSON manifest file for DeltaPatcher version 3.1.6. The title is concise, clear, and follows the conventional format suggested in the repository template (<manifest-name[@version]>: <general summary>), making it immediately understandable for teammates reviewing the git history.
Description Check ✅ Passed The PR description meets the template requirements with all key elements present: it provides a clear summary of the change ("Added manifest for Delta Patcher"), includes a reference to a related issue ("Closes #16519"), and confirms completion of both required checkboxes for conventional PR title format and reading the Contributing Guide. The description adequately documents the intent and scope of the pull request according to the repository's expectations.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 96d8e4a and 2c2ac3d.

📒 Files selected for processing (1)
  • bucket/deltapatcher.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.
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: qyurila
Repo: ScoopInstaller/Extras PR: 16346
File: bucket/zed.json:18-21
Timestamp: 2025-10-16T06:32:15.420Z
Learning: The Zed Windows application has three separate executables after InnoSetup extraction:
- `zed.exe` at root: GUI application (used in shortcuts)
- `bin/zed`: Shell script for WSL integration
- `bin/zed.exe`: Zed CLI binary with different behavior than the GUI
All three should be preserved in the manifest.
📚 Learning: 2025-10-16T13:42:43.224Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16349
File: bucket/debugviewpp.json:14-21
Timestamp: 2025-10-16T13:42:43.224Z
Learning: In the DebugViewPP project (CobaltFusion/DebugViewPP), the executable name changed from "DebugView++.exe" (in v1.8.0.103 and earlier) to "Debugviewpp.exe" (in v1.9.0.28 and later). The manifest bucket/debugviewpp.json correctly uses "Debugviewpp.exe" for current versions.

Applied to files:

  • bucket/deltapatcher.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/deltapatcher.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/deltapatcher.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/deltapatcher.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 (4)
bucket/deltapatcher.json (4)

26-35: Clarify why autoupdate block lacks hash entries.

The autoupdate section (lines 26-35) defines architecture-specific URLs with version templating but does not include hash entries. Per a prior learning from CompactGUI (PR 16378), hash entries are sometimes omitted from autoupdate blocks when hash extraction mechanisms are unavailable.

Confirm whether:

  1. This is intentional for DeltaPatcher (e.g., hashes cannot be reliably extracted from GitHub releases)
  2. Or whether hash entries should be added (using a hash extraction pattern if available)

19-24: Verify DeltaPatcher.exe is the primary application executable.

The shortcut maps DeltaPatcher.exe to "Delta Patcher". Confirm that this is the correct executable name and primary entry point in the extracted archive. If there are multiple executables or dependencies (e.g., DLLs or supporting binaries), verify that all necessary files are preserved in the archive.


9-18: URLs verified; manually confirm SHA-256 hashes for both artifacts.

Both architecture-specific assets exist on the v3.1.6 release:

  • windows_bin_x86.zip ✓ present (1540181 bytes)
  • windows_bin_x86_64.zip ✓ present (1708288 bytes)

Verify the SHA-256 hashes by downloading the artifacts and computing their digests locally:

32-bit manifest: 447b434dbf0518c92a876b6081c5530dc1cb0730f91b0036016e1c8af15dcb85
64-bit manifest: 6fae5d8af839339a9adaf053f30d9444476ee2ca45cb0f38049f7c82ba5c01be

1-8: Metadata alignment verified; verify GitHub URLs and hashes.

The manifest metadata is correct: version 3.1.6 matches the latest upstream release (published 18 Aug 2025), license identifier aligns with GPL-2.0, and JSON structure is valid. However, manually verify:

  • GitHub release URLs (32bit and 64bit) resolve to actual v3.1.6 artifacts
  • SHA-256 hashes match the actual downloaded files
  • DeltaPatcher.exe is the correct primary executable
  • Missing hashes in autoupdate block is intentional design (not an oversight)

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

github-actions bot commented Nov 1, 2025

All changes look good.

Wait for review from human collaborators.

deltapatcher

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

Check the full log for details.

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]: Delta Patcher

1 participant