Skip to content

moosync: Update to version 11.0.2, fix checkver & autoupdate#16738

Merged
z-Fng merged 2 commits intoScoopInstaller:masterfrom
SorYoshino:moosync
Dec 8, 2025
Merged

moosync: Update to version 11.0.2, fix checkver & autoupdate#16738
z-Fng merged 2 commits intoScoopInstaller:masterfrom
SorYoshino:moosync

Conversation

@SorYoshino
Copy link
Copy Markdown
Contributor

@SorYoshino SorYoshino commented Dec 7, 2025

Summary

Updates moosync to version 11.0.2 and restructures the manifest for improved reliability, clarity, and maintainability.

Related issues or pull requests

Changes

  • Update version to 11.0.2
  • Reworke license field into structured identifier + url format
  • Replace legacy pre_install/post_install logic with unified installer.script using Expand-7zipArchive and exclusion rules
  • Update download URL to the new naming convention used by upstream releases
  • Introduce new checkver implementation using GitHub API, JSONPath, and regex for accurate asset detection
  • Simplifie autoupdate to rely on $matchName for dynamic asset resolution
  • Removed deprecated or no-longer-applicable hash and extraction logic

Testing

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App moosync -Dir 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket' -f
moosync: 11.0.2 (scoop version is 11.0.2)
Forcing autoupdate!
Autoupdating moosync
DEBUG[1765111122] [$updatedProperties] = [url hash] -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:491:5
DEBUG[1765111122] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1765111122] $substitutions.$baseurl                       https://github.com/Moosync/Moosync/releases/download/Moosync-v11.0.2
DEBUG[1765111122] $substitutions.$url                           https://github.com/Moosync/Moosync/releases/download/Moosync-v11.0.2/Moosync_11.0.2_x64-setup.exe
DEBUG[1765111122] $substitutions.$underscoreVersion             11_0_2
DEBUG[1765111122] $substitutions.$basename                      Moosync_11.0.2_x64-setup.exe
DEBUG[1765111122] $substitutions.$dashVersion                   11-0-2
DEBUG[1765111122] $substitutions.$cleanVersion                  1102
DEBUG[1765111122] $substitutions.$matchTail
DEBUG[1765111122] $substitutions.$matchHead                     11.0.2
DEBUG[1765111122] $substitutions.$matchName                     Moosync_11.0.2_x64-setup.exe
DEBUG[1765111122] $substitutions.$basenameNoExt                 Moosync_11.0.2_x64-setup
DEBUG[1765111122] $substitutions.$patchVersion                  2
DEBUG[1765111122] $substitutions.$match1                        11.0.2
DEBUG[1765111122] $substitutions.$preReleaseVersion             11.0.2
DEBUG[1765111122] $substitutions.$version                       11.0.2
DEBUG[1765111122] $substitutions.$urlNoExt                      https://github.com/Moosync/Moosync/releases/download/Moosync-v11.0.2/Moosync_11.0.2_x64-setup
DEBUG[1765111122] $substitutions.$buildVersion
DEBUG[1765111122] $substitutions.$majorVersion                  11
DEBUG[1765111122] $substitutions.$minorVersion                  0
DEBUG[1765111122] $substitutions.$dotVersion                    11.0.2
DEBUG[1765111122] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
Could not find hash in https://api.github.com/repos/Moosync/Moosync/releases
Downloading Moosync_11.0.2_x64-setup.exe to compute hashes!
Loading Moosync_11.0.2_x64-setup.exe from cache
Computed hash: 3798b8f46332bef419695044d2a34166d5402fde4289961a265b82d44214a4d3
Writing updated moosync manifest

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> scoop install Unofficial/moosync
Installing 'moosync' (11.0.2) [64bit] from 'Unofficial' bucket
Loading Moosync_11.0.2_x64-setup.exe from cache.
Checking hash of Moosync_11.0.2_x64-setup.exe ... ok.
Running installer script...done.
Linking D:\Software\Scoop\Local\apps\moosync\current => D:\Software\Scoop\Local\apps\moosync\11.0.2
Creating shim for 'Moosync'.
Making D:\Software\Scoop\Local\shims\moosync.exe a GUI binary.
Creating shortcut for Moosync (Moosync.exe)
'moosync' (11.0.2) 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

  • Chores
    • Updated version to 11.0.2 and refreshed download URL and checksum.
    • Improved license metadata to include identifier and source URL.
    • Reworked installation flow to use an explicit installer script instead of previous post-install step.
    • Switched auto-update/check mechanism to API-driven release discovery and adjusted download pattern for future releases.

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Dec 7, 2025

Walkthrough

Scoop manifest for Moosync updated: version bumped to 11.0.2; license changed to object form; download URL and hash updated; post_install replaced by an installer object with a script; checkver changed to use GitHub API + JSONPath/regex; autoupdate URL pattern adjusted.

Changes

Cohort / File(s) Summary
Package manifest update
bucket/moosync.json
Version -> 11.0.2; description punctuation updated; license changed from string to object with identifier and url; architecture.64bit.url and hash updated to v11.0.2; post_install removed and replaced by installer.script for extraction; checkver replaced with url (GitHub API), jsonpath, and regex; autoupdate.architecture.64bit.url pattern adjusted to use Moosync-v$version/$matchName.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify architecture.64bit.url and hash correctness.
  • Review installer.script syntax and 7-Zip switch behavior (removal/exclusion flags).
  • Validate checkver.jsonpath extracts the intended asset URL from GitHub API responses.
  • Confirm checkver.regex and autoupdate pattern correctly derive version and matchName.

Poem

🐰 A rabbit nibbles bytes of night,
Hops in version eleven, tidy and bright,
License snug in object form,
Scripts unpack with careful charm,
Cheers — Moosync leaps into the light. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: updating moosync to version 11.0.2 and fixing checkver & autoupdate mechanisms, which aligns with the primary objectives of the changeset.
Description check ✅ Passed The description is comprehensive, including summary, related issues, detailed changes, and testing validation. Both checklist items (conventional title and contributing guide) are completed, meeting the template requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 43e14a7 and 6110b46.

📒 Files selected for processing (1)
  • bucket/moosync.json (2 hunks)
🧰 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: 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: 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: 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.
📚 Learning: 2025-10-16T15:59:21.258Z
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.

Applied to files:

  • bucket/moosync.json
📚 Learning: 2025-09-05T09:41:52.653Z
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.

Applied to files:

  • bucket/moosync.json
📚 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/moosync.json
📚 Learning: 2025-09-05T09:41:52.653Z
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.

Applied to files:

  • bucket/moosync.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 (4)
bucket/moosync.json (4)

15-17: Verify installer script completeness—suspicious trailing parameter.

The installer.script contains a parameter "-Removal" at the end that appears incomplete or malformed. Standard Scoop Expand-7zipArchive usage does not document this parameter, and it seems truncated.

Please confirm:

  • Is "-Removal" the complete intended parameter name, or should it be a different parameter (e.g., -RemoveFolder)?
  • Can you verify the command works correctly by re-running the installer test if the manifest has already been applied?

Alternatively, provide a verification script or log showing successful execution of this script during the install step.


25-29: Verify checkver and autoupdate integration.

The checkver block now uses GitHub API with JSONPath and regex to extract version and filename. The autoupdate block relies on $matchName (captured by the checkver regex) to construct the download URL.

Confirm that the JSONPath and regex patterns correctly align:

  • JSONPath $.assets[?(@.name =~ /x64.+\\.exe$/i)].browser_download_url should return asset URLs.
  • Regex (?i)download/Moosync-v([\\d.]+)/(?<name>[^\"]+) should extract version and name from those URLs.
  • The $matchName variable in autoupdate should correctly substitute with the captured filename.

Per the PR objectives, testing demonstrates successful checkver/autoupdate runs. If those logs are available, please share them to confirm the integration works.


11-12: URL and hash structure look good; autoupdate URI is valid.

The architecture.64bit.url is correctly updated to point to the v11.0.2 release, the SHA-256 hash is properly formatted (64 hex characters), and the autoupdate URL pattern (https://github.com/Moosync/Moosync/releases/download/Moosync-v$version/$matchName) is a complete valid URI, which aligns with the URI format requirement noted in prior Scoop manifest reviews (per fvim PR #16349 learning).

Also applies to: 33-33


5-8: License restructuring is correct.

The license has been properly migrated from a string to a structured object with identifier and URL. This is a valid and more maintainable format.


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
Copy Markdown
Contributor

github-actions bot commented Dec 7, 2025

All changes look good.

Wait for review from human collaborators.

moosync

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

Check the full log for details.

Copy link
Copy Markdown
Member

@z-Fng z-Fng left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution!

Comment thread bucket/moosync.json
@z-Fng z-Fng merged commit 1a70f72 into ScoopInstaller:master Dec 8, 2025
3 checks passed
@SorYoshino SorYoshino deleted the moosync branch December 8, 2025 19:42
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