Skip to content

Update Fleet-maintained apps - #46037

Merged
allenhouchins merged 2 commits into
mainfrom
fma-2605220022
May 22, 2026
Merged

Update Fleet-maintained apps#46037
allenhouchins merged 2 commits into
mainfrom
fma-2605220022

Conversation

@fleet-release

@fleet-release fleet-release commented May 22, 2026

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • Chores
    • Updated version metadata for 13 macOS applications: 1Password, Arc, Claude, Firefox, GitHub Desktop, Granola, Loom, Microsoft Edge, OmniGraffle, Podman Desktop, Warp, WhatsApp, and Zed
    • Updated version metadata for 5 Windows applications: Adobe Acrobat Reader, Firefox, GitHub Desktop, Granola, and Twingate

Review Change Stack

Generated automatically with cmd/maintained-apps.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This pull request performs a bulk version update across 16 maintained application manifests in the Fleet repository. Each application entry—covering 1Password, Adobe Acrobat Reader, Arc, Claude, Firefox, GitHub Desktop, Granola, Loom, Microsoft Edge, OmniGraffle, Podman Desktop, Twingate, Warp, WhatsApp, and Zed—is advanced to a new release version. For each application, four fields are consistently updated: the version identifier string, the SQL queries.patched version-comparison threshold, the installer download URL pointing to the new release artifact, and the SHA256 checksum validating the new installer binary.

Possibly related PRs

  • fleetdm/fleet#45680: Updates version-specific maintained-app metadata in Darwin JSON files, bumping version strings and adjusting the queries.patched threshold with corresponding installer_url and sha256 changes.
  • fleetdm/fleet#45074: Data-only Fleet "maintained-apps" manifest updates across multiple apps in ee/maintained-apps/outputs/*.json, bumping version and updating version-compare logic, URLs, and checksums.
  • fleetdm/fleet#44996: Updates ee/maintained-apps/outputs/claude/darwin.json by bumping version and aligning queries.patched, installer_url, and sha256 to the new release.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description is minimal but appropriate for an automated data ingestion. However, it does not follow the provided repository template which includes comprehensive checklists for changes files, testing, security, database migrations, and platform compatibility. Clarify whether this automated PR requires template compliance or if a simplified description is acceptable for automated ingestion workflows.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update Fleet-maintained apps' accurately describes the main change—a batch update of version metadata for multiple Fleet-maintained applications across various platforms.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fma-2605220022

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 and usage tips.

@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

🧹 Nitpick comments (1)
ee/maintained-apps/outputs/1password/darwin.json (1)

4-12: ⚡ Quick win

Consider verifying installer integrity for 1Password.

The manifest consistently updates the version to 8.12.21, but uses sha256: "no_check" with a stable installer URL that doesn't include version information. This pattern prevents cryptographic verification of downloaded installers, which could allow corrupted or tampered files to be installed undetected.

🔍 Verification approach

If 1Password provides version-specific URLs or checksums, consider using them. Otherwise, document why integrity checks are skipped for this application.

🤖 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/1password/darwin.json` around lines 4 - 12, The
manifest sets "sha256": "no_check" for the 1Password entry while "version" is
"8.12.21" and "installer_url" is a stable URL; replace the no_check placeholder
with a real SHA256 checksum for the 1Password.pkg for version 8.12.21 (or switch
to a versioned installer_url + corresponding checksum) to enable cryptographic
verification, or add a clear comment/field documenting why integrity checks are
intentionally skipped; update the keys referenced ("version", "installer_url",
"sha256") in the 1Password JSON entry accordingly.
🤖 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/twingate/windows.json`:
- Line 9: The installer_url field currently points to a vendor URL containing
"2026.140.168" (TwingateWindowsInstaller.msi); instead of assuming the URL path
encodes the product version, download the MSI and extract its internal
ProductVersion/ProductName (e.g., via msiexec/msiinfo, sigcheck, or PowerShell
Get-ItemProperty on the MSI) and then update the JSON's version field to match
that MSI metadata (or add a separate "package_version" field) so the recorded
version reflects the MSI's actual internal version rather than the URL path.

---

Nitpick comments:
In `@ee/maintained-apps/outputs/1password/darwin.json`:
- Around line 4-12: The manifest sets "sha256": "no_check" for the 1Password
entry while "version" is "8.12.21" and "installer_url" is a stable URL; replace
the no_check placeholder with a real SHA256 checksum for the 1Password.pkg for
version 8.12.21 (or switch to a versioned installer_url + corresponding
checksum) to enable cryptographic verification, or add a clear comment/field
documenting why integrity checks are intentionally skipped; update the keys
referenced ("version", "installer_url", "sha256") in the 1Password JSON entry
accordingly.
🪄 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: 071e5e8f-4e31-43c8-8cf4-e70ce3bd4e6e

📥 Commits

Reviewing files that changed from the base of the PR and between b01afdf and 40f8eff.

📒 Files selected for processing (18)
  • ee/maintained-apps/outputs/1password/darwin.json
  • ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json
  • ee/maintained-apps/outputs/arc/darwin.json
  • ee/maintained-apps/outputs/claude/darwin.json
  • ee/maintained-apps/outputs/firefox/darwin.json
  • ee/maintained-apps/outputs/firefox/windows.json
  • ee/maintained-apps/outputs/github-desktop/windows.json
  • ee/maintained-apps/outputs/github/darwin.json
  • ee/maintained-apps/outputs/granola/darwin.json
  • ee/maintained-apps/outputs/granola/windows.json
  • ee/maintained-apps/outputs/loom/darwin.json
  • ee/maintained-apps/outputs/microsoft-edge/darwin.json
  • ee/maintained-apps/outputs/omnigraffle/darwin.json
  • ee/maintained-apps/outputs/podman-desktop/darwin.json
  • ee/maintained-apps/outputs/twingate/windows.json
  • ee/maintained-apps/outputs/warp/darwin.json
  • ee/maintained-apps/outputs/whatsapp/darwin.json
  • ee/maintained-apps/outputs/zed/darwin.json

"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Twingate' AND publisher = 'Twingate Inc.' AND version_compare(version, '20.26.140.168') < 0);"
},
"installer_url": "https://binaries.twingate.com/client/windows/versions/2026.120.9484/TwingateWindowsInstaller.msi",
"installer_url": "https://binaries.twingate.com/client/windows/versions/2026.140.168/TwingateWindowsInstaller.msi",

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.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that the Twingate installer URL is accessible and returns valid content

url="https://binaries.twingate.com/client/windows/versions/2026.140.168/TwingateWindowsInstaller.msi"

echo "Checking URL accessibility..."
http_code=$(curl -s -o /dev/null -w "%{http_code}" -L -I "$url")

echo "HTTP Status Code: $http_code"

if [ "$http_code" = "200" ] || [ "$http_code" = "302" ]; then
  echo "✓ URL is accessible"
  
  # Check Content-Type header
  content_type=$(curl -s -L -I "$url" | grep -i "content-type:" | head -1)
  echo "Content-Type: $content_type"
  
  # Check Content-Length to ensure it's not empty
  content_length=$(curl -s -L -I "$url" | grep -i "content-length:" | head -1)
  echo "$content_length"
else
  echo "✗ URL returned HTTP $http_code"
  exit 1
fi

Repository: fleetdm/fleet

Length of output: 223


Update: Twingate installer URL accessibility is OK; still validate MSI’s internal version if required.

ee/maintained-apps/outputs/twingate/windows.json points to https://binaries.twingate.com/client/windows/versions/2026.140.168/TwingateWindowsInstaller.msi, which returns HTTP 200 (binary content). The alternative path using versions/20.26.140.168/ does not appear to exist (HTTP 404), so the 20.262026 mapping looks vendor-specific. If the JSON version must exactly match the MSI’s internal product/version, inspect the MSI metadata rather than relying on the URL path.

🤖 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/twingate/windows.json` at line 9, The
installer_url field currently points to a vendor URL containing "2026.140.168"
(TwingateWindowsInstaller.msi); instead of assuming the URL path encodes the
product version, download the MSI and extract its internal
ProductVersion/ProductName (e.g., via msiexec/msiinfo, sigcheck, or PowerShell
Get-ItemProperty on the MSI) and then update the JSON's version field to match
that MSI metadata (or add a separate "package_version" field) so the recorded
version reflects the MSI's actual internal version rather than the URL path.

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