Update Fleet-maintained apps - #49174
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/beekeeper-studio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cleanmymac/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dropbox/windows.json=== Install Script (no changes) ===
=== Uninstall // db5b3d96 -> cb543651 ===
--- /tmp/old.Sb0Nco 2026-07-11 00:25:35.801039046 +0000
+++ /tmp/new.ptcwv6 2026-07-11 00:25:35.801039046 +0000
@@ -1,4 +1,4 @@
-$product_code = '{C3CA8C95-7298-5ACF-ACD0-1F954F0A551F}'
+$product_code = '{D222FC32-3F3D-5818-9C9E-F00102AE398D}'
$timeoutSeconds = 300 # 5 minute timeout
# Fleet uninstalls app using product code that's extracted on uploadee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hive-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/kiro-cli/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rewritebar/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/santa/darwin.json=== Install // 301d1718 -> 374f38f4 ===
--- /tmp/old.cjS6GS 2026-07-11 00:25:36.044039759 +0000
+++ /tmp/new.nZAcB2 2026-07-11 00:25:36.044039759 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.northpolesec.santa'
-sudo installer -pkg "$TMPDIR/santa-2026.5.pkg" -target /
+sudo installer -pkg "$TMPDIR/santa-2026.6.pkg" -target /
relaunch_application 'com.northpolesec.santa'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/super-productivity/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/superwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/warp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) === |
WalkthroughUpdated 17 maintained-app output entries to newer releases across macOS and Windows. Changes synchronize version fields, patch-query thresholds, installer URLs, and SHA-256 checksums. Dropbox’s uninstall reference now uses a new MSI product code. Santa’s install reference and embedded script now install the 2026.6 package. 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: 1
🤖 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/santa/darwin.json`:
- Around line 4-19: Update the Santa entry’s install_script_ref and refs mapping
so they use the hash of the current install script body, 7be72426, ensuring the
runtime lookup resolves correctly; update the key consistently wherever the
existing 374f38f4 reference appears.
🪄 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: 92a23ea3-522b-41ef-83b8-90c8e91fc0e4
📒 Files selected for processing (17)
ee/maintained-apps/outputs/arc/darwin.jsonee/maintained-apps/outputs/arc/windows.jsonee/maintained-apps/outputs/beekeeper-studio/darwin.jsonee/maintained-apps/outputs/claude/windows.jsonee/maintained-apps/outputs/cleanmymac/darwin.jsonee/maintained-apps/outputs/clop/darwin.jsonee/maintained-apps/outputs/dropbox/windows.jsonee/maintained-apps/outputs/google-credential-provider-for-windows/windows.jsonee/maintained-apps/outputs/hive-app/darwin.jsonee/maintained-apps/outputs/kiro-cli/darwin.jsonee/maintained-apps/outputs/pdfsam-basic/darwin.jsonee/maintained-apps/outputs/pdfsam-basic/windows.jsonee/maintained-apps/outputs/rewritebar/darwin.jsonee/maintained-apps/outputs/santa/darwin.jsonee/maintained-apps/outputs/super-productivity/darwin.jsonee/maintained-apps/outputs/superwhisper/darwin.jsonee/maintained-apps/outputs/warp/darwin.json
| "version": "2026.6", | ||
| "queries": { | ||
| "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa';", | ||
| "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa' AND version_compare(bundle_short_version, '2026.5') < 0);" | ||
| "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.northpolesec.santa' AND version_compare(bundle_short_version, '2026.6') < 0);" | ||
| }, | ||
| "installer_url": "https://github.com/northpolesec/santa/releases/download/2026.5/santa-2026.5.dmg", | ||
| "install_script_ref": "301d1718", | ||
| "installer_url": "https://github.com/northpolesec/santa/releases/download/2026.6/santa-2026.6.dmg", | ||
| "install_script_ref": "374f38f4", | ||
| "uninstall_script_ref": "8bd95da7", | ||
| "sha256": "33beb0e72be4e80a082c9bf0df4c9fa05e818148f7235eeaa932db4984eab342", | ||
| "sha256": "7a0bc3a01bd9b3f1fdd5e870aff79eeda88f62e55e1b28200b5d1cda5710e081", | ||
| "default_categories": [ | ||
| "Productivity" | ||
| ] | ||
| } | ||
| ], | ||
| "refs": { | ||
| "301d1718": "#!/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# install pkg files\nquit_and_track_application 'com.northpolesec.santa'\nsudo installer -pkg \"$TMPDIR/santa-2026.5.pkg\" -target /\nrelaunch_application 'com.northpolesec.santa'\n", | ||
| "374f38f4": "#!/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# install pkg files\nquit_and_track_application 'com.northpolesec.santa'\nsudo installer -pkg \"$TMPDIR/santa-2026.6.pkg\" -target /\nrelaunch_application 'com.northpolesec.santa'\n", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify that install_script_ref matches sha256(script)[:8] of the install script content.
# Extract the install_script_ref value
ref=$(jq -r '.versions[0].install_script_ref' ee/maintained-apps/outputs/santa/darwin.json)
echo "install_script_ref: $ref"
# Extract the script content for that ref
script=$(jq -r ".refs[\"$ref\"]" ee/maintained-apps/outputs/santa/darwin.json)
# Compute sha256[:8] of the script content
computed=$(printf '%s' "$script" | sha256sum | cut -c1-8)
echo "computed hash: $computed"
if [[ "$ref" == "$computed" ]]; then
echo "✅ Match: install_script_ref is consistent with script content."
else
echo "❌ Mismatch: install_script_ref ($ref) != sha256(script)[:8] ($computed)"
fiRepository: fleetdm/fleet
Length of output: 309
🏁 Script executed:
#!/bin/bash
set -euo pipefail
json='ee/maintained-apps/outputs/santa/darwin.json'
ref=$(jq -r '.versions[0].install_script_ref' "$json")
script=$(jq -r --arg ref "$ref" '.refs[$ref]' "$json")
python3 - <<'PY' "$ref" "$script"
import hashlib, sys
ref = sys.argv[1]
script = sys.argv[2]
digest = hashlib.sha256(script.encode("utf-8")).hexdigest()[:8]
print(f"install_script_ref: {ref}")
print(f"computed hash: {digest}")
print("match:" , ref == digest)
PYRepository: fleetdm/fleet
Length of output: 219
Fix the install script ref mismatch in ee/maintained-apps/outputs/santa/darwin.json:4-19
install_script_ref is 374f38f4, but the referenced script body hashes to 7be72426, so the script lookup will miss at runtime. Regenerate the ref from the current script content or update the key to match the script.
🤖 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/santa/darwin.json` around lines 4 - 19, Update the
Santa entry’s install_script_ref and refs mapping so they use the hash of the
current install script body, 7be72426, ensuring the runtime lookup resolves
correctly; update the key consistently wherever the existing 374f38f4 reference
appears.
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit