Skip to content

Conversation

@scillidan
Copy link
Contributor

@scillidan scillidan commented Jan 11, 2026

Closes #15029

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

Summary by CodeRabbit

  • Chores
    • Added package manager support for Link Shell Extension, enabling installation and updates for both 32-bit and 64-bit systems with automatic version detection.

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

@coderabbitai
Copy link

coderabbitai bot commented Jan 11, 2026

Warning

Rate limit exceeded

@scillidan has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 24 minutes and 44 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between caa520d and ef9bd2a.

📒 Files selected for processing (1)
  • bucket/link-shell-extension.json

Walkthrough

A new Scoop manifest file for Link Shell Extension has been added to the bucket. The manifest defines installation parameters for this Windows utility, including version tracking, architecture-specific installers (64-bit and 32-bit), uninstallers, shortcuts mapping, and automatic version detection with update URLs.

Changes

Cohort / File(s) Summary
Link Shell Extension Manifest
bucket/link-shell-extension.json
New Scoop manifest for Link Shell Extension utility. Includes version metadata, installer/uninstaller scripts for dual architectures, SHA256 hash verification, shortcuts configuration, version detection regex, and autoupdate URL patterns.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

review-needed

Suggested reviewers

  • z-Fng

Poem

🐰 A new manifest hops into place,
Link Shell Extension joins the Scoop race,
Hard links and junctions, now easy to find,
Windows Explorer shortcuts in mind,
One little JSON, so tidy and neat! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the manifest name and version being added, which is the primary change in the PR.
Description check ✅ Passed The PR description includes a reference to issue #15029, follows the conventional PR title format, and confirms reading the contributing guide as required by the template.
Linked Issues check ✅ Passed The changes implement all coding requirements from issue #15029: the manifest includes all required fields, proper architecture-specific entries, installer/uninstaller definitions, checkver and autoupdate sections for version management.
Out of Scope Changes check ✅ Passed The PR adds only a single manifest file for Link Shell Extension version 3.9.3.5, which is precisely what issue #15029 requested with no extraneous changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

Invalid manifests

  • link-shell-extension

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

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between 0afc908 and caa520d.

📒 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 -RunAs for 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 /noredist flag only skips bundled installation; it doesn't make vcredist optional. However, available documentation references Visual C++ 2005 and 2017 as dependencies, while this manifest specifies vcredist2022. Verify that 2022 is the correct version for the current build.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@scillidan
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

Invalid manifests

  • link-shell-extension

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]: Link Shell Extension

1 participant