Skip to content

Conversation

zeldrisho
Copy link
Contributor

@zeldrisho zeldrisho commented Oct 2, 2025

Closes #11582

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

Summary by CodeRabbit

  • New Features
    • Added Proton Drive as an installable app via the Windows package manager.
    • Supports both 64-bit and ARM64 systems with verified downloads.
    • Automatically checks for new versions to streamline updates.
    • Creates a Start Menu shortcut for quick access after installation.
    • Installer handles extraction and cleanup for a smoother setup experience.

Copy link

coderabbitai bot commented Oct 2, 2025

Walkthrough

Adds a new Scoop manifest bucket/proton-drive.json for Proton Drive v1.11.4, defining metadata, architecture-specific download URLs and hashes, an installer script to extract MSI contents and relocate files, a shortcut, version check via webpage regex, and autoupdate URL templates for 64-bit and ARM64.

Changes

Cohort / File(s) Summary
New Scoop manifest: Proton Drive
bucket/proton-drive.json
Introduces manifest with version 1.11.4, metadata (description, homepage, license), arch-specific URLs and SHA256 hashes (64bit, arm64), installer script (Expand-7zipArchive → msiextract → move Proton Drive dir → cleanup), shortcut mapping to ProtonDrive.exe, checkver with URL+regex, and autoupdate templates for both architectures.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Scoop as Scoop (Manifest)
  participant Web as Proton Download Site
  participant PS as Installer Script
  participant FS as File System

  User->>Scoop: scoop install proton-drive
  Scoop->>Web: GET installer (arch-specific URL)
  Web-->>Scoop: EXE payload
  Scoop->>PS: Run installer script
  PS->>FS: Expand-7zipArchive to $dir
  PS->>FS: msiextract *.msi to $dir
  PS->>FS: Move "Proton Drive" directory into $dir
  PS->>FS: Remove extracted MSI and temp files
  PS-->>Scoop: Installation complete
  Note over Scoop,FS: Shortcut: ProtonDrive.exe → "Proton Drive"

  User->>Scoop: scoop update proton-drive
  Scoop->>Web: GET checkver URL
  Web-->>Scoop: HTML content
  Scoop->>Scoop: Regex extract version
  Scoop->>Web: Construct autoupdate URL (per arch)
  Web-->>Scoop: New EXE payload (if version changed)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I gnawed the bytes and packed them tight,
A Drive appears—installed just right.
With hashes checked and paths aligned,
Shortcuts hop to ease your mind.
Autoupdates queued, I twitch my nose—
New versions bloom where the changelog grows.
Thump-thump: shipped! 🐇💽

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title Check ✅ Passed The title “proton-drive: Add version 1.11.4” concisely and accurately summarizes the main change by indicating the manifest name and the new version, and it follows the required <manifest-name>: <summary> convention without extraneous details.
Linked Issues Check ✅ Passed The added manifest file provides the Proton Drive package with correct metadata, version-specific download URLs for both 64-bit and ARM64, installer scripts, version checking, and autoupdate templates, thereby fulfilling all coding criteria outlined in issue #11582.
Out of Scope Changes Check ✅ Passed All modifications are limited to adding the bucket/proton-drive.json manifest in direct response to the linked request, with no unrelated or extraneous changes introduced.
Description Check ✅ Passed The PR description adheres to the repository’s template by including the summary prompt, the “Closes #11582” reference, and the completed checklist for the conventional title format and contributing guide acknowledgment, satisfying the required structure.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

Copy link
Contributor

github-actions bot commented Oct 2, 2025

All changes look good.

Wait for review from human collaborators.

proton-drive

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

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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fc1315f and 4867a2b.

📒 Files selected for processing (1)
  • bucket/proton-drive.json (1 hunks)
⏰ 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

"version": "1.11.4",
"description": "Free end-to-end encrypted cloud storage made by Proton AG",
"homepage": "https://proton.me/drive",
"license": "GPL-3.0",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix incorrect license declaration.

Proton Drive’s Windows client is distributed under a proprietary EULA, not GPL-3.0, so the manifest’s license value is inaccurate and misleads users. Update the field to the correct license (e.g., "Proprietary").

-    "license": "GPL-3.0",
+    "license": "Proprietary",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"license": "GPL-3.0",
"license": "Proprietary",
🤖 Prompt for AI Agents
In bucket/proton-drive.json around line 5, the manifest incorrectly declares
"license": "GPL-3.0"; change this value to the correct license string (for
example "Proprietary") to reflect Proton Drive’s actual EULA—open the JSON file,
replace the license value with the correct identifier, and ensure the file
remains valid JSON (keep quotes and trailing commas consistent with surrounding
entries).

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]: Proton Drive
1 participant