Skip to content

soundswitch@7.1.0: Fix file naming issue, add arm64 support#17865

Merged
z-Fng merged 1 commit into
ScoopInstaller:masterfrom
AndeFriday:fix-soundswitch-filenames
May 23, 2026
Merged

soundswitch@7.1.0: Fix file naming issue, add arm64 support#17865
z-Fng merged 1 commit into
ScoopInstaller:masterfrom
AndeFriday:fix-soundswitch-filenames

Conversation

@AndeFriday

Copy link
Copy Markdown
Contributor

The SoundSwitch v7.1.0 installer uses suffixes for filenames (,1 for x64 and ,2 for ARM64).

This PR optimizes the manifest by:

  1. Moving common url and hash to the root (as both architectures use the same installer).
  2. Adding explicit 64bit and arm64 architecture support.
  3. Implementing pre_install scripts to clean up incompatible binaries and rename the correct ones by removing architecture suffixes.

This ensures proper installation and shortcut creation on both x64 and ARM64 Windows systems.

  • Use conventional PR title: soundswitch: fix file naming issue and add arm64 support in v7.1.0
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented May 23, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates the SoundSwitch Scoop manifest to restructure how installer assets are handled across architectures. The installer url and hash are moved from architecture-specific to top-level blocks so both 64-bit and ARM64 architectures inherit them. Pre-install hooks are added to both architectures to delete files matching *,2* and *,1* patterns and rename remaining assets by stripping these markers. Additionally, the autoupdate configuration now includes an explicit url field that formats the download URL using version and matched group variables.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • ScoopInstaller/Extras#16663: Updates Scoop manifest to add PowerShell pre_install steps that clean and rename installer-extracted files, with similar per-architecture manifest restructuring for handling *,1/*,2*-style file markers.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description covers the required checklist items and explains the changes well, though it could be more detailed on implementation specifics.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately reflects the main changes: fixing file naming issues and adding ARM64 support to the SoundSwitch manifest.

✏️ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
bucket/soundswitch.json (2)

1-37: Testing recommendations for the ARM64 addition.

Since this PR adds ARM64 architecture support, please ensure thorough testing on both architectures before merging:

# Test 64-bit installation
scoop install bucket/soundswitch.json -a 64bit

# Test ARM64 installation (on ARM64 Windows or emulated environment)
scoop install bucket/soundswitch.json -a arm64

# Verify autoupdate functionality
.\bin\checkver.ps1 -App soundswitch -f

# Auto-format the manifest
.\bin\formatjson.ps1 -App soundswitch

Also verify that:

  • The correct binaries remain after pre_install cleanup
  • Shortcuts are created successfully on both architectures
  • The renamed files (after stripping ,1 or ,2 markers) match the expected shortcuts entry

For more details, see the Scoop Contribution Guide.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/soundswitch.json` around lines 1 - 37, Add testing steps and
verification for the new arm64 architecture: run installs for both architectures
using the package manifest (scoop install ... -a 64bit and -a arm64 or
equivalent), run checkver (checkver.ps1 -App soundswitch -f) to verify
autoupdate pattern in "checkver" and "autoupdate", run formatjson.ps1 to
auto-format the manifest, and on each install confirm the "pre_install" scripts
under "architecture" correctly remove the unwanted marker files and rename the
other files so the resulting executable matches the "shortcuts" entry
("SoundSwitch.exe"), and ensure shortcuts are created successfully on both
architectures before merging.

15-20: 💤 Low value

Consider using more specific regex patterns (same as 64bit block).

The same pattern specificity consideration from the 64bit block applies here. If installer filenames include dots/extensions after the ,2 marker, consider using -replace ',2\.', '.' instead of -replace ',2', '' for safer, more targeted renaming.

🔧 Suggested more specific pattern
         "arm64": {
             "pre_install": [
                 "Get-ChildItem $dir -Filter '*,1*' -Recurse | Remove-Item -Force",
-                "Get-ChildItem $dir -Filter '*,2*' -Recurse | Rename-Item -NewName { $_.Name -replace ',2', '' } -Force"
+                "Get-ChildItem $dir -Filter '*,2*' -Recurse | Rename-Item -NewName { $_.Name -replace ',2\\.', '.' } -Force"
             ]
         }

Based on learnings and similar patterns in bulk-rename-utility.json.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/soundswitch.json` around lines 15 - 20, In the arm64 pre_install block
update the rename command to use a more specific regex like -replace ',2\.', '.'
(and adjust the filter if needed) so only filenames where ",2" precedes an
extension are changed; locate the "arm64" object and its "pre_install" entries
and replace the Rename-Item call that uses -replace ',2', '' with a targeted
pattern (e.g., -replace ',2\.', '.') to avoid accidentally stripping ",2"
elsewhere.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@bucket/soundswitch.json`:
- Around line 1-37: Add testing steps and verification for the new arm64
architecture: run installs for both architectures using the package manifest
(scoop install ... -a 64bit and -a arm64 or equivalent), run checkver
(checkver.ps1 -App soundswitch -f) to verify autoupdate pattern in "checkver"
and "autoupdate", run formatjson.ps1 to auto-format the manifest, and on each
install confirm the "pre_install" scripts under "architecture" correctly remove
the unwanted marker files and rename the other files so the resulting executable
matches the "shortcuts" entry ("SoundSwitch.exe"), and ensure shortcuts are
created successfully on both architectures before merging.
- Around line 15-20: In the arm64 pre_install block update the rename command to
use a more specific regex like -replace ',2\.', '.' (and adjust the filter if
needed) so only filenames where ",2" precedes an extension are changed; locate
the "arm64" object and its "pre_install" entries and replace the Rename-Item
call that uses -replace ',2', '' with a targeted pattern (e.g., -replace ',2\.',
'.') to avoid accidentally stripping ",2" elsewhere.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 71321c4c-4324-4ad0-9b38-ceb6f901a66a

📥 Commits

Reviewing files that changed from the base of the PR and between d6b3569 and b8940b5.

📒 Files selected for processing (1)
  • bucket/soundswitch.json

@z-Fng z-Fng changed the title soundswitch: fix file naming issue and add arm64 support in v7.1.0 soundswitch@7.1.0: Fix file naming issue, add arm64 support May 23, 2026
@z-Fng

z-Fng commented May 23, 2026

Copy link
Copy Markdown
Contributor

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

soundswitch

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

Check the full log for details.

@z-Fng z-Fng left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution!

@z-Fng
z-Fng merged commit 1a7332e into ScoopInstaller:master May 23, 2026
4 checks passed
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.

2 participants