Skip to content

Conversation

@val1984
Copy link
Contributor

@val1984 val1984 commented Aug 25, 2025

UniGetUI.Installer.exe does not seem to be using InnoSetup anymore (innounp doesn't manage to unpack it).

This PR makes the following changes:

  • Update autoupdate to use the zip package instead of Inno Setup package.
  • Update homepage & description.
  • Add architecture field to fix incorrect architecture support. Move URL & hash under architecture.64bit.
  • Simplify persist & pre_install.
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • New Features

    • Switched installation to a portable 64-bit ZIP, enabling easier setup and portability.
    • User data now persists across updates (ForceUniGetUIPortable and Settings).
  • Chores

    • Updated download source and checksum to the ZIP distribution.
    • Streamlined update checks to pull versions directly from GitHub.
    • Simplified manifest by removing legacy installer-specific fields and scripts.
    • Adjusted auto-update hash matching to align with the ZIP artifact.

Becuase UniGetUI.Installer.exe does not seem to be using InnoSetup anymore (innounp doesn't manage to unpack it).

Fixes ScoopInstaller#16053
@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

unigetui

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

@val1984
Copy link
Contributor Author

val1984 commented Aug 26, 2025

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

unigetui

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

@coderabbitai
Copy link

coderabbitai bot commented Sep 10, 2025

Walkthrough

The Scoop manifest for UniGetUI was updated to use a 64-bit ZIP artifact instead of an Inno Setup EXE. Installer-specific fields were removed, new persistence and version-check fields were added, and URLs/hashes for both current and autoupdate paths were updated accordingly.

Changes

Cohort / File(s) Summary
Scoop manifest update
bucket/unigetui.json
Switched top-level url/hash to UniGetUI.x64.zip; removed innosetup and pre_install; added persist (ForceUniGetUIPortable, Settings) and checkver.github; updated autoupdate.url to ZIP and autoupdate.hash.regex to match ZIP SHA256 line.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant U as User
  participant S as Scoop
  participant G as GitHub Releases
  participant FS as Filesystem

  Note over S,G: Install/Update using ZIP (replaces Inno Setup EXE flow)

  U->>S: scoop install/update unigetui
  S->>G: GET UniGetUI.x64.zip (versioned URL)
  G-->>S: ZIP bytes
  S->>FS: Extract ZIP to app dir
  S->>FS: Create persist dirs (ForceUniGetUIPortable, Settings)
  S-->>U: Installation complete

  break Check for new versions
    S->>G: checkver (GitHub)
    G-->>S: latest release tag
    S->>G: autoupdate.hash.regex (fetch checksum text)
    G-->>S: SHA256 line for UniGetUI.x64.zip
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks (4 passed, 1 warning)

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning The PR introduces new manifest properties for persistence (persist) and update verification (checkver) that are not required to address the decompression error described in issue #16053 and go beyond the needed scope of switching to the ZIP distribution. Please limit this PR to the core fix of replacing the installer with the ZIP artifact and consider moving the persist and checkver additions to a separate enhancement PR to keep the scope focused on resolving the decompression error.
✅ Passed checks (4 passed)
Check name Status Explanation
Title Check ✅ Passed The title succinctly follows the repository’s conventional pattern by specifying the manifest and version followed by a concise summary of switching to the ZIP distribution to fix the broken installer, accurately reflecting the core change.
Linked Issues Check ✅ Passed The changes correctly switch the manifest’s URL, hash, and autoupdate settings to the ZIP distribution as required by issue #16053, effectively resolving the decompression failure by avoiding the broken Inno Setup executable.
Description Check ✅ Passed The PR description clearly summarizes the extraction failure with the Inno Setup executable, states that the manifest now points to the ZIP file, includes the closing of issue #16053, and confirms adherence to the repository’s checklist for title conventions and contributing guidelines.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I hopped from EXE to a zippy new way,
No more innosetup on my install day.
I stash my Settings where carrots persist,
Checkver sniffs versions I don’t want to miss.
With hashes aligned, I thump in delight—
Scoop’s burrow is tidy, updates run right. 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning The PR introduces new manifest properties for persistence (persist) and update verification (checkver) that are not required to address the decompression error described in issue #16053 and go beyond the needed scope of switching to the ZIP distribution. Please limit this PR to the core fix of replacing the installer with the ZIP artifact and consider moving the persist and checkver additions to a separate enhancement PR to keep the scope focused on resolving the decompression error.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues Check ✅ Passed The changes correctly switch the manifest’s URL, hash, and autoupdate settings to the ZIP distribution as required by issue #16053, effectively resolving the decompression failure by avoiding the broken Inno Setup executable.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Title Check ✅ Passed The PR title correctly highlights the central change to using a ZIP package, but it also mentions adding an architecture field and a version bump to 3.3.5, neither of which are reflected in the supplied manifest diff. These discrepancies could confuse readers about the actual modifications. Therefore, while the title is partially related, it doesn’t fully or accurately convey the implemented changes.
Description Check ✅ Passed The pull request description includes the required issue references “Closes #16053” and “Relates to #14863”, provides a clear summary of changes, and marks both checklist items as completed according to the repository template. It follows the conventional PR title format and confirms reading the contributing guide. All mandatory sections from the template are present and adequately filled out.
✨ 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.

@val1984 val1984 changed the title [email protected]: use zip version to fix broken install [email protected]: use zip version to fix broken install Sep 10, 2025
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

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

28-28: Harden hash regex to tolerate spacing and optional <code> tags
Update in bucket/unigetui.json (line 28):

-           "regex": "UniGetUI.x64.zip SHA256: <code>$sha256</code>"
+           "regex": "UniGetUI\\.x64\\.zip\\s*SHA256:\\s*(?:<code>)?($sha256)(?:</code>)?"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c266491 and a39bc86.

📒 Files selected for processing (1)
  • bucket/unigetui.json (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: Gitoffthelawn
PR: ScoopInstaller/Extras#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
PR: ScoopInstaller/Extras#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.
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
PR: ScoopInstaller/Extras#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/unigetui.json
📚 Learning: 2025-09-05T09:41:52.653Z
Learnt from: Gitoffthelawn
PR: ScoopInstaller/Extras#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/unigetui.json
🔇 Additional comments (1)
bucket/unigetui.json (1)

25-25: Autoupdate URL looks correct for the ZIP artifact.

No issues spotted; this will track future releases properly.

@Skylark13
Copy link

As mentioned in the original issue: Looks like UniGetUI 3.3.3 just released and that one installs fine (no need for the PR associated to this issue).

@z-Fng z-Fng added the waiting feedback Waiting for user feedback label Oct 12, 2025
@z-Fng z-Fng removed the waiting feedback Waiting for user feedback label Oct 14, 2025
@z-Fng z-Fng changed the title [email protected]: use zip version to fix broken install [email protected]: Use ZIP package, restrict to 64-bit architecture Oct 15, 2025
@z-Fng z-Fng changed the title [email protected]: Use ZIP package, restrict to 64-bit architecture [email protected]: Switch to ZIP package, add architecture field to support 64-bit only Oct 15, 2025
@z-Fng
Copy link
Member

z-Fng commented Oct 15, 2025

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

unigetui

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

Check the full log for details.

@z-Fng z-Fng merged commit 8fc987f into ScoopInstaller:master Oct 15, 2025
3 checks passed
@z-Fng
Copy link
Member

z-Fng commented Oct 15, 2025

Looks like there is a bug in GitHub Actions... Hotfix needed (ae77d70).

All changes look good.

  • Autoupdate Hash Extraction (?)

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.

[email protected]: decompress error

3 participants