Skip to content

Update Fleet-maintained apps - #50931

Closed
fleet-release wants to merge 1 commit into
mainfrom
fma-2608110427
Closed

Update Fleet-maintained apps#50931
fleet-release wants to merge 1 commit into
mainfrom
fma-2608110427

Conversation

@fleet-release

@fleet-release fleet-release commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • Updates
    • Refreshed installer metadata, download links, checksums, and version detection for 35 maintained applications across macOS and Windows.
    • Updated releases include Android Studio, Autopsy, Box Drive, ChatGPT, Firefox, Microsoft Edge, Notion, OneDrive, PhpStorm, Slack, Teleport, and others.
    • Added support for the latest Autopsy release, including improved handling of multiple installed products and uninstall outcomes.
    • Updated installation package references for Box Drive, Notion, Surge, and Teleport Suite.

Generated automatically with cmd/maintained-apps.
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/android-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/autopsy/windows.json

=== Install Script (no changes) ===
=== Uninstall // e89e5716 -> 868c149c ===

--- /tmp/old.D9BXZ8	2026-08-11 04:36:25.991051771 +0000
+++ /tmp/new.IZeFcW	2026-08-11 04:36:25.991051771 +0000
@@ -1,26 +1,28 @@
-$product_code = '{6BF79DCF-4641-4323-80A8-C43596518ECE}'
-$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
+$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('{6AAD1A1D-40C1-4515-B4D6-EA5A167FFA77}')) {
+    $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 0

ee/maintained-apps/outputs/box-drive/darwin.json

=== Install // 0282e69d -> 346485a2 ===

--- /tmp/old.wM1rEp	2026-08-11 04:36:26.047052089 +0000
+++ /tmp/new.kBxgC4	2026-08-11 04:36:26.048052095 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.box.desktop'
-sudo installer -pkg "$TMPDIR/BoxDrive-2.53.219.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/BoxDrive-2.53.223.pkg" -target / || exit $?
 relaunch_application 'com.box.desktop'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cisco-jabber/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cloudflare-warp/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/devin-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropbox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox@developer-edition/darwin.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/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/keeper-password-manager/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/lenovo-system-update/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/localsend/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-edge/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nvidia-geforce-now/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/obsidian/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/onedrive/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/phpstorm/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/phpstorm/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/shapr3d/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/shift/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/shift/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/slack/darwin.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/teleport-connect/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/teleport-connect/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/teleport-suite/darwin.json

=== Install // e996f404 -> 2b57ace9 ===

--- /tmp/old.l7FeeZ	2026-08-11 04:36:26.964057298 +0000
+++ /tmp/new.mJvGge	2026-08-11 04:36:26.964057298 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gravitational.teleport.tsh'
-sudo installer -pkg "$TMPDIR/teleport-18.10.3.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/teleport-18.10.4.pkg" -target / || exit $?
 relaunch_application 'com.gravitational.teleport.tsh'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/termius/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/zen/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Updated maintained application manifests with new versions, patch thresholds, installer URLs, and SHA-256 checksums. Updated Box Drive and Teleport Suite installer package references. Changed Autopsy uninstallation to enumerate products by upgrade code, apply timeouts, recognize defined success codes, and stop on failures.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description identifies automated app-data ingestion but omits the required issue reference, checklist status, and testing details. Add the related issue or mark it not applicable, complete applicable checklist items, and document testing and manual QA results.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the primary change: updating Fleet-maintained application data.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fma-2608110427

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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/termius/windows.json`:
- Around line 10-13: Update the Termius entry’s installer_url to an immutable,
version-pinned URL for the 9.43.0 installer matching the existing sha256, while
leaving version and checksum metadata unchanged.
🪄 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: 0d70f018-9c56-4a11-92ce-a4b0771b8517

📥 Commits

Reviewing files that changed from the base of the PR and between d1db83c and 2f1e649.

📒 Files selected for processing (33)
  • ee/maintained-apps/outputs/android-studio/darwin.json
  • ee/maintained-apps/outputs/autopsy/windows.json
  • ee/maintained-apps/outputs/box-drive/darwin.json
  • ee/maintained-apps/outputs/chatgpt/darwin.json
  • ee/maintained-apps/outputs/cisco-jabber/darwin.json
  • ee/maintained-apps/outputs/cloudflare-warp/windows.json
  • ee/maintained-apps/outputs/devin-desktop/darwin.json
  • ee/maintained-apps/outputs/drawio/windows.json
  • ee/maintained-apps/outputs/dropbox/darwin.json
  • ee/maintained-apps/outputs/firefox@developer-edition/darwin.json
  • ee/maintained-apps/outputs/firefox@nightly/darwin.json
  • ee/maintained-apps/outputs/hive-app/darwin.json
  • ee/maintained-apps/outputs/keeper-password-manager/darwin.json
  • ee/maintained-apps/outputs/lenovo-system-update/windows.json
  • ee/maintained-apps/outputs/localsend/darwin.json
  • ee/maintained-apps/outputs/microsoft-edge/windows.json
  • ee/maintained-apps/outputs/notion/darwin.json
  • ee/maintained-apps/outputs/nvidia-geforce-now/darwin.json
  • ee/maintained-apps/outputs/obsidian/darwin.json
  • ee/maintained-apps/outputs/onedrive/darwin.json
  • ee/maintained-apps/outputs/phpstorm/darwin.json
  • ee/maintained-apps/outputs/phpstorm/windows.json
  • ee/maintained-apps/outputs/rocket-chat/darwin.json
  • ee/maintained-apps/outputs/shapr3d/darwin.json
  • ee/maintained-apps/outputs/shift/darwin.json
  • ee/maintained-apps/outputs/shift/windows.json
  • ee/maintained-apps/outputs/slack/darwin.json
  • ee/maintained-apps/outputs/surge/darwin.json
  • ee/maintained-apps/outputs/teleport-connect/darwin.json
  • ee/maintained-apps/outputs/teleport-connect/windows.json
  • ee/maintained-apps/outputs/teleport-suite/darwin.json
  • ee/maintained-apps/outputs/termius/windows.json
  • ee/maintained-apps/outputs/zen/darwin.json

Comment on lines 10 to +13
"installer_url": "https://autoupdate.termius.com/windows/Install%20Termius.exe",
"install_script_ref": "df65625a",
"uninstall_script_ref": "362c320f",
"sha256": "9d6fb0b32fcef989762e7c268f298ebcfb46e042920847681418e38a1a6752d0",
"sha256": "5f769089cec36c686cac6878fc08312c56fcae28f460c004bf6b05f226a24805",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

url='https://autoupdate.termius.com/windows/Install%20Termius.exe'
expected='5f769089cec36c686cac6878fc08312c56fcae28f460c004bf6b05f226a24805'
file="$(mktemp)"
trap 'rm -f "$file"' EXIT

curl --fail --location --silent --show-error "$url" -o "$file"
actual="$(sha256sum "$file" | awk '{print $1}')"
test "$actual" = "$expected"

Repository: fleetdm/fleet

Length of output: 151


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

file='ee/maintained-apps/outputs/termius/windows.json'
printf '%s\n' '--- manifest ---'
cat -n "$file"

printf '%s\n' '--- related schema and ingestion references ---'
rg -n --glob '!node_modules' --glob '!dist' \
  'installer_url|install_script_ref|sha256|maintained-apps/outputs' \
  ee/maintained-apps .github 2>/dev/null | head -250

Repository: fleetdm/fleet

Length of output: 34781


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- maintained-apps documentation around installer handling ---'
sed -n '1,240p' ee/maintained-apps/README.md

printf '%s\n' '--- exact installer download and checksum consumers ---'
rg -n --glob '!node_modules' --glob '!dist' \
  'installer_url|sha256sum|sha256|INSTALLER_PATH|download.*installer|installer.*download' \
  . | head -300

Repository: fleetdm/fleet

Length of output: 50371


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- Termius input and generator references ---'
fd -i 'termius|maintained-apps' ee/maintained-apps | head -100
rg -n --glob '*.go' --glob '*.json' \
  'installer_url|sha256|ignore_hash|Download.*Installer|download.*URL' \
  cmd/maintained-apps ee/maintained-apps server | head -220

printf '%s\n' '--- download/hash behavior in relevant server paths ---'
sed -n '620,690p' server/fleet/scripts.go
sed -n '480,565p' client/orbit_client.go

Repository: fleetdm/fleet

Length of output: 38651


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- Termius inputs ---'
cat -n ee/maintained-apps/inputs/winget/termius.json
cat -n ee/maintained-apps/inputs/winget/scripts/termius_install.ps1

printf '%s\n' '--- validation download and checksum code ---'
sed -n '150,215p' cmd/maintained-apps/validate/main.go
sed -n '385,435p' cmd/maintained-apps/validate/main.go

printf '%s\n' '--- generated output model and checksum handling ---'
sed -n '1,125p' ee/maintained-apps/maintained_apps.go
sed -n '630,665p' ee/maintained-apps/ingesters/winget/ingester.go

Repository: fleetdm/fleet

Length of output: 10124


Use a version-pinned Termius installer URL.

installer_url is mutable, while version and sha256 describe 9.43.0. A later endpoint update makes Fleet’s checksum validation fail and blocks installation. Replace it with an immutable URL, or archive the exact installer and use the archive URL.

🤖 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/termius/windows.json` around lines 10 - 13, Update
the Termius entry’s installer_url to an immutable, version-pinned URL for the
9.43.0 installer matching the existing sha256, while leaving version and
checksum metadata unchanged.

Source: MCP tools

@github-actions

Copy link
Copy Markdown
Contributor

Closing in favor of #50934.

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.

2 participants