Update Fleet-maintained apps - #49458
Conversation
Generated automatically with cmd/maintained-apps.
Script Diff Resultsee/maintained-apps/outputs/arc/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arc/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/brave-browser/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clion/darwin.json=== Install Script (no changes) ===
=== Uninstall // efb3480e -> 51845cc5 ===
--- /tmp/old.HUAds6 2026-07-17 00:24:08.196247447 +0000
+++ /tmp/new.sNV0k0 2026-07-17 00:24:08.196247447 +0000
@@ -54,8 +54,8 @@
sudo rm -rf "$APPDIR/CLion.app"
sudo rm -rf 'clion'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'ee/maintained-apps/outputs/clockify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/datagrip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/datagrip/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dockside/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/focusrite-control-2/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gdevelop/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/goland/darwin.json=== Install Script (no changes) ===
=== Uninstall // c7ca278d -> 20571185 ===
--- /tmp/old.LbH19i 2026-07-17 00:24:08.802261851 +0000
+++ /tmp/new.FSjIkI 2026-07-17 00:24:08.803261874 +0000
@@ -55,9 +55,9 @@
sudo rm -rf "$APPDIR/GoLand.app"
sudo rm -rf 'goland'
trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.goland.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/GoLand2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/GoLand2026.2'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.goland.SavedState'ee/maintained-apps/outputs/goland/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/granola/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/granola/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/intellij-idea/darwin.json=== Install Script (no changes) ===
=== Uninstall // 188d226d -> acfd723a ===
--- /tmp/old.mpvdxz 2026-07-17 00:24:08.959265582 +0000
+++ /tmp/new.SgEZLQ 2026-07-17 00:24:08.959265582 +0000
@@ -54,10 +54,10 @@
sudo rm -rf "$APPDIR/IntelliJ IDEA.app"
sudo rm -rf 'idea'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.intellij.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.idea.*.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.intellij.savedState'ee/maintained-apps/outputs/lenovo-dock-manager/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/loom/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/loom/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/masscode/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/okta-advanced-server-access/darwin.json=== Install // 29769d7b -> eba4ced9 ===
--- /tmp/old.3boWCK 2026-07-17 00:24:09.179270811 +0000
+++ /tmp/new.Vz9IDo 2026-07-17 00:24:09.179270811 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.scaleft.ScaleFT'
-sudo installer -pkg "$TMPDIR/ScaleFT-1.108.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/ScaleFT-1.109.0.pkg" -target /
relaunch_application 'com.scaleft.ScaleFT'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ollama/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ollama/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/phpstorm/darwin.json=== Install Script (no changes) ===
=== Uninstall // bdde2409 -> f215b72e ===
--- /tmp/old.RtLWV0 2026-07-17 00:24:09.335274519 +0000
+++ /tmp/new.zmC9ba 2026-07-17 00:24:09.335274519 +0000
@@ -55,8 +55,8 @@
sudo rm -rf "$APPDIR/PhpStorm.app"
sudo rm -rf 'phpstorm'
trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/consentOptions'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/PhpStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/PhpStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/PhpStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/PhpStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/PhpStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/PhpStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.PhpStorm.plist'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.jetprofile.asset.plist'ee/maintained-apps/outputs/phpstorm/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/redcine-x-pro/darwin.json=== Install // 2ffae6d6 -> e488f825 ===
--- /tmp/old.WcQovr 2026-07-17 00:24:09.440277015 +0000
+++ /tmp/new.5mr0E2 2026-07-17 00:24:09.440277015 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.red.RED-Tether'
-sudo installer -pkg "$TMPDIR/REDCINE-X_PRO_Build_65.1.3.pkg" -target /
+sudo installer -pkg "$TMPDIR/REDCINE-X_PRO_Build_65.2.1.pkg" -target /
relaunch_application 'com.red.RED-Tether'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spokenly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/surge/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install Script (no changes) ===
=== Uninstall // d6c5c5e5 -> 4f4283d4 ===
--- /tmp/old.wEul8X 2026-07-17 00:24:09.637281697 +0000
+++ /tmp/new.M60bKX 2026-07-17 00:24:09.637281697 +0000
@@ -1,28 +1,26 @@
-# Fleet uninstalls app by finding all related product codes for the specified upgrade code
-$inst = New-Object -ComObject "WindowsInstaller.Installer"
-$timeoutSeconds = 300 # 5 minute timeout per product
+$product_code = 'MSI:Tower'
+$timeoutSeconds = 300 # 5 minute timeout
-# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
-# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
-$successCodes = @(0, 3010, 1641)
+# Fleet uninstalls app using product code that's extracted on upload
+$process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
-foreach ($product_code in $inst.RelatedProducts('{871FD9D0-41D3-52BE-AF69-12F8B08740C0}')) {
- $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
+# Wait for process with timeout
+$completed = $process.WaitForExit($timeoutSeconds * 1000)
- # Wait for process with timeout
- $completed = $process.WaitForExit($timeoutSeconds * 1000)
+if (-not $completed) {
+ Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue
+ Exit 1603 # ERROR_UNINSTALL_FAILURE
+}
- if (-not $completed) {
- Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue
- Exit 1603 # ERROR_UNINSTALL_FAILURE
- }
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
- # If the uninstall failed, bail
- if ($successCodes -notcontains $process.ExitCode) {
- Write-Output "Uninstall for $($product_code) exited $($process.ExitCode)"
- Exit $process.ExitCode
- }
+# Check exit code and output result
+if ($successCodes -contains $process.ExitCode) {
+ Write-Output "Exit 0"
+ Exit 0
+} else {
+ Write-Output "Exit $($process.ExitCode)"
+ Exit $process.ExitCode
}
-
-# All uninstalls succeeded; exit success
-Exit 0ee/maintained-apps/outputs/voiceink/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webstorm/darwin.json=== Install Script (no changes) ===
=== Uninstall // c0791a1f -> 6d11a5af ===
--- /tmp/old.5SfQUO 2026-07-17 00:24:09.750284383 +0000
+++ /tmp/new.29rXQL 2026-07-17 00:24:09.750284383 +0000
@@ -54,12 +54,12 @@
sudo rm -rf "$APPDIR/WebStorm.app"
sudo rm -rf 'webstorm'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Caches/com.apple.nsurlsessiond/Downloads/com.jetbrains.WebStorm'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.WebStorm.plist'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.webstorm.*.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/webstorm.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.WebStorm.savedState'ee/maintained-apps/outputs/webstorm/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) === |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughUpdated maintained-app output manifests to newer releases across macOS and Windows. Changes refresh versions, patched-query thresholds, installer URLs, and SHA-256 checksums. Several JetBrains macOS entries now reference version-specific uninstall scripts. ScaleFT and REDCINE-X PRO installer scripts were updated for new package filenames, and Tower’s Windows uninstall flow now uses product codes with timeout and MSI exit-code handling. Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ee/maintained-apps/outputs/clion/darwin.json`:
- Line 20: Replace the relative launcher deletion paths in
ee/maintained-apps/outputs/clion/darwin.json lines 20-20,
ee/maintained-apps/outputs/goland/darwin.json lines 20-20,
ee/maintained-apps/outputs/intellij-idea/darwin.json lines 20-20,
ee/maintained-apps/outputs/phpstorm/darwin.json lines 20-20, and
ee/maintained-apps/outputs/webstorm/darwin.json lines 19-19 with the
corresponding absolute /usr/local/bin paths: clion, goland, idea, phpstorm, and
webstorm.
In `@ee/maintained-apps/outputs/tower/windows.json`:
- Line 19: The uninstall script’s `$product_code` uses an invalid placeholder
instead of Tower’s Windows Installer identifier. Replace the value in the
`4f4283d4` uninstall command with Tower’s actual ProductCode GUID, keeping the
existing `msiexec` arguments and timeout/exit handling unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d0cee7ee-7d2d-4cb7-bbcc-ec702e52a8bc
📒 Files selected for processing (45)
ee/maintained-apps/outputs/arc/darwin.jsonee/maintained-apps/outputs/arc/windows.jsonee/maintained-apps/outputs/aws-cli/windows.jsonee/maintained-apps/outputs/brave-browser/windows.jsonee/maintained-apps/outputs/browserstacklocal/windows.jsonee/maintained-apps/outputs/claude/darwin.jsonee/maintained-apps/outputs/clion/darwin.jsonee/maintained-apps/outputs/clockify/windows.jsonee/maintained-apps/outputs/cursor/darwin.jsonee/maintained-apps/outputs/datagrip/darwin.jsonee/maintained-apps/outputs/datagrip/windows.jsonee/maintained-apps/outputs/devolutions-workspace/windows.jsonee/maintained-apps/outputs/discord/darwin.jsonee/maintained-apps/outputs/discord/windows.jsonee/maintained-apps/outputs/dockside/darwin.jsonee/maintained-apps/outputs/drawio/darwin.jsonee/maintained-apps/outputs/egnyte/darwin.jsonee/maintained-apps/outputs/epic-games/darwin.jsonee/maintained-apps/outputs/epic-games/windows.jsonee/maintained-apps/outputs/focusrite-control-2/darwin.jsonee/maintained-apps/outputs/gdevelop/windows.jsonee/maintained-apps/outputs/goland/darwin.jsonee/maintained-apps/outputs/goland/windows.jsonee/maintained-apps/outputs/granola/darwin.jsonee/maintained-apps/outputs/granola/windows.jsonee/maintained-apps/outputs/intellij-idea/darwin.jsonee/maintained-apps/outputs/lenovo-dock-manager/windows.jsonee/maintained-apps/outputs/loom/darwin.jsonee/maintained-apps/outputs/loom/windows.jsonee/maintained-apps/outputs/masscode/darwin.jsonee/maintained-apps/outputs/okta-advanced-server-access/darwin.jsonee/maintained-apps/outputs/ollama/darwin.jsonee/maintained-apps/outputs/ollama/windows.jsonee/maintained-apps/outputs/opencode-desktop/darwin.jsonee/maintained-apps/outputs/phpstorm/darwin.jsonee/maintained-apps/outputs/phpstorm/windows.jsonee/maintained-apps/outputs/redcine-x-pro/darwin.jsonee/maintained-apps/outputs/remote-desktop-manager/windows.jsonee/maintained-apps/outputs/spokenly/darwin.jsonee/maintained-apps/outputs/spotify/windows.jsonee/maintained-apps/outputs/surge/darwin.jsonee/maintained-apps/outputs/tower/windows.jsonee/maintained-apps/outputs/voiceink/darwin.jsonee/maintained-apps/outputs/webstorm/darwin.jsonee/maintained-apps/outputs/webstorm/windows.json
| "refs": { | ||
| "0eea3e67": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath \"$INSTALLER_PATH\")\")\n# functions\n\nquit_and_track_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n eval \"export $var_name=0\"\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n eval \"export $var_name=0\"\n return\n fi\n\n # App was running, mark it for relaunch\n eval \"export $var_name=1\"\n echo \"Application '$bundle_id' was running; will relaunch after installation.\"\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nrelaunch_application() {\n local bundle_id=\"$1\"\n local var_name=\"APP_WAS_RUNNING_$(echo \"$bundle_id\" | tr '.-' '__')\"\n local was_running\n\n # Check if the app was running before installation\n eval \"was_running=\\$$var_name\"\n if [[ \"$was_running\" != \"1\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping relaunching application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Relaunching application '$bundle_id'...\"\n\n # Launch the app in the logged-in user's GUI session. Apps launched by root\n # won't register with the user's Dock/GUI, so run 'open' as the console user.\n # Use 'launchctl asuser' to bootstrap into the console user's Mach namespace\n # and GUI session — 'sudo -u' alone doesn't do this, which can cause\n # LSOpenURLsWithRole() failures even when 'open' exits 0.\n local open_status=0\n if [[ $EUID -eq 0 ]]; then\n local console_uid\n console_uid=$(id -u \"$console_user\")\n /bin/launchctl asuser \"$console_uid\" sudo -u \"$console_user\" open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n else\n open -b \"$bundle_id\" >/dev/null 2>&1 || open_status=$?\n fi\n\n if [[ $open_status -eq 0 ]]; then\n echo \"Application '$bundle_id' relaunched successfully.\"\n else\n echo \"Failed to relaunch application '$bundle_id'.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nyes | hdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\" || exit 1\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\" || true\n# copy to the applications folder\nquit_and_track_application 'com.jetbrains.CLion'\nif [ -d \"$APPDIR/CLion.app\" ]; then\n\tsudo mv \"$APPDIR/CLion.app\" \"$TMPDIR/CLion.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/CLion.app\" \"$APPDIR\"\nrelaunch_application 'com.jetbrains.CLion'\n", | ||
| "efb3480e": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/CLion.app\"\nsudo rm -rf 'clion'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.1'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.1'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.1'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n" | ||
| "51845cc5": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/CLion.app\"\nsudo rm -rf 'clion'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Relative path used for JetBrains CLI launcher deletion.
Across these files, the uninstall scripts use an unqualified relative path (e.g., sudo rm -rf 'clion') to remove the command-line launcher. This will fail to remove the actual CLI launcher (typically located at /usr/local/bin/) and will instead attempt to delete a directory or file of that name in the script's current working directory.
ee/maintained-apps/outputs/clion/darwin.json#L20-L20: Update the script payload to usesudo rm -rf '/usr/local/bin/clion'instead ofsudo rm -rf 'clion'.ee/maintained-apps/outputs/goland/darwin.json#L20-L20: Update the script payload to usesudo rm -rf '/usr/local/bin/goland'instead ofsudo rm -rf 'goland'.ee/maintained-apps/outputs/intellij-idea/darwin.json#L20-L20: Update the script payload to usesudo rm -rf '/usr/local/bin/idea'instead ofsudo rm -rf 'idea'.ee/maintained-apps/outputs/phpstorm/darwin.json#L20-L20: Update the script payload to usesudo rm -rf '/usr/local/bin/phpstorm'instead ofsudo rm -rf 'phpstorm'.ee/maintained-apps/outputs/webstorm/darwin.json#L19-L19: Update the script payload to usesudo rm -rf '/usr/local/bin/webstorm'instead ofsudo rm -rf 'webstorm'.
📍 Affects 5 files
ee/maintained-apps/outputs/clion/darwin.json#L20-L20(this comment)ee/maintained-apps/outputs/goland/darwin.json#L20-L20ee/maintained-apps/outputs/intellij-idea/darwin.json#L20-L20ee/maintained-apps/outputs/phpstorm/darwin.json#L20-L20ee/maintained-apps/outputs/webstorm/darwin.json#L19-L19
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/clion/darwin.json` at line 20, Replace the
relative launcher deletion paths in ee/maintained-apps/outputs/clion/darwin.json
lines 20-20, ee/maintained-apps/outputs/goland/darwin.json lines 20-20,
ee/maintained-apps/outputs/intellij-idea/darwin.json lines 20-20,
ee/maintained-apps/outputs/phpstorm/darwin.json lines 20-20, and
ee/maintained-apps/outputs/webstorm/darwin.json lines 19-19 with the
corresponding absolute /usr/local/bin paths: clion, goland, idea, phpstorm, and
webstorm.
Tower's winget manifest declares a placeholder ProductCode ("MSI:Tower")
instead of the real GUID, so the generated uninstall script failed with
msiexec exit 1619. Uninstall via the MSI's stable UpgradeCode instead
(extracted from the installer with msiinfo).
Also fix the exists/patched queries: the registry DisplayName is exactly
"Tower" (fuzzy LIKE 'Tower %' never matches) and the registry Publisher
is the MSI Manufacturer "saas.group", not the winget locale's
"SaaS.Group".
Script Diff Resultsee/maintained-apps/outputs/arc/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arc/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/brave-browser/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clion/darwin.json=== Install Script (no changes) ===
=== Uninstall // efb3480e -> 51845cc5 ===
--- /tmp/old.b6E3Cp 2026-07-17 03:14:30.948845639 +0000
+++ /tmp/new.UITtDG 2026-07-17 03:14:30.948845639 +0000
@@ -54,8 +54,8 @@
sudo rm -rf "$APPDIR/CLion.app"
sudo rm -rf 'clion'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'ee/maintained-apps/outputs/clockify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/datagrip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/datagrip/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dockside/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/focusrite-control-2/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gdevelop/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/goland/darwin.json=== Install Script (no changes) ===
=== Uninstall // c7ca278d -> 20571185 ===
--- /tmp/old.XwuNSC 2026-07-17 03:14:31.528844173 +0000
+++ /tmp/new.cnQkHy 2026-07-17 03:14:31.528844173 +0000
@@ -55,9 +55,9 @@
sudo rm -rf "$APPDIR/GoLand.app"
sudo rm -rf 'goland'
trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.goland.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/GoLand2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/GoLand2026.2'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.goland.SavedState'ee/maintained-apps/outputs/goland/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/granola/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/granola/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/intellij-idea/darwin.json=== Install Script (no changes) ===
=== Uninstall // 188d226d -> acfd723a ===
--- /tmp/old.OqVl6e 2026-07-17 03:14:31.683843781 +0000
+++ /tmp/new.XXT7ze 2026-07-17 03:14:31.683843781 +0000
@@ -54,10 +54,10 @@
sudo rm -rf "$APPDIR/IntelliJ IDEA.app"
sudo rm -rf 'idea'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.intellij.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.idea.*.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.intellij.savedState'ee/maintained-apps/outputs/lenovo-dock-manager/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/loom/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/loom/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/masscode/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/okta-advanced-server-access/darwin.json=== Install // 29769d7b -> eba4ced9 ===
--- /tmp/old.qdG8B9 2026-07-17 03:14:31.898843237 +0000
+++ /tmp/new.sWRONR 2026-07-17 03:14:31.898843237 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.scaleft.ScaleFT'
-sudo installer -pkg "$TMPDIR/ScaleFT-1.108.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/ScaleFT-1.109.0.pkg" -target /
relaunch_application 'com.scaleft.ScaleFT'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ollama/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ollama/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/phpstorm/darwin.json=== Install Script (no changes) ===
=== Uninstall // bdde2409 -> f215b72e ===
--- /tmp/old.wClJ35 2026-07-17 03:14:32.049842855 +0000
+++ /tmp/new.yaOpDo 2026-07-17 03:14:32.049842855 +0000
@@ -55,8 +55,8 @@
sudo rm -rf "$APPDIR/PhpStorm.app"
sudo rm -rf 'phpstorm'
trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/consentOptions'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/PhpStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/PhpStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/PhpStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/PhpStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/PhpStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/PhpStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.PhpStorm.plist'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.jetprofile.asset.plist'ee/maintained-apps/outputs/phpstorm/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/redcine-x-pro/darwin.json=== Install // 2ffae6d6 -> e488f825 ===
--- /tmp/old.Kqy5qt 2026-07-17 03:14:32.153842592 +0000
+++ /tmp/new.ehWVKm 2026-07-17 03:14:32.153842592 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.red.RED-Tether'
-sudo installer -pkg "$TMPDIR/REDCINE-X_PRO_Build_65.1.3.pkg" -target /
+sudo installer -pkg "$TMPDIR/REDCINE-X_PRO_Build_65.2.1.pkg" -target /
relaunch_application 'com.red.RED-Tether'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spokenly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/surge/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install Script (no changes) ===
=== Uninstall // 4f4283d4 -> 1c38382b ===
--- /tmp/old.0tg3iG 2026-07-17 03:14:32.344842109 +0000
+++ /tmp/new.3atgNm 2026-07-17 03:14:32.344842109 +0000
@@ -1,26 +1,31 @@
-$product_code = 'MSI:Tower'
-$timeoutSeconds = 300 # 5 minute timeout
-
-# Fleet uninstalls app using product code that's extracted on upload
-$process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
-
-# Wait for process with timeout
-$completed = $process.WaitForExit($timeoutSeconds * 1000)
-
-if (-not $completed) {
- Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue
- Exit 1603 # ERROR_UNINSTALL_FAILURE
-}
+# Fleet uninstalls app by finding all related product codes for the specified upgrade code.
+# Tower's winget manifest declares a placeholder ProductCode ("MSI:Tower") instead of the
+# real GUID, so the default product-code-based uninstall fails with 1619. The MSI's
+# UpgradeCode is stable across releases, so uninstall via RelatedProducts instead.
+$inst = New-Object -ComObject "WindowsInstaller.Installer"
+$timeoutSeconds = 300 # 5 minute timeout per product
# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
$successCodes = @(0, 3010, 1641)
-# Check exit code and output result
-if ($successCodes -contains $process.ExitCode) {
- Write-Output "Exit 0"
- Exit 0
-} else {
- Write-Output "Exit $($process.ExitCode)"
- Exit $process.ExitCode
+foreach ($product_code in $inst.RelatedProducts('{871FD9D0-41D3-52BE-AF69-12F8B08740C0}')) {
+ $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
+
+ # Wait for process with timeout
+ $completed = $process.WaitForExit($timeoutSeconds * 1000)
+
+ if (-not $completed) {
+ Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue
+ Exit 1603 # ERROR_UNINSTALL_FAILURE
+ }
+
+ # If the uninstall failed, bail
+ if ($successCodes -notcontains $process.ExitCode) {
+ Write-Output "Uninstall for $($product_code) exited $($process.ExitCode)"
+ Exit $process.ExitCode
+ }
}
+
+# All uninstalls succeeded; exit success
+Exit 0ee/maintained-apps/outputs/voiceink/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webstorm/darwin.json=== Install Script (no changes) ===
=== Uninstall // c0791a1f -> 6d11a5af ===
--- /tmp/old.gk17Nx 2026-07-17 03:14:32.460841816 +0000
+++ /tmp/new.ksSrli 2026-07-17 03:14:32.460841816 +0000
@@ -54,12 +54,12 @@
sudo rm -rf "$APPDIR/WebStorm.app"
sudo rm -rf 'webstorm'
-trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Caches/com.apple.nsurlsessiond/Downloads/com.jetbrains.WebStorm'
-trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2026.1'
-trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2026.2'
+trash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.WebStorm.plist'
trash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.webstorm.*.plist'
-trash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2026.1'
+trash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2026.2'
trash $LOGGED_IN_USER '~/Library/Preferences/webstorm.plist'
trash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.WebStorm.savedState'ee/maintained-apps/outputs/webstorm/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) === |
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit