-
Notifications
You must be signed in to change notification settings - Fork 1.6k
chatboxai: Add version 1.18.2 #16865
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
WalkthroughAdds a new Windows Scoop manifest Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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 |
|
All changes look good. Wait for review from human collaborators. chatboxai
|
There was a problem hiding this 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
🧹 Nitpick comments (1)
bucket/chatboxai.json (1)
35-36: Consider simplifying JSON string construction.The current approach of using single quotes and then replacing them with double quotes works but is harder to read. Consider using proper PowerShell here-strings or escaped quotes for clarity.
🔎 Alternative approach using here-string
- $json = "{`n`t'settings': {`n`t`t'autoUpdate': false`n`t}`n}`n" - $json.Replace("'", '"') | Out-File -FilePath $file -Encoding ASCII + @" +{ + "settings": { + "autoUpdate": false + } +} +"@ | Out-File -FilePath $file -Encoding ASCII
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/chatboxai.json(1 hunks)
🧰 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: 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: 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: 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.
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-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/chatboxai.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/chatboxai.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/chatboxai.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/chatboxai.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/chatboxai.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 (5)
bucket/chatboxai.json (5)
1-8: LGTM - Metadata section is well-formed.The version, description, homepage, and license information are correctly specified and follow Scoop manifest conventions.
19-23: LGTM - Nested archive extraction is correctly implemented.The pre-install script properly handles the nested NSIS installer structure by extracting the outer archive via
#/dl.7z, then expanding the architecture-specific inner archive from$PLUGINSDIR. The cleanup of temporary files is also appropriate.
40-47: LGTM - Shortcuts and persistence are correctly configured.The shortcut properly directs the Electron app to use the portable user data directory, and the persist directive ensures user data survives updates and reinstalls.
48-61: LGTM - Version checking and autoupdate are properly configured.The checkver block correctly scrapes the changelog page to detect new versions, and the autoupdate configuration provides valid URL templates for both architectures. Hash computation will be handled automatically by Scoop during autoupdate runs.
9-18: Verify that the universal Setup.exe contains both architecture-specific archives.The manifest specifies identical URLs and hashes for both 64bit and arm64 architectures, but the pre_install script extracts
app-$arch.7z, which resolves toapp-64.7zorapp-arm64.7zper architecture. Confirm that the Setup.exe contains both inner archives to properly support both architectures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
bucket/chatboxai.json (1)
24-39: Post-install logic is sound. Optional style improvements available.The portable mode migration and autoUpdate handling are well-implemented. The script correctly:
- Copies existing user data from APPDATA to Scoop's persist directory
- Disables incompatible autoUpdate in existing config
- Creates initial config with autoUpdate disabled for fresh installs
Optional: Fix indentation inconsistency.
Lines 35-37 use 3-space indentation while the rest of the script uses 4-space indentation (lines 27-32). For consistency, consider changing lines 35-37 to use 4 spaces.
🔎 Proposed fix
"if (!(Test-Path $file)) {", -" $json = \"{`n`t'settings': {`n`t`t'autoUpdate': false`n`t}`n}`n\"", -" $json.Replace(\"'\", '\"') | Out-File -FilePath $file -Encoding ASCII", -" warn \"Do not enable autoUpdate inside Chatbox, use scoop update instead\"", +" $json = \"{`n`t'settings': {`n`t`t'autoUpdate': false`n`t}`n}`n\"", +" $json.Replace(\"'\", '\"') | Out-File -FilePath $file -Encoding ASCII", +" warn \"Do not enable autoUpdate inside Chatbox, use scoop update instead\"", "}"Optional: Simplify JSON creation with here-string.
The current JSON creation (lines 35-36) works correctly but could be more readable using a PowerShell here-string:
🔎 Alternative approach
-" $json = \"{`n`t'settings': {`n`t`t'autoUpdate': false`n`t}`n}`n\"", -" $json.Replace(\"'\", '\"') | Out-File -FilePath $file -Encoding ASCII", +" @\"\r\n{\r\n \"settings\": {\r\n \"autoUpdate\": false\r\n }\r\n}\r\n\"@ | Out-File -FilePath $file -Encoding ASCII", " warn \"Do not enable autoUpdate inside Chatbox, use scoop update instead\"",Note: This is purely a readability improvement; the current implementation is functionally correct.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
bucket/chatboxai.json(1 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.
📚 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/chatboxai.json
📚 Learning: 2025-10-13T09:37:06.093Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16328
File: bucket/winutil.json:0-0
Timestamp: 2025-10-13T09:37:06.093Z
Learning: When reviewing code in Scoop manifests, always verify the actual file content if the diff appears incomplete or unusual, as diff context can be truncated or displayed incorrectly. The pattern `[string[]](...).ForEach{...}` is commonly used in post_uninstall scripts across the Extras repository.
Applied to files:
bucket/chatboxai.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/chatboxai.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/chatboxai.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/chatboxai.json (4)
1-18: LGTM! Well-structured manifest metadata and architecture configuration.The manifest correctly defines metadata, license, and architecture targets. The universal installer approach (same URL and hash for both 64bit and arm64) is validated by the successful arm64 installation test mentioned in the PR objectives.
19-23: LGTM! Pre-install extraction logic is correct.The pre-install script properly extracts the architecture-specific portable app from the universal installer and cleans up temporary NSIS artifacts.
40-51: LGTM! Shortcuts, persistence, and version checking are properly configured.The shortcut creation with
--user-data-dirparameter ensures portable mode works correctly. The persist directive for "User Data" is standard for Electron apps. The checkver configuration correctly scrapes version information from the changelog page.
52-61: Autoupdate configuration is correct.The manifest correctly omits hash extraction in the autoupdate block. Chatbox does not publish SHA256 checksums on its GitHub releases, so the current approach of computing hashes post-download is appropriate. The autoupdate URLs are properly structured and align with the current installation approach.
Closes #16782
Checkver OK
Had to base it on their website, rather than the Github repository, because the Github repository seems to be a version behind.
Autoupdate OK:
Confirmed Virustotal OK
https://www.virustotal.com/gui/file/81130b31c2500ce5f93aaecf3c128fc41a4fa30cbc800d969b35e58dc6587b9f
Everything ok
Tests
~\scoop\persist\chatboxaiSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.