link-shell-extension: Add version 3.9.3.5#16982
link-shell-extension: Add version 3.9.3.5#16982scillidan wants to merge 5 commits intoScoopInstaller:masterfrom
Conversation
WalkthroughAdds a new Scoop manifest Changes
Sequence Diagram(s)(Skipped — change is a single manifest file and does not introduce multi-component control flow requiring a sequence diagram.) Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (5)📓 Common learnings📚 Learning: 2025-10-19T13:58:23.389ZApplied to files:
📚 Learning: 2025-11-29T22:02:34.868ZApplied to files:
📚 Learning: 2025-10-14T11:24:17.524ZApplied to files:
📚 Learning: 2025-10-16T13:42:43.224ZApplied to files:
⏰ 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)
🔇 Additional comments (6)
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. Comment |
|
Your changes did not pass all checks. Please address the issues in the manifest and comment starting with Invalid manifests
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @bucket/link-shell-extension.json:
- Line 3: The "description" value contains a double space after the word
"Offers"; open the JSON object's "description" key and remove the extra space so
it reads "Offers the creation of Hardlinks..." instead of "Offers the
creation..."; update the string in the diff (the "description" value)
accordingly and ensure no other unintended spacing changes are introduced.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/link-shell-extension.json
🧰 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: 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: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:15:55.229Z
Learning: In PotPlayer manifests (bucket/potplayer.json), PotPlayer*.ini files (PotPlayer.ini, PotPlayer64.ini, PotPlayerMini.ini, PotPlayerMini64.ini) work correctly with Scoop's hard links and don't need special handling in post_install scripts.
Learnt from: Lutra-Fs
Repo: ScoopInstaller/Extras PR: 16020
File: bucket/regedix.json:6-8
Timestamp: 2025-09-26T02:55:31.132Z
Learning: For Scoop manifests, prefer using "suggest" over "depends" for .NET runtime dependencies because user machines often have externally managed .NET runtimes already installed, and using "depends" could cause duplicate installations of the same runtime.
📚 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/link-shell-extension.json
📚 Learning: 2025-10-14T11:24:17.524Z
Learnt from: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:24:17.524Z
Learning: In PotPlayer manifests (bucket/potplayer.json), the Extention folder (note the typo) is a legacy folder from older PotPlayer installers and is no longer included in newer installers. It's kept in the persist list to maintain backward compatibility with existing installations.
Applied to files:
bucket/link-shell-extension.json
📚 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/link-shell-extension.json
📚 Learning: 2025-10-14T11:15:55.229Z
Learnt from: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:15:55.229Z
Learning: In PotPlayer manifests (bucket/potplayer.json), PotPlayer*.ini files (PotPlayer.ini, PotPlayer64.ini, PotPlayerMini.ini, PotPlayerMini64.ini) work correctly with Scoop's hard links and don't need special handling in post_install scripts.
Applied to files:
bucket/link-shell-extension.json
🪛 GitHub Actions: Pull Requests
bucket/link-shell-extension.json
[error] 1-1: Conversion failed. Invalid JSON in manifest. Skipped bucket/link-shell-extension.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 (7)
bucket/link-shell-extension.json (7)
22-24: LGTM! Installer script is properly configured.The installer correctly uses
-RunAsfor admin privileges (required for shell extension registration), silent installation flags, and sets the installation directory appropriately.
39-42: Checkver regex pattern is correctly configured.The regex pattern
">Last Updated .+ Version ([\\d.]+)<"successfully matches the version string on the homepage. Testing confirms it correctly captures the version number (e.g., 3.9.3.5) from the expected HTML format.
1-53: The JSON in this manifest is syntactically valid and does not require investigation for JSON validity issues. jq validation confirms proper JSON structure.Likely an incorrect or invalid review comment.
43-52: The upstream does not provide checksums on the download page, so the autoupdate block correctly omits hash verification. This is consistent with other manifests in the repository that rely on the same upstream behavior.
33-38: The shortcut definition is correct. LSEConfig.exe is a standard executable installed by the Link Shell Extension installer and serves as the configuration tool for the application.Likely an incorrect or invalid review comment.
25-32: No issues identified. The uninstaller executable names in the manifest are verified as correct according to official Hard Link Shell Extension documentation:
- 64bit:
uninst-HardLinkShellExt_X64.exe✓- 32bit:
uninst-HardLinkShellExt_win32.exe✓
9-11: Link Shell Extension does require Visual C++ Redistributables.The
/noredistflag only skips bundled installation; it doesn't make vcredist optional. However, available documentation references Visual C++ 2005 and 2017 as dependencies, while this manifest specifiesvcredist2022. Verify that 2022 is the correct version for the current build.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
|
/verify |
|
Your changes did not pass all checks. Please address the issues in the manifest and comment starting with Invalid manifests
|
|
/verify |
|
Your changes did not pass all checks. Please address the issues in the manifest and comment starting with Invalid manifests
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @bucket/link-shell-extension.json:
- Line 15: Replace the full-width Chinese comma characters (, U+FF0C) used after
the "hash" value and other entries (e.g., the occurrence near the second hash
entry) with standard ASCII commas (',' U+002C) so the JSON is syntactically
valid; search for the "hash" key and any trailing punctuation in the same object
(including the second occurrence referenced) and correct those punctuation
characters to ASCII commas.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/link-shell-extension.json
🧰 Additional context used
🧠 Learnings (6)
📓 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: 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: 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: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:15:55.229Z
Learning: In PotPlayer manifests (bucket/potplayer.json), PotPlayer*.ini files (PotPlayer.ini, PotPlayer64.ini, PotPlayerMini.ini, PotPlayerMini64.ini) work correctly with Scoop's hard links and don't need special handling in post_install scripts.
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.
Learnt from: Lutra-Fs
Repo: ScoopInstaller/Extras PR: 16020
File: bucket/regedix.json:6-8
Timestamp: 2025-09-26T02:55:31.132Z
Learning: For Scoop manifests, prefer using "suggest" over "depends" for .NET runtime dependencies because user machines often have externally managed .NET runtimes already installed, and using "depends" could cause duplicate installations of the same runtime.
📚 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/link-shell-extension.json
📚 Learning: 2025-10-14T11:24:17.524Z
Learnt from: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:24:17.524Z
Learning: In PotPlayer manifests (bucket/potplayer.json), the Extention folder (note the typo) is a legacy folder from older PotPlayer installers and is no longer included in newer installers. It's kept in the persist list to maintain backward compatibility with existing installations.
Applied to files:
bucket/link-shell-extension.json
📚 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/link-shell-extension.json
📚 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/link-shell-extension.json
📚 Learning: 2025-10-14T11:15:55.229Z
Learnt from: SorYoshino
Repo: ScoopInstaller/Extras PR: 16333
File: bucket/potplayer.json:55-64
Timestamp: 2025-10-14T11:15:55.229Z
Learning: In PotPlayer manifests (bucket/potplayer.json), PotPlayer*.ini files (PotPlayer.ini, PotPlayer64.ini, PotPlayerMini.ini, PotPlayerMini64.ini) work correctly with Scoop's hard links and don't need special handling in post_install scripts.
Applied to files:
bucket/link-shell-extension.json
🪛 Biome (2.1.2)
bucket/link-shell-extension.json
[error] 15-15: unexpected character ,
(parse)
[error] 16-16: expected , but instead found "uninstaller"
Remove "uninstaller"
(parse)
[error] 22-23: unexpected character ,
(parse)
[error] 23-23: expected , but instead found "uninstaller"
Remove "uninstaller"
(parse)
⏰ 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/link-shell-extension.json (4)
1-11: Metadata and dependency declaration look good.The version, description, license info, and suggested vcredist dependency are properly configured. Using
suggestrather thandependsfor the VC++ runtime is the correct approach per repository conventions.
28-30: Installer script is appropriate for NSIS-based shell extensions.The use of
Invoke-ExternalCommandwith-RunAsand NSIS arguments (/S,/noredist,/Language=English,/D=$dir) is correct for this type of installer that requires elevation to register shell extensions.
37-50: Version checking and autoupdate configuration are correct.The
checkverregex properly extracts the version from the homepage, and$cleanVersioncorrectly produces the URL path segment (e.g.,3.9.3.5→3935) matching the upstream download structure.
31-36: Shortcut configuration is appropriate.The configuration utility (
LSEConfig.exe) is the correct choice for a shortcut since the main functionality is accessed via Explorer context menu integration.
|
/verify |
|
All changes look good. Wait for review from human collaborators. link-shell-extension
|
|
/verify |
|
All changes look good. Wait for review from human collaborators. link-shell-extension
|
Closes #15029
<manifest-name[@version]|chore>: <general summary of the pull request>Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.