Update Fleet-maintained apps - #50735
Conversation
Generated automatically with cmd/maintained-apps.
WalkthroughUpdated 34 maintained-app outputs with newer versions, patch queries, installer URLs, and SHA-256 checksums. Changes cover macOS and Windows applications. The GOG Galaxy install package reference now targets version 2.1.8.32. The Krita uninstall script reference changed and its cleanup paths were expanded. 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: 3
🤖 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/downie/darwin.json`:
- Around line 9-12: Update the Downie patch-matching logic associated with
installer build 5229 so patched-state evaluation also distinguishes
bundle_version 5229 from earlier builds sharing bundle_short_version 4.12.12. If
build 5229 is not intended to patch those installations, leave the installer_url
unchanged and adjust the patch criteria accordingly.
In `@ee/maintained-apps/outputs/krita/darwin.json`:
- Line 11: Update the uninstall script referenced by uninstall_script_ref to
remove the same lower-case krita.app bundle path used by the install script,
ensuring uninstallation works on case-sensitive filesystems.
In `@ee/maintained-apps/outputs/opera/darwin.json`:
- Around line 9-12: Update the Opera patch query’s version comparison in the
relevant darwin configuration to use the exact installed build 134.0.5954.46
instead of the abbreviated 134.0 value. Keep the installer URL and hash
unchanged, and ensure patched status distinguishes this build from
134.0.5954.26.
🪄 Autofix
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 Plus
Run ID: 7f8ae993-8287-4ccf-a19a-aff7ddf39c96
📒 Files selected for processing (33)
ee/maintained-apps/outputs/alt-tab/darwin.jsonee/maintained-apps/outputs/amadine/darwin.jsonee/maintained-apps/outputs/badgeify/darwin.jsonee/maintained-apps/outputs/brave-browser/windows.jsonee/maintained-apps/outputs/cmake-app/windows.jsonee/maintained-apps/outputs/datagrip/darwin.jsonee/maintained-apps/outputs/downie/darwin.jsonee/maintained-apps/outputs/drofus/windows.jsonee/maintained-apps/outputs/elevate-uc/windows.jsonee/maintained-apps/outputs/firefox@nightly/darwin.jsonee/maintained-apps/outputs/framer/darwin.jsonee/maintained-apps/outputs/gog-galaxy/darwin.jsonee/maintained-apps/outputs/ibm-semeru-jre-11/windows.jsonee/maintained-apps/outputs/imageglass/windows.jsonee/maintained-apps/outputs/krita/darwin.jsonee/maintained-apps/outputs/masscode/darwin.jsonee/maintained-apps/outputs/nordpass/windows.jsonee/maintained-apps/outputs/notesnook/windows.jsonee/maintained-apps/outputs/opera/darwin.jsonee/maintained-apps/outputs/pale-moon/windows.jsonee/maintained-apps/outputs/parallels/darwin.jsonee/maintained-apps/outputs/postman/darwin.jsonee/maintained-apps/outputs/postman/windows.jsonee/maintained-apps/outputs/prisma-browser/darwin.jsonee/maintained-apps/outputs/prisma-browser/windows.jsonee/maintained-apps/outputs/rider/windows.jsonee/maintained-apps/outputs/rive/darwin.jsonee/maintained-apps/outputs/rustrover/darwin.jsonee/maintained-apps/outputs/rustrover/windows.jsonee/maintained-apps/outputs/spyder/windows.jsonee/maintained-apps/outputs/webex/darwin.jsonee/maintained-apps/outputs/whatsapp/darwin.jsonee/maintained-apps/outputs/xnconvert/windows.json
| "installer_url": "https://software.charliemonroe.net/trial/downie/v4/Downie_4_5229.dmg", | ||
| "install_script_ref": "4f6dd0e2", | ||
| "uninstall_script_ref": "24e71e3c", | ||
| "sha256": "581d50af193fd1e8f942c724d247634b376919e148ea983fe3b824ee78e676d5", | ||
| "sha256": "86ded4981846e81b32f9eddb7658f8705b4ba74f88b3b53192db1bc2bd84f798", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 4 'bundle_(short_)?version|version_compare' ee/maintained-apps cmd/maintained-apps server
rg -n -C 4 'Downie_4_522[89]|com\.charliemonroe\.Downie-4|4\.12\.12' ee/maintained-apps cmd/maintained-apps serverRepository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the Downie macOS output and the maintained-app sync/runtime propagation paths.
printf '--- Downie darwin output ---\n'
sed -n '1,40p' ee/maintained-apps/outputs/downie/darwin.json
printf '\n--- Maintained apps sync references ---\n'
rg -n -C 5 'PatchQuery|patched|MaintainedApp|maintainedapps|InstalledBundle|bundle_short_version|bundle_version|version_compare' server/mdm/maintainedapps server/mdm/apple_mdm cmd/maintained-apps
printf '\n--- Downie references ---\n'
rg -n -C 4 'Downie|downie|com\.charliemonroe\.Downie-4|bundle_version|522' ee/maintained-apps server/mdm/maintainedapps server/mdm/apple_mdm cmd/maintained-apps | head -n 160Repository: fleetdm/fleet
Length of output: 242
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the Downie macOS output and the maintained-app sync/runtime propagation paths.
printf '%s\n' '--- Downie darwin output ---'
sed -n '1,40p' ee/maintained-apps/outputs/downie/darwin.json
printf '%s\n' ''
printf '%s\n' '--- Maintained apps sync references ---'
rg -n -C 5 'PatchQuery|patched|MaintainedApp|maintainedapps|InstalledBundle|bundle_short_version|bundle_version|version_compare' server/mdm/maintainedapps server/mdm/apple_mdm cmd/maintained-apps
printf '%s\n' ''
printf '%s\n' '--- Downie references ---'
rg -n -C 4 'Downie|downie|com\.charliemonroe\.Downie-4|bundle_version|522' ee/maintained-apps server/mdm/maintainedapps server/mdm/apple_mdm cmd/maintained-apps | head -n 160Repository: fleetdm/fleet
Length of output: 50369
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect how the maintained-app patch query and installed app row drive the offering decision.
printf '%s\n' '--- MaintainedApp fields around patch query ---'
rg -n -C 6 'PatchQuery|AutomaticInstallQuery|outdated|installed|bundle_version' server/fleet maintained-apps ee/maintained-apps | head -n 220
printf '%s\n' ''
printf '%s\n' '--- runtime maintained app record paths ---'
rg -n -C 6 'PatchQuery|PatchQuery|AutomaticInstallQuery|outdated|installed.*bundle|bundle_version' server server/mdm cmd/maintained-apps | head -n 260
printf '%s\n' ''
printf '%s\n' '--- version_compare implementations/usages ---'
rg -n -C 4 'func .*version_compare|version_compare\(.*bundle' server ee/maintained-apps cmd/maintained-apps | head -n 200Repository: fleetdm/fleet
Length of output: 15550
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Locate the maintained app API/result shape and patch-query consumers.
printf '%s\n' '--- FMA structs mentioning patch query / versions / installed state ---'
rg -n -C 6 'PatchQuery|AutomaticInstallQuery|bundle_version|ShortVersion|Versions|installed_outdated|Outdated|Outdated|Installer' server/fleet server/mdm/ee cmd/maintained-apps | head -n 260
printf '%s\n' ''
printf '%s\n' '--- patch query consumers ---'
rg -n -C 8 'PatchQuery|PatchQuery|patch_software|SoftwareInstaller|automatic_install|AutomaticInstallQuery' server/fleet server/mdm/ee server/mdm/apple_mdm server/mdm/app_store cmd/maintained-apps ee/maintained-apps | head -n 320
printf '%s\n' ''
printf '%s\n' '--- version_compare implementation/usages ---'
rg -n -C 5 'version_compare' server/fleet server/mdm ee/maintained-apps cmd/maintained-apps | head -n 200Repository: fleetdm/fleet
Length of output: 18612
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- exact FMA struct definitions ---'
rg -n -C 6 'type FMAManifestApp|type MaintainedApp|PatchQuery|AutomaticInstallQuery|bundle_version|Version string|Installed bundle' server/fleet ee/maintained-apps cmd/maintained-apps server/mdm/maintainedapps | head -n 280
printf '%s\n' ''
printf '%s\n' '--- exact PatchQuery/APICall uses ---'
rg -n -C 8 '\bPatchQuery\b' server/fleet server/mdm/ee server/mdm/apple_mdm cmd/maintained-apps ee/maintained-apps | head -n 300
printf '%s\n' ''
printf '%s\n' '--- exact version_compare field uses ---'
rg -n -C 8 'version_compare\(bundle' server/fleet server/mdm/ee server/mdm/apple_mdm cmd/maintained-apps ee/maintained-apps | head -n 240Repository: fleetdm/fleet
Length of output: 25759
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- FMAManifestApp definition ---'
rg -n -C 8 'type FMAManifestApp struct' ee/maintained-apps maintained-apps server/fleet | head -n 180
printf '%s\n' ''
printf '%s\n' '--- software installer package creation path ---'
rg -n -C 12 'UpsertSoftwareInstaller|CreateSoftwareInstaller|MaintainedApp|PatchQuery|automatic_install|AutomaticInstall|installer_pkg_path|InstallerURL|SHA256' server/fleet server/services server/mdm cmd/maintained-apps ee/maintained-apps | head -n 320
printf '%s\n' ''
printf '%s\n' '--- patch policy creation path ---'
rg -n -C 12 'Create.*[Pp]olicy|PatchPolicy|PatchQuery|patch_query|automatic_install' server/fleet server/services server/cmd cmd/maintained-apps ee/maintained-apps | head -n 340Repository: fleetdm/fleet
Length of output: 1536
Make the Downie patch query distinguish build 5229.
The installer is Downie_4_5229.dmg, but patched still compares only bundle_short_version to 4.12.12. A host with short version 4.12.12 and bundle_version 5228 will satisfy the query and skip the new installer. Compare bundle_version to 5229 if this installer targets existing builds, or keep the URL unchanged if 5229 is not a patch for those installations.
🤖 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/downie/darwin.json` around lines 9 - 12, Update
the Downie patch-matching logic associated with installer build 5229 so
patched-state evaluation also distinguishes bundle_version 5229 from earlier
builds sharing bundle_short_version 4.12.12. If build 5229 is not intended to
patch those installations, leave the installer_url unchanged and adjust the
patch criteria accordingly.
| "installer_url": "https://download.kde.org/stable/krita/5.3.3/krita-5.3.3-signed.dmg", | ||
| "install_script_ref": "cdb966e7", | ||
| "uninstall_script_ref": "7b9f27dc", | ||
| "uninstall_script_ref": "3947b0f0", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Use the installed bundle path in the uninstall script.
The install script at Line 20 uses $APPDIR/krita.app. The new uninstall script removes $APPDIR/Krita.app. On a case-sensitive APFS volume, these are different paths, so the application remains installed. Because rm -rf ignores a missing path, the uninstall can still report success. Apple documents case-sensitive APFS variants and recommends treating file paths as case-sensitive. (developer.apple.com)
Use the lower-case path, or explicitly handle both spellings.
Proposed fix
- sudo rm -rf "$APPDIR/Krita.app"
+ sudo rm -rf "$APPDIR/krita.app"Also applies to: 19-19
🤖 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/krita/darwin.json` at line 11, Update the
uninstall script referenced by uninstall_script_ref to remove the same
lower-case krita.app bundle path used by the install script, ensuring
uninstallation works on case-sensitive filesystems.
| "installer_url": "https://get.geo.opera.com/pub/opera/desktop/134.0.5954.46/mac/Opera_134.0.5954.46_Setup.dmg", | ||
| "install_script_ref": "f2f3d814", | ||
| "uninstall_script_ref": "566d9846", | ||
| "sha256": "f9e359e3ff60761335c5684610290a5c12a0d5783762c50ef8328e7c007f5baa", | ||
| "sha256": "741c0dfd178008f6796c50d90628ee54f6d1e58f8f823eb2067ee1cab9db1893", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
url='https://get.geo.opera.com/pub/opera/desktop/134.0.5954.46/mac/Opera_134.0.5954.46_Setup.dmg'
expected='741c0dfd178008f6796c50d90628ee54f6d1e58f8f823eb2067ee1cab9db1893'
dmg="$(mktemp)"
mount_point="$(mktemp -d)"
cleanup() {
hdiutil detach "$mount_point" >/dev/null 2>&1 || true
rm -f "$dmg"
rmdir "$mount_point" 2>/dev/null || true
}
trap cleanup EXIT
curl -fsSL "$url" -o "$dmg"
printf '%s %s\n' "$expected" "$dmg" | shasum -a 256 -c -
hdiutil attach -nobrowse -readonly -mountpoint "$mount_point" "$dmg" >/dev/null
plutil -extract CFBundleShortVersionString raw "$mount_point/Opera.app/Contents/Info.plist"
plutil -extract CFBundleVersion raw "$mount_point/Opera.app/Contents/Info.plist"Repository: fleetdm/fleet
Length of output: 196
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Tracked file context:\n'
grep -n -A4 -B4 '134\.0\.5954\.46\|134\.0\|script_ref\|query' ee/maintained-apps/outputs/opera/darwin.json || true
printf '\nSearch for bundle_short_version and Opera patched logic:\n'
rg -n "bundle_short_version|CFBundleShortVersionString|Opera|patched" . --glob '!**/.git/**' | head -200Repository: fleetdm/fleet
Length of output: 28061
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Relevant validated darwin maintenance code:\n'
sed -n '160,230p' cmd/maintained-apps/validate/darwin.go
printf '\nOperational application context for maintained apps patching:\n'
rg -n "maintained.*apps|maintained_apps|patched|script_ref|bundle_short_version|version_compare" cmd --glob '*.go' | head -250Repository: fleetdm/fleet
Length of output: 9298
Make the Opera patch query build-aware
The installer installs 134.0.5954.46, but patched compares only 134.0. Update the query to compare the exact build, so Fleet does not treat 134.0.5954.26 as patched or fail to distinguish the two builds.
🤖 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/opera/darwin.json` around lines 9 - 12, Update the
Opera patch query’s version comparison in the relevant darwin configuration to
use the exact installed build 134.0.5954.46 instead of the abbreviated 134.0
value. Keep the installer URL and hash unchanged, and ensure patched status
distinguishes this build from 134.0.5954.26.
Script Diff Resultsee/maintained-apps/outputs/alt-tab/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amadine/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/badgeify/darwin.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/cmake-app/windows.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/downie/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drofus/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elevate-uc/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@nightly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/framer/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gog-galaxy/darwin.json=== Install // 9f170824 -> 89b9a1b7 ===
--- /tmp/old.ZnHPAQ 2026-08-06 23:12:21.115240661 +0000
+++ /tmp/new.6ePLPd 2026-08-06 23:12:21.115240661 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.gog.galaxy.cef.renderer'
-sudo installer -pkg "$TMPDIR/galaxy_client_2.1.7.22.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/galaxy_client_2.1.8.32.pkg" -target / || exit $?
relaunch_application 'com.gog.galaxy.cef.renderer'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-11/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imageglass/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/krita/darwin.json=== Install Script (no changes) ===
=== Uninstall // 7b9f27dc -> 3947b0f0 ===
--- /tmp/old.qTa9fD 2026-08-06 23:12:21.232244656 +0000
+++ /tmp/new.WrGWjm 2026-08-06 23:12:21.232244656 +0000
@@ -52,8 +52,11 @@
fi
}
-sudo rm -rf "$APPDIR/krita.app"
-trash $LOGGED_IN_USER '~/Library/Application Support/krita'
+sudo rm -rf "$APPDIR/Krita.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/org.krita.*'
+trash $LOGGED_IN_USER '~/Library/Application Support/krita*'
+trash $LOGGED_IN_USER '~/Library/Caches/krita'
+trash $LOGGED_IN_USER '~/Library/Containers/org.krita.*'
trash $LOGGED_IN_USER '~/Library/Preferences/kritadisplayrc'
trash $LOGGED_IN_USER '~/Library/Preferences/kritarc'
trash $LOGGED_IN_USER '~/Library/Saved Application State/org.krita.savedState'ee/maintained-apps/outputs/masscode/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nordpass/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/notesnook/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opera/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pale-moon/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/parallels/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rider/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rive/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rustrover/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rustrover/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spyder/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webex/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/whatsapp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/xnconvert/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) === |
|
Closing in favor of #50744. |
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit
New Features
Bug Fixes