Skip to content

Update Fleet-maintained apps - #49577

Merged
allenhouchins merged 1 commit into
mainfrom
fma-2607201628
Jul 20, 2026
Merged

Update Fleet-maintained apps#49577
allenhouchins merged 1 commit into
mainfrom
fma-2607201628

Conversation

@fleet-release

@fleet-release fleet-release commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • Updates
    • Updated maintained app packages to newer releases across macOS and Windows, including Arc, Bruno, Docker Desktop, Firefox Nightly, Grammarly, Granola, Hive, Podman Desktop, QSpace Pro, Readest, Reqable, Typora, and Zoom.
    • Refreshed installer download links and verification checksums for the updated releases.
    • Corrected the Adobe Creative Cloud Windows installer checksum.
    • Improved Grammarly Desktop removal behavior to clean up related services and application data.

Generated automatically with cmd/maintained-apps.
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 71eac011-22ed-4d9b-a841-d250c3161b1f

📥 Commits

Reviewing files that changed from the base of the PR and between efe6d53 and 6ac18d2.

📒 Files selected for processing (18)
  • ee/maintained-apps/outputs/adobe-creative-cloud/windows.json
  • ee/maintained-apps/outputs/arc/darwin.json
  • ee/maintained-apps/outputs/bruno/darwin.json
  • ee/maintained-apps/outputs/bruno/windows.json
  • ee/maintained-apps/outputs/docker-desktop/darwin.json
  • ee/maintained-apps/outputs/docker/windows.json
  • ee/maintained-apps/outputs/firefox@nightly/darwin.json
  • ee/maintained-apps/outputs/firefox@nightly/windows.json
  • ee/maintained-apps/outputs/grammarly-desktop/darwin.json
  • ee/maintained-apps/outputs/granola/darwin.json
  • ee/maintained-apps/outputs/granola/windows.json
  • ee/maintained-apps/outputs/hive-app/darwin.json
  • ee/maintained-apps/outputs/podman-desktop/darwin.json
  • ee/maintained-apps/outputs/qspace-pro/darwin.json
  • ee/maintained-apps/outputs/readest/windows.json
  • ee/maintained-apps/outputs/reqable/darwin.json
  • ee/maintained-apps/outputs/typora/darwin.json
  • ee/maintained-apps/outputs/zoom/windows.json

Walkthrough

Maintained-app output metadata was refreshed for multiple Darwin and Windows applications, including version fields, patch-detection thresholds, installer URLs, and SHA-256 checksums. Adobe Creative Cloud received a checksum-only update. Grammarly Desktop also switched to a new uninstall script reference, whose implementation removes matching launchctl services, deletes the application, and moves user-specific Grammarly Library items to Trash.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is too vague and does not follow the repository template with related issue, checklist, testing, or other required sections. Expand it to match the template: add the related issue field, fill relevant checklist items, and include testing or QA details.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and clearly summarizes the main change: updating Fleet-maintained apps.
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-2607201628

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.

@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/adobe-creative-cloud/windows.json

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/docker/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/firefox@nightly/windows.json

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

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

=== Install Script (no changes) ===
=== Uninstall // e14b2d61 -> 8ac93526 ===

--- /tmp/old.1Hbiok	2026-07-20 16:41:31.055443292 +0000
+++ /tmp/new.Ir9Lod	2026-07-20 16:41:31.055443292 +0000
@@ -5,6 +5,76 @@
 LOGGED_IN_USER=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ { print $3 }')
 # functions
 
+remove_launchctl_service() {
+  local service="$1"
+  local booleans=("true" "false")
+  local plist_status
+  local paths
+  local should_sudo
+
+  echo "Removing launchctl service ${service}"
+
+  # A wildcard label can't be used with launchctl or as a plist name, so expand
+  # it to the labels of currently loaded services that match the pattern.
+  local services=("$service")
+  if [[ "$service" == *"*"* ]]; then
+    local regex
+    # Escape regex metacharacters, turn '*' into '.*', and anchor the pattern so
+    # it matches a full label rather than a substring.
+    regex=$(printf '%s' "$service" | sed -e 's/[][(){}.^$+?|\\]/\\&/g' -e 's/\*/.*/g')
+    regex="^${regex}$"
+    services=()
+    local id
+    # Match every loaded job by label regardless of PID; launchctl list reports
+    # loaded-but-not-running jobs with a "-" in the PID column.
+    while read -r _ _ id; do
+      [[ "$id" =~ $regex ]] && services+=("$id")
+    done < <(launchctl list 2>/dev/null | tail -n +2)
+    if [[ ${#services[@]} -eq 0 ]]; then
+      echo "No loaded launchctl service matches ${service}"
+      return
+    fi
+  fi
+
+  local service_label
+  for service_label in "${services[@]}"; do
+    for should_sudo in "${booleans[@]}"; do
+      plist_status=$(launchctl list "${service_label}" 2>/dev/null)
+
+      if [[ $plist_status == \{* ]]; then
+        if [[ $should_sudo == "true" ]]; then
+          sudo launchctl remove "${service_label}"
+        else
+          launchctl remove "${service_label}"
+        fi
+        sleep 1
+      fi
+
+      paths=(
+        "/Library/LaunchAgents/${service_label}.plist"
+        "/Library/LaunchDaemons/${service_label}.plist"
+      )
+
+      # if not using sudo, prepend the home directory to the paths
+      if [[ $should_sudo == "false" ]]; then
+        for i in "${!paths[@]}"; do
+          paths[i]="${HOME}${paths[i]}"
+        done
+      fi
+
+      for path in "${paths[@]}"; do
+        if [[ -e "$path" ]]; then
+          if [[ $should_sudo == "true" ]]; then
+            sudo rm -f -- "$path"
+          else
+            rm -f -- "$path"
+          fi
+        fi
+      done
+    done
+  done
+}
+
 trash() {
   local logged_in_user="$1"
   local target_file="$2"
@@ -52,6 +122,9 @@
   fi
 }
 
+remove_launchctl_service 'com.grammarly.ProjectLlama.LoginHelper'
+remove_launchctl_service 'com.grammarly.ProjectLlama.Shepherd'
+remove_launchctl_service 'com.grammarly.ProjectLlama.Uninstaller'
 sudo rm -rf "$APPDIR/Grammarly Desktop.app"
 trash $LOGGED_IN_USER '~/Library/Application Support/com.grammarly.ProjectLlama'
 trash $LOGGED_IN_USER '~/Library/Caches/com.grammarly.ProjectLlama'

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/hive-app/darwin.json

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

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

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

ee/maintained-apps/outputs/qspace-pro/darwin.json

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

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

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

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

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

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

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

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

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

@allenhouchins
allenhouchins merged commit 2df68b8 into main Jul 20, 2026
18 of 20 checks passed
@allenhouchins
allenhouchins deleted the fma-2607201628 branch July 20, 2026 18:38
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