Skip to content

Conversation

@SorYoshino
Copy link
Contributor

@SorYoshino SorYoshino commented Oct 20, 2025

Summary

This PR improves the madVR manifest for better maintainability and compatibility.

Related Issue

Changes

  • Updated homepage to https://madshi.net.
  • Removed unnecessary dependency on gsudo.
  • Improved pre_install script structure for readability and safety.
  • Replaced sudo calls with Invoke-Expression to ensure better compatibility.
  • Enhanced checkver to fetch version info directly from the official Doom9 forum thread.

Testing

# The manifest can be automatically updated as normal
┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App madvr -Dir "D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket" -f        
madvr: 0.92.17 (scoop version is 0.92.17)
Forcing autoupdate!
Autoupdating madvr
DEBUG[1760971339] [$updatedProperties] = [url hash] -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:491:5
DEBUG[1760971340] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1760971340] $substitutions.$cleanVersion                  09217
DEBUG[1760971340] $substitutions.$matchHead                     0.92.17
DEBUG[1760971340] $substitutions.$preReleaseVersion             0.92.17
DEBUG[1760971340] $substitutions.$patchVersion                  17
DEBUG[1760971340] $substitutions.$minorVersion                  92
DEBUG[1760971340] $substitutions.$match1                        0.92.17
DEBUG[1760971340] $substitutions.$dotVersion                    0.92.17
DEBUG[1760971340] $substitutions.$dashVersion                   0-92-17
DEBUG[1760971340] $substitutions.$baseurl                       https://www.videohelp.com/download
DEBUG[1760971340] $substitutions.$urlNoExt                      https://www.videohelp.com/download/madVR09217
DEBUG[1760971340] $substitutions.$underscoreVersion             0_92_17
DEBUG[1760971340] $substitutions.$buildVersion
DEBUG[1760971340] $substitutions.$basename                      madVR09217.zip
DEBUG[1760971340] $substitutions.$matchTail
DEBUG[1760971340] $substitutions.$basenameNoExt                 madVR09217
DEBUG[1760971340] $substitutions.$version                       0.92.17
DEBUG[1760971340] $substitutions.$url                           https://www.videohelp.com/download/madVR09217.zip
DEBUG[1760971340] $substitutions.$majorVersion                  0
DEBUG[1760971340] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
Downloading madVR09217.zip to compute hashes!
Loading madVR09217.zip from cache
Computed hash: 87e088f7b5de20d0a9065c73015d7fb7c225870380dd3169c70171b77e74bb97
Writing updated madvr manifest

# Install madVR without administrator privileges
┏[ D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket][ madvr ≢]
└─>  scoop install .\madvr.json
Installing 'madvr' (0.92.17) [64bit] from 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket\madvr.json'
Loading madVR09217.zip from cache.
Checking hash of madVR09217.zip ... ok.
Extracting madVR09217.zip ... done.
Running pre_install script...done.
Running installer script...ERROR madvr requires admin rights to install

# Install madVR with administrator privileges
┏[ D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket][ madvr ≢]
└─> scoop install .\madvr.json
Installing 'madvr' (0.92.17) [64bit] from 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket\madvr.json'
Loading madVR09217.zip from cache.
Checking hash of madVR09217.zip ... ok.
Extracting madVR09217.zip ... done.
Running pre_install script...done.
Running installer script...

   Installation succeeded.

   Please do not delete the madVR folder.
   The installer has not copied the files anywhere.

done.
Linking D:\Software\Scoop\Local\apps\madvr\current => D:\Software\Scoop\Local\apps\madvr\0.92.17
Creating shortcut for madTPG (madTPG.exe)
Creating shortcut for NVidia & Intel RGB Levels Tweaker (madLevelsTweaker.exe)
Creating shortcut for mad Home Cinema Control (madHcCtrl.exe)
Persisting settings.bin
'madvr' (0.92.17) was installed successfully!

# Update madVR with administrator privileges
┏[ D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket][ madvr ≢]
└─> scoop update madvr -f
madvr: 0.92.17 -> 0.92.17
Updating one outdated app:
Updating 'madvr' (0.92.17 -> 0.92.17)
Downloading new version
Loading madVR09217.zip from cache.
Checking hash of madVR09217.zip ... ok.
Uninstalling 'madvr' (0.92.17)
Running uninstaller script...

   Uninstallation succeeded.

done.
Unlinking D:\Software\Scoop\Local\apps\madvr\current
Installing 'madvr' (0.92.17) [64bit] from 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket\madvr.json'
Loading madVR09217.zip from cache.
Extracting madVR09217.zip ... done.
Running pre_install script...done.
Running installer script...

   Installation succeeded.

   Please do not delete the madVR folder.
   The installer has not copied the files anywhere.

done.
Linking D:\Software\Scoop\Local\apps\madvr\current => D:\Software\Scoop\Local\apps\madvr\0.92.17
Creating shortcut for madTPG (madTPG.exe)
Creating shortcut for NVidia & Intel RGB Levels Tweaker (madLevelsTweaker.exe)
Creating shortcut for mad Home Cinema Control (madHcCtrl.exe)
Persisting settings.bin
'madvr' (0.92.17) was installed successfully!
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • Bug Fixes

    • More reliable install/uninstall flow: preserves admin-check behavior, ensures required settings file exists, and normalizes bundled scripts for consistent execution.
  • Chores

    • Updated homepage URL to current site.
    • Removed an unnecessary dependency.
    • Improved version-checking to use a structured source and pattern for updates.

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

madvr

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

Check the full log for details.

@coderabbitai
Copy link

coderabbitai bot commented Oct 20, 2025

Walkthrough

Update to bucket/madvr.json: homepage moved to https://madshi.net, removed depends on gsudo, refactored pre_install into a multi-step block creating settings.bin and rewriting bat files with ASCII encoding, replaced sudo calls with PowerShell Invoke-Expression in installer/uninstaller, and made checkver a structured object pointing to the forum URL with a new regex.

Changes

Cohort / File(s) Change Summary
Manifest
bucket/madvr.json
Homepage updated to https; removed depends (gsudo); pre_install refactored into multi-step block that ensures settings.bin and rewrites install.bat/uninstall.bat with ASCII encoding; installer.script/uninstaller.script now invoke bat files via Invoke-Expression instead of sudo; checkver converted from string to object with url and regex.

Sequence Diagram(s)

sequenceDiagram
    participant User as Scoop/Installer
    participant PS as PowerShell
    participant BAT as install.bat / uninstall.bat

    rect #E8F5E9
    User->>PS: Run installer.script / uninstaller.script
    Note right of PS: Checks admin rights (unchanged behavior)
    end

    rect #FFF3E0
    PS->>BAT: Invoke-Expression -Command "$dir\\install.bat"
    BAT-->>PS: exit code / status
    PS-->>User: return status
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • z-Fng

Poem

🐇 I hop through manifests, tidy and neat,
Swapped http for https, made gsudo take a seat,
Bats rewritten in ASCII, standing true,
PowerShell calls the dances, through and through,
A little rabbit cheer for changes new! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The PR title "madvr@0.92.17: update homepage, improve scripts and checkver" follows the conventional format <manifest-name[@version]>: <general summary> and is directly related to the changeset. It clearly summarizes the three main improvements: updating the homepage, improving scripts, and enhancing checkver functionality. The title is concise, specific, and gives a teammate scanning the history a clear understanding of the primary changes made to the madvr manifest.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description Check ✅ Passed The pull request description comprehensively addresses all required elements from the template. It includes a "Relates to #16379" reference satisfying the issue linkage requirement, properly formatted checkboxes confirming use of conventional PR title format and reading of the Contributing Guide, and provides well-structured sections for Summary, Changes, and Testing. The description goes beyond the template minimum by including detailed change explanations and comprehensive testing logs with actual PowerShell output demonstrating that the manifest functions correctly across different scenarios (checkver updates, installations with/without admin rights, and updates).
✨ 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.

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.

1 participant