Skip to content

googledrive@pbojan: Add googledrive v2#8506

Open
pbojan wants to merge 2 commits into
linuxmint:masterfrom
pbojan:add_googledrive_v2
Open

googledrive@pbojan: Add googledrive v2#8506
pbojan wants to merge 2 commits into
linuxmint:masterfrom
pbojan:add_googledrive_v2

Conversation

@pbojan

@pbojan pbojan commented Apr 7, 2026

Copy link
Copy Markdown
Contributor
  • Switched from the drive CLI to rclone for more reliable syncing
  • Added Sync from Drive action (remote mirrors to local)
  • Added Sync to Drive action (local mirrors to remote)
  • All actions now run a dry-run first, showing what would change before asking to proceed
  • Improved icon support with custom bundled icons

pbojan added 2 commits April 7, 2026 20:41
- Change to using rclone instead of drive
- Add custom icons
- Update Readme
- Add claude file
@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Having code flagged
by it doesn't automatically disqualify a pull request.

This check is not perfect will not replace a normal review.


Found 8 potential issue(s):

⚠️ lang_bind

googledrive@pbojan/files/googledrive@pbojan/applet.js:191

item.connect('activate', Lang.bind(this, callback));

Lang.bind() is deprecated. Use arrow functions (() => {}) or Function.prototype.bind() instead.

ℹ️ shell_string_spawn

googledrive@pbojan/files/googledrive@pbojan/applet.js:89

Util.spawnCommandLineAsyncIO('/bin/sh -c "rclone listremotes"', this.onRemoteLoaded.bind(this));

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:198

Util.spawnCommandLine(this.buildBashCommand('Drive Pull', this.buildDriveCommands('pull', true), this.buildDriveCommands('pull', false)));

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:203

Util.spawnCommandLine(this.buildBashCommand('Drive Push', this.buildDriveCommands('push', true), this.buildDriveCommands('push', false)));

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:208

Util.spawnCommandLine(this.buildBashCommand('Drive Sync from', this.buildDriveCommands('sync', true), this.buildDriveCommands('sync', false)));

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:213

Util.spawnCommandLine(this.buildBashCommand('Drive Sync to', this.buildDriveCommands('sync-to', true), this.buildDriveCommands('sync-to', false)));

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:217

Util.spawnCommandLine('nemo ' + this.getLocationPath());

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

googledrive@pbojan/files/googledrive@pbojan/applet.js:269

Util.spawnCommandLine('xdg-open https://rclone.org/drive/');

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.


Automated pattern check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant