cherry-studio@1.6.7: add support for data persistence#16591
cherry-studio@1.6.7: add support for data persistence#16591jbwfu wants to merge 1 commit intoScoopInstaller:masterfrom
Conversation
WalkthroughManifest switches Cherry Studio from installer packages to portable executables: URLs and SHA-512 hashes updated for x64 and arm64, pre_install/post_install removed, Changes
Sequence Diagram(s)(Skipped — changes are manifest/config updates without new runtime control flow.) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (3)📓 Common learnings📚 Learning: 2025-10-19T13:58:23.389ZApplied to files:
📚 Learning: 2025-10-16T15:59:21.258ZApplied to files:
🔇 Additional comments (3)
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 cherry-studio
|
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/cherry-studio.json(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 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: 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.
📚 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/cherry-studio.json
📚 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/cherry-studio.json
🔇 Additional comments (4)
bucket/cherry-studio.json (4)
8-9: Verify x64 portable executable hash against release artifacts.The URL and extraction pattern are correct, but the hash value should be verified to ensure it matches the actual downloadable
Cherry-Studio-1.6.7-x64-portable.exefile from the GitHub release.
12-13: Verify arm64 portable executable hash against release artifacts.The URL and extraction pattern are correct, but the hash value should be verified to ensure it matches the actual downloadable
Cherry-Studio-1.6.7-arm64-portable.exefile from the GitHub release.
18-18: Shortcut executable name is correctly aligned with extracted artifact.The rename from "Cherry Studio.exe" to "Cherry-Studio.exe" correctly matches the extraction target in the URL fragments (lines 8, 12).
22-22: Verify that "data" is the correct persistence directory for Cherry Studio.The
persistfield enables the "data" directory to persist across Scoop updates. Confirm that this is the correct directory name used by Cherry Studio to store user data, settings, and other persistent files.
|
Note Since there is no checksum for The method for obtaining the corresponding hash value could be standardised. Additionally, for |
|
@SorYoshino Thank you for the review!
This regex is indeed simpler and more robust.
This is exactly what I was looking for; your solution is definitely superior. Now that the release workflow for cherry-studio has stabilized, having Scoop support it in this manner would be ideal. |
|
If you are interested in this, you may wish to read Properties of autoupdate.hash. |
|
Closing this in favor of #16045. |
<manifest-name[@version]|chore>: <general summary of the pull request>*portable.exeto support data persistence.$Env:AppData\CherryStudioRelated to ScoopInstaller/Versions#2587
Note: Hash retrieval is dependent on the implementation of CherryHQ/cherry-studio#11288 .
Summary by CodeRabbit