Skip to content

Update Fleet-maintained apps - #48533

Merged
allenhouchins merged 2 commits into
mainfrom
fma-2607010025
Jul 1, 2026
Merged

Update Fleet-maintained apps#48533
allenhouchins merged 2 commits into
mainfrom
fma-2607010025

Conversation

@fleet-release

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

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • New Features
    • Updated package definitions to match the latest releases for several maintained apps on macOS and Windows, including browsers, productivity tools, developer tools, and utilities.
  • Bug Fixes
    • Improved version detection so installed apps are identified correctly as up to date after upgrading.
    • Refreshed download links and checksums to match the newest installers.
  • Chores
    • Bumped version metadata across multiple app entries to keep the catalog current.

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.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/1password/darwin.json

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

ee/maintained-apps/outputs/7-zip/windows.json

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

ee/maintained-apps/outputs/aws-cli/windows.json

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

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

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

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

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/elgato-stream-deck/darwin.json

=== Install // 1dd644a7 -> 214a13cd ===

--- /tmp/old.LiRAEG	2026-07-01 00:30:19.249718349 +0000
+++ /tmp/new.W0qKiW	2026-07-01 00:30:19.249718349 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.StreamDeck'
-sudo installer -pkg "$TMPDIR/Stream_Deck_7.4.2.22730.pkg" -target /
+sudo installer -pkg "$TMPDIR/Stream_Deck_7.5.0.22885.pkg" -target /
 relaunch_application 'com.elgato.StreamDeck'

=== Uninstall // 19b25325 -> dd528c8d ===

--- /tmp/old.TiGY22	2026-07-01 00:30:19.275718933 +0000
+++ /tmp/new.7gqzjd	2026-07-01 00:30:19.276718955 +0000
@@ -203,7 +203,7 @@
   fi
 }
 
-remove_launchctl_service 'com.elgato.StreamDeck'
+remove_launchctl_service 'com.elgato.StreamDeck*'
 quit_application 'com.elgato.StreamDeck'
 remove_pkg_files 'com.elgato.StreamDeck'
 forget_pkg 'com.elgato.StreamDeck'

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

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

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

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/google-chrome/windows.json

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

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

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

ee/maintained-apps/outputs/granola/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/keka/darwin.json

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/microsoft-excel/darwin.json

=== Install // f32e98af -> eb617288 ===

--- /tmp/old.oAw3MY	2026-07-01 00:30:19.898732934 +0000
+++ /tmp/new.Rfnfpc	2026-07-01 00:30:19.899732956 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_Excel_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_Excel_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Excel'

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

ee/maintained-apps/outputs/microsoft-onenote/darwin.json

=== Install // 4e096c26 -> 75461837 ===

--- /tmp/old.mVFTcG	2026-07-01 00:30:19.953734170 +0000
+++ /tmp/new.KzrbU0	2026-07-01 00:30:19.953734170 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.microsoft.onenote.mac'
-sudo installer -pkg "$TMPDIR/Microsoft_OneNote_16.110.26062112_Updater.pkg" -target /
+sudo installer -pkg "$TMPDIR/Microsoft_OneNote_16.110.26062818_Updater.pkg" -target /
 relaunch_application 'com.microsoft.onenote.mac'

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

ee/maintained-apps/outputs/microsoft-powerpoint/darwin.json

=== Install // df9625c4 -> 4a7cc8ae ===

--- /tmp/old.c02hSp	2026-07-01 00:30:20.008735406 +0000
+++ /tmp/new.aIyueJ	2026-07-01 00:30:20.008735406 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_PowerPoint_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_PowerPoint_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Powerpoint'

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

ee/maintained-apps/outputs/microsoft-word/darwin.json

=== Install // 65c47445 -> 481e55cb ===

--- /tmp/old.Qyt2Yi	2026-07-01 00:30:20.063736642 +0000
+++ /tmp/new.uHspxs	2026-07-01 00:30:20.063736642 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_Word_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_Word_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Word'

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/qlmarkdown/darwin.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/shapr3d/darwin.json

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

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

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

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

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

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

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

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

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

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This PR updates 40 maintained-app output JSON files under ee/maintained-apps/outputs across macOS and Windows platforms. Each file's version field, queries.patched SQL version_compare threshold, installer_url, and sha256 checksum are bumped to the latest release for each app. A subset of files (Elgato Stream Deck, Microsoft Excel, OneNote, PowerPoint, and Word) additionally update embedded install/uninstall bash scripts, including new installer package filenames and a wildcard change to a launchctl service removal pattern.

Possibly related PRs

  • fleetdm/fleet#48159: Directly updates the same Microsoft Office (excel/onenote/powerpoint/word) darwin.json version/patched/installer_url/sha256 fields.
  • fleetdm/fleet#48427: Updates the same ee/maintained-apps/outputs/wins/darwin.json version and version_compare threshold fields.
  • fleetdm/fleet#47919: Updates the same ee/maintained-apps/outputs/hive-app/darwin.json version, patched threshold, installer_url, and sha256 fields.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is only a one-line summary and misses the required template sections and checklist items. Expand the description to include the template sections: Related issue, checklist items, Testing, Database migrations, and any applicable fleetd/orbit notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately 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-2607010025

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/elgato-stream-deck/darwin.json`:
- Line 20: The launchd cleanup call is using a wildcard label, but
remove_launchctl_service and launchctl list only work with exact service labels.
Update the call site to pass concrete com.elgato.StreamDeck launchd job names
(or expand the pattern first) so the helper can actually remove the matching
plist and service entries.
🪄 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: aa75fe67-11e3-440d-b562-f907afc68411

📥 Commits

Reviewing files that changed from the base of the PR and between 5ada6e8 and 4489ba2.

📒 Files selected for processing (40)
  • ee/maintained-apps/outputs/1password/darwin.json
  • ee/maintained-apps/outputs/7-zip/windows.json
  • ee/maintained-apps/outputs/aws-cli/windows.json
  • ee/maintained-apps/outputs/bitwarden/darwin.json
  • ee/maintained-apps/outputs/bitwarden/windows.json
  • ee/maintained-apps/outputs/bricklink-studio/darwin.json
  • ee/maintained-apps/outputs/cardhop/darwin.json
  • ee/maintained-apps/outputs/claude/darwin.json
  • ee/maintained-apps/outputs/dockside/darwin.json
  • ee/maintained-apps/outputs/elgato-stream-deck/darwin.json
  • ee/maintained-apps/outputs/figma/darwin.json
  • ee/maintained-apps/outputs/figma/windows.json
  • ee/maintained-apps/outputs/firefox/darwin.json
  • ee/maintained-apps/outputs/forklift/darwin.json
  • ee/maintained-apps/outputs/franz/darwin.json
  • ee/maintained-apps/outputs/gdevelop/darwin.json
  • ee/maintained-apps/outputs/google-chrome/windows.json
  • ee/maintained-apps/outputs/grammarly-desktop/darwin.json
  • ee/maintained-apps/outputs/granola/darwin.json
  • ee/maintained-apps/outputs/hive-app/darwin.json
  • ee/maintained-apps/outputs/keka/darwin.json
  • ee/maintained-apps/outputs/lightburn/darwin.json
  • ee/maintained-apps/outputs/lookaway/darwin.json
  • ee/maintained-apps/outputs/macwhisper/darwin.json
  • ee/maintained-apps/outputs/mellel/darwin.json
  • ee/maintained-apps/outputs/microsoft-excel/darwin.json
  • ee/maintained-apps/outputs/microsoft-onenote/darwin.json
  • ee/maintained-apps/outputs/microsoft-powerpoint/darwin.json
  • ee/maintained-apps/outputs/microsoft-word/darwin.json
  • ee/maintained-apps/outputs/netnewswire/darwin.json
  • ee/maintained-apps/outputs/notesnook/darwin.json
  • ee/maintained-apps/outputs/ollama/darwin.json
  • ee/maintained-apps/outputs/opencode-desktop/darwin.json
  • ee/maintained-apps/outputs/qlmarkdown/darwin.json
  • ee/maintained-apps/outputs/reqable/darwin.json
  • ee/maintained-apps/outputs/shapr3d/darwin.json
  • ee/maintained-apps/outputs/soulver/darwin.json
  • ee/maintained-apps/outputs/tortoisegit/windows.json
  • ee/maintained-apps/outputs/virtualbox/darwin.json
  • ee/maintained-apps/outputs/wins/darwin.json

"19b25325": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nquit_application() {\n local bundle_id=\"$1\"\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 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 return\n fi\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\nremove_launchctl_service() {\n local service=\"$1\"\n local booleans=(\"true\" \"false\")\n local plist_status\n local paths\n local should_sudo\n\n echo \"Removing launchctl service ${service}\"\n\n for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service}\"\n else\n launchctl remove \"${service}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service}.plist\"\n \"/Library/LaunchDaemons/${service}.plist\"\n )\n\n # if not using sudo, prepend the home directory to the paths\n if [[ $should_sudo == \"false\" ]]; then\n for i in \"${!paths[@]}\"; do\n paths[i]=\"${HOME}${paths[i]}\"\n done\n fi\n\n for path in \"${paths[@]}\"; do\n if [[ -e \"$path\" ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo rm -f -- \"$path\"\n else\n rm -f -- \"$path\"\n fi\n fi\n done\n done\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_launchctl_service 'com.elgato.StreamDeck'\nquit_application 'com.elgato.StreamDeck'\nremove_pkg_files 'com.elgato.StreamDeck'\nforget_pkg 'com.elgato.StreamDeck'\nsudo rm -rf '/Applications/Elgato Stream Deck.app'\nsudo rm -rf '/Library/LaunchAgents/com.elgato.StreamDeck.plist'\nsudo rm -rf '~/Library/LaunchAgents/com.elgato.StreamDeck.plist'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.plausiblelabs.crashreporter.data/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.elgato.StreamDeck.plist'\n",
"1dd644a7": "#!/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# install pkg files\nquit_and_track_application 'com.elgato.StreamDeck'\nsudo installer -pkg \"$TMPDIR/Stream_Deck_7.4.2.22730.pkg\" -target /\nrelaunch_application 'com.elgato.StreamDeck'\n"
"214a13cd": "#!/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# install pkg files\nquit_and_track_application 'com.elgato.StreamDeck'\nsudo installer -pkg \"$TMPDIR/Stream_Deck_7.5.0.22885.pkg\" -target /\nrelaunch_application 'com.elgato.StreamDeck'\n",
"dd528c8d": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nquit_application() {\n local bundle_id=\"$1\"\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 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 return\n fi\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\nremove_launchctl_service() {\n local service=\"$1\"\n local booleans=(\"true\" \"false\")\n local plist_status\n local paths\n local should_sudo\n\n echo \"Removing launchctl service ${service}\"\n\n for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service}\"\n else\n launchctl remove \"${service}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service}.plist\"\n \"/Library/LaunchDaemons/${service}.plist\"\n )\n\n # if not using sudo, prepend the home directory to the paths\n if [[ $should_sudo == \"false\" ]]; then\n for i in \"${!paths[@]}\"; do\n paths[i]=\"${HOME}${paths[i]}\"\n done\n fi\n\n for path in \"${paths[@]}\"; do\n if [[ -e \"$path\" ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo rm -f -- \"$path\"\n else\n rm -f -- \"$path\"\n fi\n fi\n done\n done\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_launchctl_service 'com.elgato.StreamDeck*'\nquit_application 'com.elgato.StreamDeck'\nremove_pkg_files 'com.elgato.StreamDeck'\nforget_pkg 'com.elgato.StreamDeck'\nsudo rm -rf '/Applications/Elgato Stream Deck.app'\nsudo rm -rf '/Library/LaunchAgents/com.elgato.StreamDeck.plist'\nsudo rm -rf '~/Library/LaunchAgents/com.elgato.StreamDeck.plist'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.plausiblelabs.crashreporter.data/com.elgato.StreamDeck'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.elgato.StreamDeck.plist'\n"

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.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the relevant maintained-apps output and inspect nearby context.
file="ee/maintained-apps/outputs/elgato-stream-deck/darwin.json"
grep -n '"com.elgato.StreamDeck' "$file" | sed -n '1,40p'

python3 - <<'PY'
import json
from pathlib import Path

path = Path("ee/maintained-apps/outputs/elgato-stream-deck/darwin.json")
data = json.loads(path.read_text())
for k, v in data.items():
    if "StreamDeck" in k or "launchctl" in v or "remove_launchctl_service" in v:
        print("KEY:", k)
        print(v[:1200])
        print("---")
PY

# Search for any helper that expands service globs or special-cases launchctl removal.
rg -n "remove_launchctl_service|launchctl list|com\.elgato\.StreamDeck\*" ee/maintained-apps -S

Repository: fleetdm/fleet

Length of output: 151


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Read the specific area around the uninstall script entry.
file="ee/maintained-apps/outputs/elgato-stream-deck/darwin.json"
python3 - <<'PY'
from pathlib import Path
import json

path = Path("ee/maintained-apps/outputs/elgato-stream-deck/darwin.json")
data = json.loads(path.read_text())

# Print the uninstall script around the relevant call.
script = next(v for k, v in data.items() if "StreamDeck" in k)
lines = script.splitlines()
for i, line in enumerate(lines, 1):
    if "remove_launchctl_service" in line or "launchctl list" in line or "StreamDeck*" in line:
        start = max(1, i-8)
        end = min(len(lines), i+8)
        print(f"--- lines {start}-{end} ---")
        for n in range(start, end + 1):
            print(f"{n:4d}: {lines[n-1]}")
PY

# Check whether the script defines any wildcard-expansion for launchctl services.
rg -n "launchctl.*grep|grep.*launchctl|service.*\\*" ee/maintained-apps/outputs/elgato-stream-deck/darwin.json -n -S

Repository: fleetdm/fleet

Length of output: 238


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="ee/maintained-apps/outputs/elgato-stream-deck/darwin.json"

# Basic shape and size.
wc -c "$file"
python3 - <<'PY'
import json
from pathlib import Path

path = Path("ee/maintained-apps/outputs/elgato-stream-deck/darwin.json")
data = json.loads(path.read_text())
print(type(data).__name__)
if isinstance(data, dict):
    print("top-level keys:", len(data))
    for k in list(data.keys())[:20]:
        print(repr(k))
elif isinstance(data, list):
    print("top-level length:", len(data))
    for i, item in enumerate(data[:5]):
        if isinstance(item, dict):
            print("item", i, "keys:", list(item.keys())[:20])
        else:
            print("item", i, type(item).__name__, repr(item)[:200])
PY

# Show the first ~80 lines with numbers to understand the structure.
sed -n '1,120p' "$file" | nl -ba | sed -n '1,120p'

Repository: fleetdm/fleet

Length of output: 297


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import json
from pathlib import Path

path = Path("ee/maintained-apps/outputs/elgato-stream-deck/darwin.json")
data = json.loads(path.read_text())

def walk(obj, prefix=""):
    if isinstance(obj, dict):
        for k, v in obj.items():
            newp = f"{prefix}/{k}" if prefix else str(k)
            if isinstance(v, (dict, list)):
                walk(v, newp)
            elif isinstance(v, str) and "StreamDeck" in v:
                print(newp, "=>", v[:300].replace("\n", "\\n"))
    elif isinstance(obj, list):
        for i, v in enumerate(obj):
            newp = f"{prefix}[{i}]"
            if isinstance(v, (dict, list)):
                walk(v, newp)
            elif isinstance(v, str) and "StreamDeck" in v:
                print(newp, "=>", v[:300].replace("\n", "\\n"))

walk(data)

print("\n=== refs keys ===")
if isinstance(data.get("refs"), dict):
    for k in data["refs"].keys():
        print(repr(k))

print("\n=== versions keys ===")
if isinstance(data.get("versions"), dict):
    for k in data["versions"].keys():
        print(repr(k))
        break

# Print concise info about entries that contain the target call.
for section_name in ("refs", "versions"):
    section = data.get(section_name, {})
    if isinstance(section, dict):
        for k, v in section.items():
            text = json.dumps(v) if not isinstance(v, str) else v
            if "remove_launchctl_service" in text or "com.elgato.StreamDeck*" in text:
                print(f"\nFOUND in {section_name}[{k!r}]")
                if isinstance(v, dict):
                    for kk in v.keys():
                        print("  ", kk)
                else:
                    print(type(v).__name__)
PY

Repository: fleetdm/fleet

Length of output: 1189


🌐 Web query:

launchctl list exact label matching wildcard documentation

💡 Result:

The launchctl command does not support wildcard matching for job labels [1][2]. Official documentation for launchctl indicates that the list subcommand accepts an optional specific label to display information for that exact job, but it does not provide native support for globbing, regex, or wildcard patterns [3][4][5]. When a user attempts to use a wildcard with launchctl list (e.g., passing an argument containing an asterisk), the command will fail to find a matching job because it searches for a label that exactly matches the provided string [1][2]. If you need to filter or find jobs matching a specific pattern, the standard approach is to use standard shell tools in conjunction with launchctl list. You can pipe the output of launchctl list to tools like grep to achieve the desired wildcard behavior: # Example: Finding all jobs containing 'ssh' in the label launchctl list | grep ssh For more advanced inspection, the print subcommand is the recommended modern alternative to list, providing more detailed information about jobs, though it also requires exact service identifiers [3][6].

Citations:


Use concrete launchd service labels here. remove_launchctl_service does not glob, and launchctl list only matches exact labels, so com.elgato.StreamDeck* will not remove the intended launchd jobs or plists. Expand the pattern before calling this helper or list the exact service names.

🤖 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/elgato-stream-deck/darwin.json` at line 20, The
launchd cleanup call is using a wildcard label, but remove_launchctl_service and
launchctl list only work with exact service labels. Update the call site to pass
concrete com.elgato.StreamDeck launchd job names (or expand the pattern first)
so the helper can actually remove the matching plist and service entries.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: test-fma-pr-only

Failed stage: Filter apps.json and verify changed apps [❌]

Failed test name: ""

Failure summary:

The action failed during an app validation step because the Wins (wins/darwin) app did not match the
expected version.
- The validator expected Wins version 3.4, but osquery detected Wins.app as
version 3.3 (time=level=ERROR msg="App version '3.4' was not found by osquery" app=Wins, around line
5553).
- As a result, only 33/34 apps validated successfully, Wins was listed under Apps with
errors, and the step exited with exit status 1 / Process completed with exit code 1 (lines
~5555-5558).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

168:  * [new branch]            11938-loadtesting-branch    -> origin/11938-loadtesting-branch
169:  * [new branch]            12007-ui-idp-metadata       -> origin/12007-ui-idp-metadata
170:  * [new branch]            12351-try-fix-for-fleet-desktop -> origin/12351-try-fix-for-fleet-desktop
171:  * [new branch]            12356-puppet-callback       -> origin/12356-puppet-callback
172:  * [new branch]            12375-query-bulk-action     -> origin/12375-query-bulk-action
173:  * [new branch]            12474-documentation         -> origin/12474-documentation
174:  * [new branch]            12614-federated-auth-support -> origin/12614-federated-auth-support
175:  * [new branch]            12687-host-issues-query     -> origin/12687-host-issues-query
176:  * [new branch]            12696-loadtest-cis-changes  -> origin/12696-loadtest-cis-changes
177:  * [new branch]            12842-fleetd-bitlocker-management -> origin/12842-fleetd-bitlocker-management
178:  * [new branch]            12842-fleetd-bitlocker-table -> origin/12842-fleetd-bitlocker-table
179:  * [new branch]            12889-faster-software       -> origin/12889-faster-software
180:  * [new branch]            13287-loadtest-changes      -> origin/13287-loadtest-changes
181:  * [new branch]            13288-poc-fleet-fips        -> origin/13288-poc-fleet-fips
182:  * [new branch]            13485-query-reports-migration -> origin/13485-query-reports-migration
183:  * [new branch]            13574-cache-failed-policy-counts -> origin/13574-cache-failed-policy-counts
184:  * [new branch]            13657-docs                  -> origin/13657-docs
...

196:  * [new branch]            146orch                     -> origin/146orch
197:  * [new branch]            14753-windows-ps1-api       -> origin/14753-windows-ps1-api
198:  * [new branch]            14957-test-dep-screen       -> origin/14957-test-dep-screen
199:  * [new branch]            14957-test-dep-screen-patch -> origin/14957-test-dep-screen-patch
200:  * [new branch]            15068-disk-encryption-ii    -> origin/15068-disk-encryption-ii
201:  * [new branch]            15082-download-api-docs     -> origin/15082-download-api-docs
202:  * [new branch]            15082-make-endpoints-consistent -> origin/15082-make-endpoints-consistent
203:  * [new branch]            15082-update-download-endpoints -> origin/15082-update-download-endpoints
204:  * [new branch]            15380-hosts-api-doc         -> origin/15380-hosts-api-doc
205:  * [new branch]            15461-ui-dep-assign-profile-responses -> origin/15461-ui-dep-assign-profile-responses
206:  * [new branch]            15463-msi-fix               -> origin/15463-msi-fix
207:  * [new branch]            15559-move-scep             -> origin/15559-move-scep
208:  * [new branch]            15633                       -> origin/15633
209:  * [new branch]            15770-mac-os-vuln           -> origin/15770-mac-os-vuln
210:  * [new branch]            15801-migration             -> origin/15801-migration
211:  * [new branch]            15912-password-reset-error-code -> origin/15912-password-reset-error-code
212:  * [new branch]            16182-log-root              -> origin/16182-log-root
...

619:  * [new branch]            4701-tickets                -> origin/4701-tickets
620:  * [new branch]            4701-with-osqpfix           -> origin/4701-with-osqpfix
621:  * [new branch]            471-0716                    -> origin/471-0716
622:  * [new branch]            471-cloudfront              -> origin/471-cloudfront
623:  * [new branch]            471-tickets                 -> origin/471-tickets
624:  * [new branch]            4710mdm                     -> origin/4710mdm
625:  * [new branch]            4710mdmloadtest             -> origin/4710mdmloadtest
626:  * [new branch]            4711-bsln                   -> origin/4711-bsln
627:  * [new branch]            471RC-07-09                 -> origin/471RC-07-09
628:  * [new branch]            4720mdm                     -> origin/4720mdm
629:  * [new branch]            4720orch                    -> origin/4720orch
630:  * [new branch]            4720orch1                   -> origin/4720orch1
631:  * [new branch]            4720orch2                   -> origin/4720orch2
632:  * [new branch]            47289-new-fma-masv          -> origin/47289-new-fma-masv
633:  * [new branch]            472orchm                    -> origin/472orchm
634:  * [new branch]            47303-redis-moved-errors-from-getqueryresultscounts-incrqueryresultscounts-in-cluster-mode -> origin/47303-redis-moved-errors-from-getqueryresultscounts-incrqueryresultscounts-in-cluster-mode
635:  * [new branch]            4735orch                    -> origin/4735orch
...

662:  * [new branch]            7765-frontend               -> origin/7765-frontend
663:  * [new branch]            7766-backend-final-main-merge -> origin/7766-backend-final-main-merge
664:  * [new branch]            7766-backend-test           -> origin/7766-backend-test
665:  * [new branch]            7766-frontend               -> origin/7766-frontend
666:  * [new branch]            7993-figure-out-the-limits-of-our-current-search-approach -> origin/7993-figure-out-the-limits-of-our-current-search-approach
667:  * [new branch]            8021-orbit-use-specified-identifier -> origin/8021-orbit-use-specified-identifier
668:  * [new branch]            8186-vulnerable-software-false-positive-docker -> origin/8186-vulnerable-software-false-positive-docker
669:  * [new branch]            8593-gitops                 -> origin/8593-gitops
670:  * [new branch]            8708-docs                   -> origin/8708-docs
671:  * [new branch]            8708-encryption-key-api     -> origin/8708-encryption-key-api
672:  * [new branch]            8708-ingest-file-vault      -> origin/8708-ingest-file-vault
673:  * [new branch]            8708-ingest-macos-encription-key -> origin/8708-ingest-macos-encription-key
674:  * [new branch]            8708-ingest-macos-encription-key-ii -> origin/8708-ingest-macos-encription-key-ii
675:  * [new branch]            8974-native-smbios-uuid-support -> origin/8974-native-smbios-uuid-support
676:  * [new branch]            9260-cis-checks-5.10.x      -> origin/9260-cis-checks-5.10.x
677:  * [new branch]            9394-failed-to-create-device-auth-token-due-to-duplicate-key-errors -> origin/9394-failed-to-create-device-auth-token-due-to-duplicate-key-errors
678:  * [new branch]            9590-schema                 -> origin/9590-schema
...

870:  * [new branch]            allenhouchins-add-hardware-procurement-info -> origin/allenhouchins-add-hardware-procurement-info
871:  * [new branch]            allenhouchins-contour-normalize -> origin/allenhouchins-contour-normalize
872:  * [new branch]            allenhouchins-fma-installer-arch -> origin/allenhouchins-fma-installer-arch
873:  * [new branch]            allenhouchins-net-arm64     -> origin/allenhouchins-net-arm64
874:  * [new branch]            allenhouchins-new-blog-post -> origin/allenhouchins-new-blog-post
875:  * [new branch]            allenhouchins-patch-1       -> origin/allenhouchins-patch-1
876:  * [new branch]            allenhouchins-santa-table-updates -> origin/allenhouchins-santa-table-updates
877:  * [new branch]            allenhouchins-update-custom-tap -> origin/allenhouchins-update-custom-tap
878:  * [new branch]            allenhouchins-update-ingester -> origin/allenhouchins-update-ingester
879:  * [new branch]            allenhouchins-update-new-fma-skill -> origin/allenhouchins-update-new-fma-skill
880:  * [new branch]            always-create-event-next-thu -> origin/always-create-event-next-thu
881:  * [new branch]            and_osq_proj                -> origin/and_osq_proj
882:  * [new branch]            andrey/loadtest-oval-vulns  -> origin/andrey/loadtest-oval-vulns
883:  * [new branch]            android-cofniguration-profiles-research -> origin/android-cofniguration-profiles-research
884:  * [new branch]            android-enroll-note         -> origin/android-enroll-note
885:  * [new branch]            android-enrollment-error    -> origin/android-enrollment-error
886:  * [new branch]            android-fleet-vars          -> origin/android-fleet-vars
...

939:  * [new branch]            await-configuration-docs    -> origin/await-configuration-docs
940:  * [new branch]            aws-licensing-integration-proposal -> origin/aws-licensing-integration-proposal
941:  * [new branch]            backport-a41fb63            -> origin/backport-a41fb63
942:  * [new branch]            backport-c02af              -> origin/backport-c02af
943:  * [new branch]            backport-e65d6cf            -> origin/backport-e65d6cf
944:  * [new branch]            backport-ef07a406cc8dbccb4914bbd27631df74e5b13b49 -> origin/backport-ef07a406cc8dbccb4914bbd27631df74e5b13b49
945:  * [new branch]            backport-vpp-fix            -> origin/backport-vpp-fix
946:  * [new branch]            base-software-titles-loadtest -> origin/base-software-titles-loadtest
947:  * [new branch]            base-software-titles-loadtest-2 -> origin/base-software-titles-loadtest-2
948:  * [new branch]            beekeeper-fma-initial       -> origin/beekeeper-fma-initial
949:  * [new branch]            bettapizza                  -> origin/bettapizza
950:  * [new branch]            bettapizza--ghost-testimonial-update -> origin/bettapizza--ghost-testimonial-update
951:  * [new branch]            bettapizza-patch-1          -> origin/bettapizza-patch-1
952:  * [new branch]            bettapizza-patch-2          -> origin/bettapizza-patch-2
953:  * [new branch]            bettapizza-patch-3          -> origin/bettapizza-patch-3
954:  * [new branch]            better-byod-error           -> origin/better-byod-error
955:  * [new branch]            bounded-context-proposals   -> origin/bounded-context-proposals
...

989:  * [new branch]            cherry-pick-42773-vitals-constants -> origin/cherry-pick-42773-vitals-constants
990:  * [new branch]            cherry-pick-48012-to-docs-v4.89.0 -> origin/cherry-pick-48012-to-docs-v4.89.0
991:  * [new branch]            cherry-pick-8750-into-rc-minor-fleet-v4.60.0 -> origin/cherry-pick-8750-into-rc-minor-fleet-v4.60.0
992:  * [new branch]            cherry-pick-dogfood-change  -> origin/cherry-pick-dogfood-change
993:  * [new branch]            cherry-pick-dogfood-env-vars -> origin/cherry-pick-dogfood-env-vars
994:  * [new branch]            cherry-pick-fleetctl-changes-to-allow-testing -> origin/cherry-pick-fleetctl-changes-to-allow-testing
995:  * [new branch]            cherry-pick-mac-address-vital -> origin/cherry-pick-mac-address-vital
996:  * [new branch]            cherry-pick-patches         -> origin/cherry-pick-patches
997:  * [new branch]            cherry-pick-remove-overrides-in-dev-mode -> origin/cherry-pick-remove-overrides-in-dev-mode
998:  * [new branch]            cherry-pick-util            -> origin/cherry-pick-util
999:  * [new branch]            cherry-pick-webhooks        -> origin/cherry-pick-webhooks
1000:  * [new branch]            cherrypick-v4.85.0-version-bump-into-main -> origin/cherrypick-v4.85.0-version-bump-into-main
1001:  * [new branch]            chore-UI-update-for-CSP     -> origin/chore-UI-update-for-CSP
1002:  * [new branch]            chore-add-specific-yarn-version -> origin/chore-add-specific-yarn-version
1003:  * [new branch]            chore-backend-api-patterns  -> origin/chore-backend-api-patterns
1004:  * [new branch]            chore-change-error-message-custom-profile -> origin/chore-change-error-message-custom-profile
1005:  * [new branch]            chore-cp-chage-status-code-turn-off-mdm -> origin/chore-cp-chage-status-code-turn-off-mdm
...

1195:  * [new branch]            edwardsb-vuln-processing-fix-sandcastle -> origin/edwardsb-vuln-processing-fix-sandcastle
1196:  * [new branch]            edwardsb-vuln-processing-volume-fix -> origin/edwardsb-vuln-processing-volume-fix
1197:  * [new branch]            edwardsb/deployment-guide-updates -> origin/edwardsb/deployment-guide-updates
1198:  * [new branch]            edwardsb/restrict_console_access -> origin/edwardsb/restrict_console_access
1199:  * [new branch]            elastic_rum                 -> origin/elastic_rum
1200:  * [new branch]            enable-jit-by-default       -> origin/enable-jit-by-default
1201:  * [new branch]            enable-test-go-automation-macos -> origin/enable-test-go-automation-macos
1202:  * [new branch]            enforce-firefox-doh         -> origin/enforce-firefox-doh
1203:  * [new branch]            enforce-firefox-windows     -> origin/enforce-firefox-windows
1204:  * [new branch]            enforce-ios-26.5-update-deadline-july-2026 -> origin/enforce-ios-26.5-update-deadline-july-2026
1205:  * [new branch]            enforce-iso27001-workstations -> origin/enforce-iso27001-workstations
1206:  * [new branch]            enforce-macos-15.5-update-deadline -> origin/enforce-macos-15.5-update-deadline
1207:  * [new branch]            enforce-macos-version-workstations -> origin/enforce-macos-version-workstations
1208:  * [new branch]            enroll-android-feature-guide -> origin/enroll-android-feature-guide
1209:  * [new branch]            ericswenson0-patch-1        -> origin/ericswenson0-patch-1
1210:  * [new branch]            error-counts                -> origin/error-counts
1211:  * [new branch]            errors-perf-testing         -> origin/errors-perf-testing
1212:  * [new branch]            es-reports                  -> origin/es-reports
...

1228:  * [new branch]            eugkuo-patch-6-slugs-FMA    -> origin/eugkuo-patch-6-slugs-FMA
1229:  * [new branch]            example-fleetctl-profiles   -> origin/example-fleetctl-profiles
1230:  * [new branch]            exp-mdbook-docs             -> origin/exp-mdbook-docs
1231:  * [new branch]            experiment-disable-some-deletes -> origin/experiment-disable-some-deletes
1232:  * [new branch]            experiment-hardcode-counters-to-zero -> origin/experiment-hardcode-counters-to-zero
1233:  * [new branch]            experiment-no-txs           -> origin/experiment-no-txs
1234:  * [new branch]            experiment-status-tooltip   -> origin/experiment-status-tooltip
1235:  * [new branch]            experiment-with-two-branches -> origin/experiment-with-two-branches
1236:  * [new branch]            experimental_moveitem       -> origin/experimental_moveitem
1237:  * [new branch]            experimient-no-counts       -> origin/experimient-no-counts
1238:  * [new branch]            expiredcertstool            -> origin/expiredcertstool
1239:  * [new branch]            express-vpn-win             -> origin/express-vpn-win
1240:  * [new branch]            extra-dep-logs              -> origin/extra-dep-logs
1241:  * [new branch]            f84ee4c5f4                  -> origin/f84ee4c5f4
1242:  * [new branch]            faf-doc-clarification       -> origin/faf-doc-clarification
1243:  * [new branch]            failing-test                -> origin/failing-test
1244:  * [new branch]            faq-updates-2026-06         -> origin/faq-updates-2026-06
...

1284:  * [new branch]            feature-hydrant-ca          -> origin/feature-hydrant-ca
1285:  * [new branch]            feature-idp-byod            -> origin/feature-idp-byod
1286:  * [new branch]            feature-orbit-find          -> origin/feature-orbit-find
1287:  * [new branch]            feature-prioritization      -> origin/feature-prioritization
1288:  * [new branch]            feature-v4.44.1-live-queries -> origin/feature-v4.44.1-live-queries
1289:  * [new branch]            feature-windows-mdm-policy-extraction -> origin/feature-windows-mdm-policy-extraction
1290:  * [new branch]            feature/add-blank-to-osquer-link -> origin/feature/add-blank-to-osquer-link
1291:  * [new branch]            feature/fleet-macos-password-sync -> origin/feature/fleet-macos-password-sync
1292:  * [new branch]            feature_14722-activity-feed-webhooks -> origin/feature_14722-activity-feed-webhooks
1293:  * [new branch]            feature_18115-crit-vuln-issues -> origin/feature_18115-crit-vuln-issues
1294:  * [new branch]            feature_19010-ipad-ios-lock-wipe-backend-changes -> origin/feature_19010-ipad-ios-lock-wipe-backend-changes
1295:  * [new branch]            feature_22078               -> origin/feature_22078
1296:  * [new branch]            fix                         -> origin/fix
1297:  * [new branch]            fix-35118-cis-win10-v4      -> origin/fix-35118-cis-win10-v4
1298:  * [new branch]            fix-4.84.4-k8s              -> origin/fix-4.84.4-k8s
1299:  * [new branch]            fix-40083-failed-install-retries -> origin/fix-40083-failed-install-retries
1300:  * [new branch]            fix-41290-vpp-added-status  -> origin/fix-41290-vpp-added-status
1301:  * [new branch]            fix-41337-save-env-secrets-dry-run -> origin/fix-41337-save-env-secrets-dry-run
1302:  * [new branch]            fix-43623-fma-patch-policy-gitops -> origin/fix-43623-fma-patch-policy-gitops
1303:  * [new branch]            fix-44199-embedded-app-bundles -> origin/fix-44199-embedded-app-bundles
1304:  * [new branch]            fix-44325-gitops-mode-tooltips -> origin/fix-44325-gitops-mode-tooltips
1305:  * [new branch]            fix-android-unenroll-activities -> origin/fix-android-unenroll-activities
1306:  * [new branch]            fix-blockquotes-google-groups -> origin/fix-blockquotes-google-groups
1307:  * [new branch]            fix-ca-verdict-spoof-16386  -> origin/fix-ca-verdict-spoof-16386
1308:  * [new branch]            fix-case-in-deploy-config-docs -> origin/fix-case-in-deploy-config-docs
1309:  * [new branch]            fix-cert-details-modal      -> origin/fix-cert-details-modal
1310:  * [new branch]            fix-checkerboard-scroll-to-right -> origin/fix-checkerboard-scroll-to-right
1311:  * [new branch]            fix-checkerboard-tooltip-nowrap -> origin/fix-checkerboard-tooltip-nowrap
1312:  * [new branch]            fix-cloudflare-warp-fma-output-json -> origin/fix-cloudflare-warp-fma-output-json
1313:  * [new branch]            fix-codeql-ci-error         -> origin/fix-codeql-ci-error
1314:  * [new branch]            fix-colima                  -> origin/fix-colima
1315:  * [new branch]            fix-color-for-mobile-sticky-nav -> origin/fix-color-for-mobile-sticky-nav
1316:  * [new branch]            fix-conditional-access-observer-authz -> origin/fix-conditional-access-observer-authz
1317:  * [new branch]            fix-conflict-in-feature_19010-ipad-ios-lock-wipe -> origin/fix-conflict-in-feature_19010-ipad-ios-lock-wipe
1318:  * [new branch]            fix-contrib-docs            -> origin/fix-contrib-docs
1319:  * [new branch]            fix-cve-2026-2792-firefox-esr -> origin/fix-cve-2026-2792-firefox-esr
1320:  * [new branch]            fix-cve-validate-enrichment-canary -> origin/fix-cve-validate-enrichment-canary
1321:  * [new branch]            fix-docker-cleanup-quay-nonfatal -> origin/fix-docker-cleanup-quay-nonfatal
1322:  * [new branch]            fix-docker-publish          -> origin/fix-docker-publish
1323:  * [new branch]            fix-dogfood-workstation     -> origin/fix-dogfood-workstation
1324:  * [new branch]            fix-embedded-bundle-titles-44199 -> origin/fix-embedded-bundle-titles-44199
1325:  * [new branch]            fix-firefox-cve-2026-2792   -> origin/fix-firefox-cve-2026-2792
1326:  * [new branch]            fix-firefox-fma-conflict-error-msg -> origin/fix-firefox-fma-conflict-error-msg
1327:  * [new branch]            fix-flakey-orbit-test       -> origin/fix-flakey-orbit-test
...

1333:  * [new branch]            fix-host-counts-vpp-software -> origin/fix-host-counts-vpp-software
1334:  * [new branch]            fix-instability-ubuntu-latest -> origin/fix-instability-ubuntu-latest
1335:  * [new branch]            fix-ios-ipados-enrollment-label-42721 -> origin/fix-ios-ipados-enrollment-label-42721
1336:  * [new branch]            fix-list-sw-permissions     -> origin/fix-list-sw-permissions
1337:  * [new branch]            fix-mdm-enrolled-webhook    -> origin/fix-mdm-enrolled-webhook
1338:  * [new branch]            fix-mdm-redirect            -> origin/fix-mdm-redirect
1339:  * [new branch]            fix-mdm-url-truncation      -> origin/fix-mdm-url-truncation
1340:  * [new branch]            fix-missing-test-schema-update -> origin/fix-missing-test-schema-update
1341:  * [new branch]            fix-modernize               -> origin/fix-modernize
1342:  * [new branch]            fix-no-space-left-on-device-failure -> origin/fix-no-space-left-on-device-failure
1343:  * [new branch]            fix-notarization            -> origin/fix-notarization
1344:  * [new branch]            fix-orbit-notarization      -> origin/fix-orbit-notarization
1345:  * [new branch]            fix-os-settings-name-col-truncation -> origin/fix-os-settings-name-col-truncation
1346:  * [new branch]            fix-os-settings-underline-descender-clip -> origin/fix-os-settings-underline-descender-clip
1347:  * [new branch]            fix-pricing-more-info-icon-documentationurl -> origin/fix-pricing-more-info-icon-documentationurl
1348:  * [new branch]            fix-receive-from-github-error -> origin/fix-receive-from-github-error
1349:  * [new branch]            fix-sandbox-local           -> origin/fix-sandbox-local
...

1363:  * [new branch]            fix-ui-typo-fleet-maintained-empty -> origin/fix-ui-typo-fleet-maintained-empty
1364:  * [new branch]            fix-vpp-edit-fleet-desktop-message -> origin/fix-vpp-edit-fleet-desktop-message
1365:  * [new branch]            fix-whatsapp-version-check  -> origin/fix-whatsapp-version-check
1366:  * [new branch]            fix-win-os-version          -> origin/fix-win-os-version
1367:  * [new branch]            fix_14825                   -> origin/fix_14825
1368:  * [new branch]            fixes-on-minor-fleet-v4.54.0 -> origin/fixes-on-minor-fleet-v4.54.0
1369:  * [new branch]            fixes-plus-4.35.1           -> origin/fixes-plus-4.35.1
1370:  * [new branch]            flaky-tests-nov-6           -> origin/flaky-tests-nov-6
1371:  * [new branch]            fleet-desktop-linux-browser -> origin/fleet-desktop-linux-browser
1372:  * [new branch]            fleet-desktop-version       -> origin/fleet-desktop-version
1373:  * [new branch]            fleet-mdm-server-url        -> origin/fleet-mdm-server-url
1374:  * [new branch]            fleet-multiple-abm-vpp-proposal -> origin/fleet-multiple-abm-vpp-proposal
1375:  * [new branch]            fleet-premium-users-usage-statistics -> origin/fleet-premium-users-usage-statistics
1376:  * [new branch]            fleet-release-infra         -> origin/fleet-release-infra
1377:  * [new branch]            fleet-server-config-1817    -> origin/fleet-server-config-1817
1378:  * [new branch]            fleet-server-log-request-errors -> origin/fleet-server-log-request-errors
1379:  * [new branch]            fleet-ship-rebuild          -> origin/fleet-ship-rebuild
...

2384:  * [new branch]            hotfix-failing-tests        -> origin/hotfix-failing-tests
2385:  * [new branch]            hotfix-query-update         -> origin/hotfix-query-update
2386:  * [new branch]            hotfix-revert-sofa-tables   -> origin/hotfix-revert-sofa-tables
2387:  * [new branch]            hotfix-v4.67.2-migration    -> origin/hotfix-v4.67.2-migration
2388:  * [new branch]            hotfix-v4.76.1              -> origin/hotfix-v4.76.1
2389:  * [new branch]            hover-gravatar              -> origin/hover-gravatar
2390:  * [new branch]            hughestaylor-patch-1        -> origin/hughestaylor-patch-1
2391:  * [new branch]            hughestaylor-patch-1-1      -> origin/hughestaylor-patch-1-1
2392:  * [new branch]            ignore-fleetctl-vulnerabilities -> origin/ignore-fleetctl-vulnerabilities
2393:  * [new branch]            improve-flakey-test         -> origin/improve-flakey-test
2394:  * [new branch]            improve-prometheus-metrics  -> origin/improve-prometheus-metrics
2395:  * [new branch]            improve-settings-subnav     -> origin/improve-settings-subnav
2396:  * [new branch]            include-mnt-in-gads-metric  -> origin/include-mnt-in-gads-metric
2397:  * [new branch]            increase-goreleaser-timeout-to-60m -> origin/increase-goreleaser-timeout-to-60m
2398:  * [new branch]            ingress-gateway-support     -> origin/ingress-gateway-support
2399:  * [new branch]            insert-software-installers-retry-error -> origin/insert-software-installers-retry-error
2400:  * [new branch]            install-all-recently-installed -> origin/install-all-recently-installed
...

2405:  * [new branch]            ireedy-patch-2              -> origin/ireedy-patch-2
2406:  * [new branch]            ireedy-patch-3              -> origin/ireedy-patch-3
2407:  * [new branch]            irena-deebradelo            -> origin/irena-deebradelo
2408:  * [new branch]            irena-handbook-edit         -> origin/irena-handbook-edit
2409:  * [new branch]            irena-test-with-john        -> origin/irena-test-with-john
2410:  * [new branch]            irenareedy-event-process    -> origin/irenareedy-event-process
2411:  * [new branch]            irenareedy-patch-1          -> origin/irenareedy-patch-1
2412:  * [new branch]            irenareedy-patch-2          -> origin/irenareedy-patch-2
2413:  * [new branch]            irenareedy-patch-4          -> origin/irenareedy-patch-4
2414:  * [new branch]            irenareedy-thumbtack-case-study -> origin/irenareedy-thumbtack-case-study
2415:  * [new branch]            iso-27001-compliance        -> origin/iso-27001-compliance
2416:  * [new branch]            iso42001-ai-discovery-inventory -> origin/iso42001-ai-discovery-inventory
2417:  * [new branch]            issue-11545-my-device-dep-modal -> origin/issue-11545-my-device-dep-modal
2418:  * [new branch]            issue-2716-specify-query-platforms -> origin/issue-2716-specify-query-platforms
2419:  * [new branch]            issue-3271-rate-limit-distributed-writes -> origin/issue-3271-rate-limit-distributed-writes
2420:  * [new branch]            issue-4361-mail-change-should-error -> origin/issue-4361-mail-change-should-error
2421:  * [new branch]            issue-conf-1968-delete-uninstalled-software-from-main -> origin/issue-conf-1968-delete-uninstalled-software-from-main
...

2630:  * [new branch]            melpike-api-default-fleet-windows-41787 -> origin/melpike-api-default-fleet-windows-41787
2631:  * [new branch]            melpike-api-device-url-43895 -> origin/melpike-api-device-url-43895
2632:  * [new branch]            melpike-api-minimum-version-39085 -> origin/melpike-api-minimum-version-39085
2633:  * [new branch]            melpike-api-py-script-41470 -> origin/melpike-api-py-script-41470
2634:  * [new branch]            melpike-api-windows-managed-account-43488 -> origin/melpike-api-windows-managed-account-43488
2635:  * [new branch]            melpike-audit-log-account-provisioning-45524 -> origin/melpike-audit-log-account-provisioning-45524
2636:  * [new branch]            melpike-audit-log-mdm-cmd-45021 -> origin/melpike-audit-log-mdm-cmd-45021
2637:  * [new branch]            melpike-audit-recovery-lock-password-rotate -> origin/melpike-audit-recovery-lock-password-rotate
2638:  * [new branch]            melpike-byod-wipe-lock-23242 -> origin/melpike-byod-wipe-lock-23242
2639:  * [new branch]            melpike-byod-wipe-lock-23242-1 -> origin/melpike-byod-wipe-lock-23242-1
2640:  * [new branch]            melpike-byod-wipe-lock-api-23242 -> origin/melpike-byod-wipe-lock-api-23242
2641:  * [new branch]            melpike-byod-wipe-lock-yaml-23242 -> origin/melpike-byod-wipe-lock-yaml-23242
2642:  * [new branch]            melpike-combine-guides-30674 -> origin/melpike-combine-guides-30674
2643:  * [new branch]            melpike-create-managed-local-account-guide-37141 -> origin/melpike-create-managed-local-account-guide-37141
2644:  * [new branch]            melpike-default-fleet-windows-41787 -> origin/melpike-default-fleet-windows-41787
2645:  * [new branch]            melpike-dep-error-messaging-43916 -> origin/melpike-dep-error-messaging-43916
2646:  * [new branch]            melpike-doc-deploy-sw-41470 -> origin/melpike-doc-deploy-sw-41470
...

2793:  * [new branch]            mna-doc-change-api-structure -> origin/mna-doc-change-api-structure
2794:  * [new branch]            mna-experiment-macos-profiles-uuid -> origin/mna-experiment-macos-profiles-uuid
2795:  * [new branch]            mna-fix-22558-windows-installer-stuck-pending -> origin/mna-fix-22558-windows-installer-stuck-pending
2796:  * [new branch]            mna-fix-duplicate-lock-unlock-activity -> origin/mna-fix-duplicate-lock-unlock-activity
2797:  * [new branch]            mna-fix-failing-tests       -> origin/mna-fix-failing-tests
2798:  * [new branch]            mna-fix-flaky-integration-test -> origin/mna-fix-flaky-integration-test
2799:  * [new branch]            mna-fix-oom-fleetctl-test   -> origin/mna-fix-oom-fleetctl-test
2800:  * [new branch]            mna-loadtest-enroll-host-limit -> origin/mna-loadtest-enroll-host-limit
2801:  * [new branch]            mna-orbit-node-key          -> origin/mna-orbit-node-key
2802:  * [new branch]            mna-revert-change-to-autogenerated-activities-doc -> origin/mna-revert-change-to-autogenerated-activities-doc
2803:  * [new branch]            mna-temp-osquery-perf-loadtest -> origin/mna-temp-osquery-perf-loadtest
2804:  * [new branch]            mna11997                    -> origin/mna11997
2805:  * [new branch]            mock-associate-assets-endpoint -> origin/mock-associate-assets-endpoint
2806:  * [new branch]            monitoring-test             -> origin/monitoring-test
2807:  * [new branch]            more-conditional-access-api-updates -> origin/more-conditional-access-api-updates
2808:  * [new branch]            more-fd-errors              -> origin/more-fd-errors
2809:  * [new branch]            move-conditional-access-script-to-testing-qa -> origin/move-conditional-access-script-to-testing-qa
...

3374:  * [new branch]            sgress454/34259-end-user-auth-setup-backend -> origin/sgress454/34259-end-user-auth-setup-backend
3375:  * [new branch]            sgress454/34528-end-user-auth-setup-agent -> origin/sgress454/34528-end-user-auth-setup-agent
3376:  * [new branch]            sgress454/35376             -> origin/sgress454/35376
3377:  * [new branch]            sgress454/35452             -> origin/sgress454/35452
3378:  * [new branch]            sgress454/37127-open-macos-end-user-auth-window -> origin/sgress454/37127-open-macos-end-user-auth-window
3379:  * [new branch]            sgress454/38063-skeleton-server -> origin/sgress454/38063-skeleton-server
3380:  * [new branch]            sgress454/39344-rename-teams-to-fleet-all-changes -> origin/sgress454/39344-rename-teams-to-fleet-all-changes
3381:  * [new branch]            sgress454/39344-rename-teams-to-fleet-api-changes -> origin/sgress454/39344-rename-teams-to-fleet-api-changes
3382:  * [new branch]            sgress454/40642-update-jit-saml-prefix -> origin/sgress454/40642-update-jit-saml-prefix
3383:  * [new branch]            sgress454/43482-re-pin      -> origin/sgress454/43482-re-pin
3384:  * [new branch]            sgress454/44077-disable-datasets-backend -> origin/sgress454/44077-disable-datasets-backend
3385:  * [new branch]            sgress454/44077-disable-datasets-docs -> origin/sgress454/44077-disable-datasets-docs
3386:  * [new branch]            sgress454/44077-disable-datasets-frontend -> origin/sgress454/44077-disable-datasets-frontend
3387:  * [new branch]            sgress454/45290-drop-mobile-from-charting -> origin/sgress454/45290-drop-mobile-from-charting
3388:  * [new branch]            sgress454/add-vex-for-cve-2026-23517 -> origin/sgress454/add-vex-for-cve-2026-23517
3389:  * [new branch]            sgress454/adr-for-error-codes -> origin/sgress454/adr-for-error-codes
3390:  * [new branch]            sgress454/adr-refactor-list-hosts -> origin/sgress454/adr-refactor-list-hosts
...

3442:  * [new branch]            software-titles-loadtest-2  -> origin/software-titles-loadtest-2
3443:  * [new branch]            solarized-theme             -> origin/solarized-theme
3444:  * [new branch]            solutions-folder            -> origin/solutions-folder
3445:  * [new branch]            sort-seen-hosts-before-inserting -> origin/sort-seen-hosts-before-inserting
3446:  * [new branch]            spalmesano0-patch-2         -> origin/spalmesano0-patch-2
3447:  * [new branch]            spike-fleet-lint-plugin     -> origin/spike-fleet-lint-plugin
3448:  * [new branch]            spike-ui-permissions-pattern -> origin/spike-ui-permissions-pattern
3449:  * [new branch]            spokanemac-add-passcode-ddm-profile -> origin/spokanemac-add-passcode-ddm-profile
3450:  * [new branch]            spokanemac-dogfood-additional-apps -> origin/spokanemac-dogfood-additional-apps
3451:  * [new branch]            spokanemac-handbook-release-article -> origin/spokanemac-handbook-release-article
3452:  * [new branch]            spokanemac-macdevops-conference-post -> origin/spokanemac-macdevops-conference-post
3453:  * [new branch]            spokanemac-meetup-template  -> origin/spokanemac-meetup-template
3454:  * [new branch]            spokanemac-migrating-fleetdm-from-dogfood-to-terraform-on-aws -> origin/spokanemac-migrating-fleetdm-from-dogfood-to-terraform-on-aws
3455:  * [new branch]            spokanemac-release-article-issue-template -> origin/spokanemac-release-article-issue-template
3456:  * [new branch]            step4-improvements          -> origin/step4-improvements
3457:  * [new branch]            store-query-execution-and-ingestion-errors -> origin/store-query-execution-and-ingestion-errors
3458:  * [new branch]            support-breaking-osquery-downgrades -> origin/support-breaking-osquery-downgrades
...

3526:  * [new branch]            ui-self-service-sg-5-21     -> origin/ui-self-service-sg-5-21
3527:  * [new branch]            unauth-installers           -> origin/unauth-installers
3528:  * [new branch]            uniform-brex-spending-limit -> origin/uniform-brex-spending-limit
3529:  * [new branch]            untx-software               -> origin/untx-software
3530:  * [new branch]            upcoming-activities-mdm-commands -> origin/upcoming-activities-mdm-commands
3531:  * [new branch]            upcoming-commands           -> origin/upcoming-commands
3532:  * [new branch]            update-1password-and-safari-policy-versions-2601200025 -> origin/update-1password-and-safari-policy-versions-2601200025
3533:  * [new branch]            update-1password-and-safari-policy-versions-2601200610 -> origin/update-1password-and-safari-policy-versions-2601200610
3534:  * [new branch]            update-1password-and-safari-policy-versions-2602261818 -> origin/update-1password-and-safari-policy-versions-2602261818
3535:  * [new branch]            update-1password-and-safari-policy-versions-2603101819 -> origin/update-1password-and-safari-policy-versions-2603101819
3536:  * [new branch]            update-1password-and-safari-policy-versions-2604080037 -> origin/update-1password-and-safari-policy-versions-2604080037
3537:  * [new branch]            update-1password-and-safari-policy-versions-2604080637 -> origin/update-1password-and-safari-policy-versions-2604080637
3538:  * [new branch]            update-Cloudflare-WARP-FMA-with-UpgradeCode -> origin/update-Cloudflare-WARP-FMA-with-UpgradeCode
3539:  * [new branch]            update-article-format       -> origin/update-article-format
3540:  * [new branch]            update-bug-report-template  -> origin/update-bug-report-template
3541:  * [new branch]            update-build-script-error-message -> origin/update-build-script-error-message
3542:  * [new branch]            update-cancel-and-done-links -> origin/update-cancel-and-done-links
...

3622:  * [new branch]            update-solutions-folder     -> origin/update-solutions-folder
3623:  * [new branch]            update-testing-qa-apps-2511191525 -> origin/update-testing-qa-apps-2511191525
3624:  * [new branch]            update-tuf-keys             -> origin/update-tuf-keys
3625:  * [new branch]            update-tuf-md               -> origin/update-tuf-md
3626:  * [new branch]            update-usage-statistics-mobile-devices -> origin/update-usage-statistics-mobile-devices
3627:  * [new branch]            update-user-password-length-validation-test -> origin/update-user-password-length-validation-test
3628:  * [new branch]            update-vex-statements       -> origin/update-vex-statements
3629:  * [new branch]            update-why-this-way         -> origin/update-why-this-way
3630:  * [new branch]            upgrade-eslint              -> origin/upgrade-eslint
3631:  * [new branch]            upgrade-go                  -> origin/upgrade-go
3632:  * [new branch]            upgrade-typescript          -> origin/upgrade-typescript
3633:  * [new branch]            upload-msiexec-install-log  -> origin/upload-msiexec-install-log
3634:  * [new branch]            usage-stats-mobile-devices-count -> origin/usage-stats-mobile-devices-count
3635:  * [new branch]            use-dockerhub-creds         -> origin/use-dockerhub-creds
3636:  * [new branch]            use-software-name-helper    -> origin/use-software-name-helper
3637:  * [new branch]            user-channel-error          -> origin/user-channel-error
3638:  * [new branch]            users-table-experiment      -> origin/users-table-experiment
...

3667:  * [new branch]            victor/36202-bootstrap-enroll -> origin/victor/36202-bootstrap-enroll
3668:  * [new branch]            victor/36452-activity-bounded-context -> origin/victor/36452-activity-bounded-context
3669:  * [new branch]            victor/36453-activity-scaffold -> origin/victor/36453-activity-scaffold
3670:  * [new branch]            victor/36793-logging        -> origin/victor/36793-logging
3671:  * [new branch]            victor/37241-archtest       -> origin/victor/37241-archtest
3672:  * [new branch]            victor/37806-fleet-activities -> origin/victor/37806-fleet-activities
3673:  * [new branch]            victor/38607-otel-logs      -> origin/victor/38607-otel-logs
3674:  * [new branch]            victor/38889-slog-mysql     -> origin/victor/38889-slog-mysql
3675:  * [new branch]            victor/39370-emacs-false-positive -> origin/victor/39370-emacs-false-positive
3676:  * [new branch]            victor/41374-backout        -> origin/victor/41374-backout
3677:  * [new branch]            victor/42318-bitlocker-pin  -> origin/victor/42318-bitlocker-pin
3678:  * [new branch]            victor/42843-esp-tracking-reference -> origin/victor/42843-esp-tracking-reference
3679:  * [new branch]            victor/44599-unknown-nodekey-prob -> origin/victor/44599-unknown-nodekey-prob
3680:  * [new branch]            victor/44802-mysql-conns-tunable -> origin/victor/44802-mysql-conns-tunable
3681:  * [new branch]            victor/45491-repro          -> origin/victor/45491-repro
3682:  * [new branch]            victor/46387-windows-mdm-enrollment-auth-error -> origin/victor/46387-windows-mdm-enrollment-auth-error
3683:  * [new branch]            victor/46387-windows-mdm-federated-discovery -> origin/victor/46387-windows-mdm-federated-discovery
...

3790:  * [new branch]            wesite-fix-sales-rituals    -> origin/wesite-fix-sales-rituals
3791:  * [new branch]            willmayhone88-patch-1       -> origin/willmayhone88-patch-1
3792:  * [new branch]            win-fma-deepl               -> origin/win-fma-deepl
3793:  * [new branch]            win-fma-evernote            -> origin/win-fma-evernote
3794:  * [new branch]            win-fma-goland              -> origin/win-fma-goland
3795:  * [new branch]            win-fma-testing             -> origin/win-fma-testing
3796:  * [new branch]            win-fma-vnc-apps            -> origin/win-fma-vnc-apps
3797:  * [new branch]            win-mdm-loadtest            -> origin/win-mdm-loadtest
3798:  * [new branch]            windows-baseline            -> origin/windows-baseline
3799:  * [new branch]            windows-end-user-experience-labels -> origin/windows-end-user-experience-labels
3800:  * [new branch]            windows-firefox-doh-script  -> origin/windows-firefox-doh-script
3801:  * [new branch]            windows-mdm-autopilot       -> origin/windows-mdm-autopilot
3802:  * [new branch]            windows-mdm-c-poc           -> origin/windows-mdm-c-poc
3803:  * [new branch]            windows-mdm-docs-auto-enroll -> origin/windows-mdm-docs-auto-enroll
3804:  * [new branch]            windows-mdm-load-test       -> origin/windows-mdm-load-test
3805:  * [new branch]            windows_enable_and_configure-error-message -> origin/windows_enable_and_configure-error-message
3806:  * [new branch]            workstations-to-use-edge-channels -> origin/workstations-to-use-edge-channels
...

3818:  * [new branch]            zayhanlon-patch-1           -> origin/zayhanlon-patch-1
3819:  * [new branch]            zenity-execuser             -> origin/zenity-execuser
3820:  * [new branch]            zhumo-patch-1               -> origin/zhumo-patch-1
3821:  * [new branch]            zhumo-patch-2               -> origin/zhumo-patch-2
3822:  * [new branch]            zhumo-patch-3               -> origin/zhumo-patch-3
3823:  * [new branch]            zhumo-patch-4               -> origin/zhumo-patch-4
3824:  * [new branch]            zhumo-patch-5               -> origin/zhumo-patch-5
3825:  * [new branch]            zhumo-patch-6               -> origin/zhumo-patch-6
3826:  * [new branch]            zhumo-patch-7               -> origin/zhumo-patch-7
3827:  * [new branch]            zwass-actions-reminders     -> origin/zwass-actions-reminders
3828:  * [new branch]            zwass-improve-macos-cpe     -> origin/zwass-improve-macos-cpe
3829:  * [new branch]            zwass-patch-1               -> origin/zwass-patch-1
3830:  * [new branch]            zwass-patch-2               -> origin/zwass-patch-2
3831:  * [new branch]            zwinnerman-fixup            -> origin/zwinnerman-fixup
3832:  * [new branch]            zwinnerman-livequery-tracing -> origin/zwinnerman-livequery-tracing
3833:  * [new branch]            zwinnerman-redis-error-handling -> origin/zwinnerman-redis-error-handling
3834:  * [new branch]            zwinnerman-test             -> origin/zwinnerman-test
...

4550:  check-latest: false
4551:  token: ***
4552:  cache: true
4553:  env:
4554:  GH_TOKEN: ***
4555:  LOG_LEVEL: info
4556:  ##[endgroup]
4557:  Setup go version spec 1.26.4
4558:  Found in cache @ /Users/runner/hostedtoolcache/go/1.26.4/arm64
4559:  Added go to the path
4560:  Successfully set up Go version 1.26.4
4561:  [command]/Users/runner/hostedtoolcache/go/1.26.4/arm64/bin/go env GOMODCACHE
4562:  [command]/Users/runner/hostedtoolcache/go/1.26.4/arm64/bin/go env GOCACHE
4563:  /Users/runner/go/pkg/mod
4564:  /Users/runner/Library/Caches/go-build
4565:  ##[warning]Restore cache failed: Dependencies file is not found in /Users/runner/work/fleet/fleet. Supported file pattern: go.mod
4566:  go version go1.26.4 darwin/arm64
...

4669:  - microsoft-excel/darwin
4670:  - microsoft-onenote/darwin
4671:  - microsoft-powerpoint/darwin
4672:  - microsoft-word/darwin
4673:  - netnewswire/darwin
4674:  - notesnook/darwin
4675:  - ollama/darwin
4676:  - opencode-desktop/darwin
4677:  - qlmarkdown/darwin
4678:  - reqable/darwin
4679:  - shapr3d/darwin
4680:  - soulver/darwin
4681:  - tortoisegit/windows
4682:  - virtualbox/darwin
4683:  - wins/darwin
4684:  ##[group]Run # Default to no changes if detection step failed or didn't set output
4685:  �[36;1m# Default to no changes if detection step failed or didn't set output�[0m
4686:  �[36;1mHAS_CHANGES="true"�[0m
...

4898:  go: downloading go.opentelemetry.io/otel v1.43.0
4899:  go: downloading go.opentelemetry.io/otel/metric v1.43.0
4900:  go: downloading go.opentelemetry.io/otel/trace v1.43.0
4901:  go: downloading github.com/mattn/go-colorable v0.1.13
4902:  go: downloading github.com/edsrzf/mmap-go v1.1.0
4903:  go: downloading github.com/secDre4mer/pkcs7 v0.0.0-20240322103146-665324a4461d
4904:  go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0
4905:  go: downloading golang.org/x/oauth2 v0.35.0
4906:  go: downloading github.com/aws/aws-sdk-go-v2/config v1.32.12
4907:  go: downloading github.com/aws/aws-sdk-go-v2 v1.41.5
4908:  go: downloading github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.8
4909:  go: downloading github.com/spf13/cobra v1.9.1
4910:  go: downloading github.com/spf13/viper v1.20.1
4911:  go: downloading github.com/go-kit/kit v0.12.0
4912:  go: downloading github.com/smallstep/pkcs7 v0.0.0-20240723090913-5e2c6a136dfa
4913:  go: downloading github.com/hashicorp/go-multierror v1.1.1
4914:  go: downloading github.com/micromdm/plist v0.2.3-0.20260123201933-667adaf87d87
4915:  go: downloading github.com/MicahParks/jwkset v0.11.0
4916:  go: downloading github.com/golang-jwt/jwt/v4 v4.5.2
4917:  go: downloading github.com/WatchBeam/clock v0.0.0-20170901150240-b08e6b4da7ea
4918:  go: downloading github.com/mattn/go-isatty v0.0.20
4919:  go: downloading go.opentelemetry.io/otel/sdk v1.43.0
4920:  go: downloading github.com/andygrunwald/go-jira v1.16.0
4921:  go: downloading github.com/cenkalti/backoff/v4 v4.3.0
4922:  go: downloading github.com/cenkalti/backoff v2.2.1+incompatible
4923:  go: downloading github.com/nukosuke/go-zendesk v0.13.1
4924:  go: downloading github.com/igm/sockjs-go/v3 v3.0.2
4925:  go: downloading gopkg.in/yaml.v2 v2.4.0
4926:  go: downloading github.com/oschwald/maxminddb-golang v1.10.0
4927:  go: downloading golang.org/x/sys v0.45.0
4928:  go: downloading github.com/elastic/go-sysinfo v1.11.2
4929:  go: downloading github.com/pkg/errors v0.9.1
4930:  go: downloading go.elastic.co/fastjson v1.1.0
...

4986:  go: downloading github.com/groob/finalizer v0.0.0-20170707115354-4c2ed49aabda
4987:  go: downloading cloud.google.com/go/iam v1.5.3
4988:  go: downloading go.opencensus.io v0.24.0
4989:  go: downloading golang.org/x/sync v0.21.0
4990:  go: downloading google.golang.org/grpc v1.79.3
4991:  go: downloading google.golang.org/protobuf v1.36.11
4992:  go: downloading github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8
4993:  go: downloading github.com/micromdm/nanolib v0.2.0
4994:  go: downloading github.com/nats-io/nkeys v0.4.15
4995:  go: downloading github.com/nats-io/nuid v1.0.1
4996:  go: downloading go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352
4997:  go: downloading cloud.google.com/go/auth v0.18.2
4998:  go: downloading cloud.google.com/go/auth/oauth2adapt v0.2.8
4999:  go: downloading cloud.google.com/go/compute/metadata v0.9.0
5000:  go: downloading github.com/google/s2a-go v0.1.9
5001:  go: downloading github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901
5002:  go: downloading cloud.google.com/go/pubsub/v2 v2.0.0
5003:  go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7
5004:  go: downloading google.golang.org/genproto v0.0.0-20260128011058-8636f8732409
5005:  go: downloading github.com/googleapis/enterprise-certificate-proxy v0.3.12
5006:  go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20260203192932-546029d2fa20
5007:  go: downloading go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0
5008:  time=level=INFO msg="GOOS environment variable is not set. Using system detected: 'darwin'"
5009:  time=level=INFO msg="INSTALLATION_SEARCH_DIRECTORY environment variable is not set. Using default: '/Applications'"
5010:  time=level=INFO msg="Validating app: 1Password (1password/darwin)"
5011:  time=level=INFO msg=Downloading...
5012:  time=level=INFO msg="Executing install script..." app=1Password
5013:  time=level=INFO msg="New application detected at: /Applications/1Password.app" app=1Password
5014:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/1Password.app'" app=1Password
5015:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/1Password.app'" app=1Password
5016:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=1Password
5017:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/1Password.app: No such xattr: com.apple.quarantine'" app=1Password
5018:  time=level=INFO msg="Spctl output error: <nil>" app=1Password
5019:  time=level=INFO msg="spctl status: spctl status: '/Applications/1Password.app: accepted\nsource=Notarized Developer ID'" app=1Password
5020:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=1Password
5021:  time=level=INFO msg="Looking for app: 1Password, version: 8.12.26" app=1Password
5022:  time=level=INFO msg="Found app: '1Password Helper (GPU)' at /Applications/1Password.app/Contents/Frameworks/1Password Helper (GPU).app, Version: , Bundled Version: 8.12.26" app=1Password
5023:  time=level=INFO msg="Executing uninstall script for app..." app=1Password
5024:  time=level=INFO msg="Looking for app: 1Password, version: 8.12.26" app=1Password
5025:  time=level=INFO msg="All checks passed for app: 1Password (1password/darwin)"
5026:  time=level=INFO msg="Validating app: Bitwarden (bitwarden/darwin)"
5027:  time=level=INFO msg=Downloading...
5028:  time=level=INFO msg="Executing install script..." app=Bitwarden
5029:  time=level=INFO msg="New application detected at: /Applications/Bitwarden.app" app=Bitwarden
5030:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Bitwarden.app'" app=Bitwarden
5031:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Bitwarden.app'" app=Bitwarden
5032:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=Bitwarden
5033:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Bitwarden.app: No such xattr: com.apple.quarantine'" app=Bitwarden
5034:  time=level=INFO msg="Spctl output error: <nil>" app=Bitwarden
5035:  time=level=INFO msg="spctl status: spctl status: '/Applications/Bitwarden.app: accepted\nsource=Notarized Developer ID'" app=Bitwarden
5036:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=Bitwarden
5037:  time=level=INFO msg="Looking for app: Bitwarden, version: 2026.6.1" app=Bitwarden
5038:  time=level=INFO msg="Found app: 'Bitwarden' at /Applications/Bitwarden.app, Version: 2026.6.1, Bundled Version: 64377" app=Bitwarden
5039:  time=level=INFO msg="Executing uninstall script for app..." app=Bitwarden
5040:  time=level=INFO msg="Looking for app: Bitwarden, version: 2026.6.1" app=Bitwarden
5041:  time=level=INFO msg="All checks passed for app: Bitwarden (bitwarden/darwin)"
5042:  time=level=INFO msg="Validating app: BrickLink Studio (bricklink-studio/darwin)"
5043:  time=level=INFO msg=Downloading...
5044:  time=level=INFO msg="Executing install script..." app="BrickLink Studio"
5045:  time=level=INFO msg="New application detected at: /Applications/Studio 2.0" app="BrickLink Studio"
5046:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Studio 2.0'" app="BrickLink Studio"
5047:  time=level=WARN msg="Error detected in post-installation steps: Error forcing LaunchServices refresh: forcing LaunchServices refresh: exit status 1. Attempting to continue" app="BrickLink Studio"
5048:  time=level=INFO msg="Looking for app: BrickLink Studio, version: 2.26.6_1" app="BrickLink Studio"
5049:  time=level=INFO msg="Found app: 'eyesight' at /Applications/Studio 2.0/PhotoRealisticRenderer/mac/eyesight.app, Version: , Bundled Version: " app="BrickLink Studio"
5050:  time=level=INFO msg="Found app: 'Studio' at /Applications/Studio 2.0/Studio.app, Version: 2.26.6_1, Bundled Version: 0" app="BrickLink Studio"
5051:  time=level=INFO msg="Executing uninstall script for app..." app="BrickLink Studio"
5052:  time=level=INFO msg="Looking for app: BrickLink Studio, version: 2.26.6_1" app="BrickLink Studio"
5053:  time=level=INFO msg="All checks passed for app: BrickLink Studio (bricklink-studio/darwin)"
5054:  time=level=INFO msg="Validating app: Cardhop (cardhop/darwin)"
5055:  time=level=INFO msg=Downloading...
5056:  time=level=INFO msg="Executing install script..." app=Cardhop
5057:  time=level=INFO msg="New application detected at: /Applications/Cardhop.app" app=Cardhop
5058:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Cardhop.app'" app=Cardhop
5059:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Cardhop.app'" app=Cardhop
5060:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=Cardhop
5061:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Cardhop.app: No such xattr: com.apple.quarantine'" app=Cardhop
5062:  time=level=INFO msg="Spctl output error: <nil>" app=Cardhop
5063:  time=level=INFO msg="spctl status: spctl status: '/Applications/Cardhop.app: accepted\nsource=Notarized Developer ID'" app=Cardhop
5064:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=Cardhop
5065:  time=level=INFO msg="Looking for app: Cardhop, version: 2.4.8" app=Cardhop
5066:  time=level=INFO msg="Found app: 'Cardhop' at /Applications/Cardhop.app, Version: 2.4.8, Bundled Version: 1413" app=Cardhop
5067:  time=level=INFO msg="Executing uninstall script for app..." app=Cardhop
5068:  time=level=INFO msg="Looking for app: Cardhop, version: 2.4.8" app=Cardhop
5069:  time=level=INFO msg="All checks passed for app: Cardhop (cardhop/darwin)"
5070:  time=level=INFO msg="Validating app: Claude (claude/darwin)"
5071:  time=level=INFO msg=Downloading...
5072:  time=level=INFO msg="Executing install script..." app=Claude
5073:  time=level=INFO msg="New application detected at: /Applications/Claude.app" app=Claude
5074:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Claude.app'" app=Claude
5075:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Claude.app'" app=Claude
5076:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=Claude
5077:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Claude.app: No such xattr: com.apple.quarantine'" app=Claude
5078:  time=level=INFO msg="Spctl output error: <nil>" app=Claude
5079:  time=level=INFO msg="spctl status: spctl status: '/Applications/Claude.app: accepted\nsource=Notarized Developer ID'" app=Claude
5080:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=Claude
5081:  time=level=INFO msg="Looking for app: Claude, version: 1.17377.0" app=Claude
5082:  time=level=INFO msg="Found app: 'Claude' at /Applications/Claude.app, Version: 1.17377.0, Bundled Version: 1.17377.0" app=Claude
5083:  time=level=INFO msg="Executing uninstall script for app..." app=Claude
5084:  time=level=INFO msg="Looking for app: Claude, version: 1.17377.0" app=Claude
5085:  time=level=INFO msg="All checks passed for app: Claude (claude/darwin)"
5086:  time=level=INFO msg="Validating app: Dockside (dockside/darwin)"
5087:  time=level=INFO msg=Downloading...
5088:  time=level=INFO msg="Executing install script..." app=Dockside
5089:  time=level=INFO msg="New application detected at: /Applications/Dockside.app" app=Dockside
5090:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Dockside.app'" app=Dockside
5091:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Dockside.app'" app=Dockside
5092:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=Dockside
5093:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Dockside.app: No such xattr: com.apple.quarantine'" app=Dockside
5094:  time=level=INFO msg="Spctl output error: <nil>" app=Dockside
5095:  time=level=INFO msg="spctl status: spctl status: '/Applications/Dockside.app: accepted\nsource=Notarized Developer ID'" app=Dockside
5096:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=Dockside
5097:  time=level=INFO msg="Looking for app: Dockside, version: 2.9.19" app=Dockside
5098:  time=level=INFO msg="Found app: 'Dockside' at /Applications/Dockside.app, Version: 2.9.19, Bundled Version: 2.9.19" app=Dockside
5099:  time=level=INFO msg="Executing uninstall script for app..." app=Dockside
5100:  time=level=INFO msg="Looking for app: Dockside, version: 2.9.19" app=Dockside
5101:  time=level=INFO msg="All checks passed for app: Dockside (dockside/darwin)"
5102:  time=level=INFO msg="Validating app: Elgato Stream Deck (elgato-stream-deck/darwin)"
5103:  time=level=INFO msg=Downloading...
5104:  time=level=INFO msg="Executing install script..." app="Elgato Stream Deck"
5105:  time=level=INFO msg="New application detected at: /Applications/Elgato Stream Deck.app" app="Elgato Stream Deck"
5106:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Elgato Stream Deck.app'" app="Elgato Stream Deck"
5107:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Elgato Stream Deck.app'" app="Elgato Stream Deck"
5108:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app="Elgato Stream Deck"
5109:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Elgato Stream Deck.app: No such xattr: com.apple.quarantine'" app="Elgato Stream Deck"
5110:  time=level=INFO msg="Spctl output error: <nil>" app="Elgato Stream Deck"
5111:  time=level=INFO msg="spctl status: spctl status: '/Applications/Elgato Stream Deck.app: accepted\nsource=Notarized Developer ID'" app="Elgato Stream Deck"
5112:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app="Elgato Stream Deck"
5113:  time=level=INFO msg="Looking for app: Elgato Stream Deck, version: 7.5.0" app="Elgato Stream Deck"
5114:  time=level=INFO msg="Found app: 'Stream Deck' at /Applications/Elgato Stream Deck.app, Version: 7.5.0, Bundled Version: 22885" app="Elgato Stream Deck"
5115:  time=level=INFO msg="Executing uninstall script for app..." app="Elgato Stream Deck"
5116:  time=level=INFO msg="Looking for app: Elgato Stream Deck, version: 7.5.0" app="Elgato Stream Deck"
5117:  time=level=INFO msg="All checks passed for app: Elgato Stream Deck (elgato-stream-deck/darwin)"
5118:  time=level=INFO msg="Validating app: Figma (figma/darwin)"
5119:  time=level=INFO msg=Downloading...
5120:  time=level=INFO msg="Executing install script..." app=Figma
5121:  time=level=INFO msg="New application detected at: /Applications/Figma.app" app=Figma
5122:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Figma.app'" app=Figma
5123:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Figma.app'" app=Figma
5124:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app=Figma
5125:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Figma.app: No such xattr: com.apple.quarantine'" app=Figma
5126:  time=level=INFO msg="Spctl output error: <nil>" app=Figma
5127:  time=level=INFO msg="spctl status: spctl status: '/Applications/Figma.app: accepted\nsource=Notarized Developer ID'" app=Figma
5128:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app=Figma
5129:  time=level=INFO msg="Looking for app: Figma, version: 126.6.12" app=Figma
5130:  time=level=INFO msg="Found app: 'Figma' at /Applications/Figma.app, Version: 126.6.12, Bundled Version: 126.6.12" app=Figma
5131:  time=level=INFO msg="Executing uninstall script for app..." app=Figma
5132:  time=level=INFO msg="Looking for app: Figma, version: 126.6.12" app=Figma
5133:  time=level=INFO msg="All checks passed for app: Figma (figma/darwin)"
5134:  time=level=INFO msg="Validating app: Mozilla Firefox (firefox/darwin)"
5135:  time=level=INFO msg=Downloading...
5136:  time=level=INFO msg="App is marked as pre-installed, attempting to run uninstall script..." app="Mozilla Firefox"
5137:  time=level=INFO msg="Executing uninstall script for app..." app="Mozilla Firefox"
5138:  time=level=INFO msg="Looking for app: Mozilla Firefox, version: 152.0.4" app="Mozilla Firefox"
5139:  time=level=INFO msg="Application removal detected at: /Applications/Firefox.app" app="Mozilla Firefox"
5140:  time=level=INFO msg="Executing install script..." app="Mozilla Firefox"
5141:  time=level=INFO msg="New application detected at: /Applications/Firefox.app" app="Mozilla Firefox"
5142:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/Firefox.app'" app="Mozilla Firefox"
5143:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/Firefox.app'" app="Mozilla Firefox"
5144:  time=level=INFO msg="Quarantine output error: checking quarantine status: exit status 1" app="Mozilla Firefox"
5145:  time=level=INFO msg="Quarantine status: Quarantine status: 'xattr: /Applications/Firefox.app: No such xattr: com.apple.quarantine'" app="Mozilla Firefox"
5146:  time=level=INFO msg="Spctl output error: <nil>" app="Mozilla Firefox"
5147:  time=level=INFO msg="spctl status: spctl status: '/Applications/Firefox.app: accepted\nsource=Notarized Developer ID'" app="Mozilla Firefox"
5148:  time=level=WARN msg="Error detected in post-installation steps: Error removing app quarantine: adding app to quarantine exceptions: exit status 4. Attempting to continue" app="Mozilla Firefox"
5149:  time=level=INFO msg="Looking for app: Mozilla Firefox, version: 152.0.4" app="Mozilla Firefox"
5150:  time=level=INFO msg="Found app: 'Firefox' at /Applications/Firefox.app, Version: 152.0.4, Bundled Version: 15226.6.29" app="Mozilla Firefox"
5151:  time=level=INFO msg="Executing uninstall script for app..." app="Mozilla Firefox"
5152:  time=level=INFO msg="Looking for app: Mozilla Firefox, version: 152.0.4" app="Mozilla Firefox"
5153:  time=level=INFO msg="All checks passed for app: Mozilla Firefox (firefox/darwin)"
5154:  time=level=INFO msg="Validating app: ForkLift (forklift/darwin)"
5155:  time=level=INFO msg=Downloading...
5156:  time=level=INFO msg="Executing install script..." app=ForkLift
5157:  time=level=INFO msg="New application detected at: /Applications/ForkLift.app" app=ForkLift
5158:  time=level=INFO msg="Forcing LaunchServices refresh for: '/Applications/ForkLift.app'" app=ForkLift
5159:  time=level=INFO msg="Attempting to remove quarantine for: '/Applications/ForkLift.app'" ...

@allenhouchins
allenhouchins merged commit 95631bf into main Jul 1, 2026
13 checks passed
@allenhouchins
allenhouchins deleted the fma-2607010025 branch July 1, 2026 01:21
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/1password/darwin.json

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

ee/maintained-apps/outputs/7-zip/windows.json

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

ee/maintained-apps/outputs/aws-cli/windows.json

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

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

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

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

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/elgato-stream-deck/darwin.json

=== Install // 1dd644a7 -> 214a13cd ===

--- /tmp/old.C7Iypy	2026-07-01 01:21:49.174687565 +0000
+++ /tmp/new.FhSfAC	2026-07-01 01:21:49.174687565 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.StreamDeck'
-sudo installer -pkg "$TMPDIR/Stream_Deck_7.4.2.22730.pkg" -target /
+sudo installer -pkg "$TMPDIR/Stream_Deck_7.5.0.22885.pkg" -target /
 relaunch_application 'com.elgato.StreamDeck'

=== Uninstall // 19b25325 -> dd528c8d ===

--- /tmp/old.XS53y0	2026-07-01 01:21:49.203687744 +0000
+++ /tmp/new.qDEKzT	2026-07-01 01:21:49.203687744 +0000
@@ -203,7 +203,7 @@
   fi
 }
 
-remove_launchctl_service 'com.elgato.StreamDeck'
+remove_launchctl_service 'com.elgato.StreamDeck*'
 quit_application 'com.elgato.StreamDeck'
 remove_pkg_files 'com.elgato.StreamDeck'
 forget_pkg 'com.elgato.StreamDeck'

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

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

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

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/google-chrome/windows.json

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

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

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

ee/maintained-apps/outputs/granola/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/keka/darwin.json

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/microsoft-excel/darwin.json

=== Install // f32e98af -> eb617288 ===

--- /tmp/old.NcY1O2	2026-07-01 01:21:49.801691424 +0000
+++ /tmp/new.YkAYm6	2026-07-01 01:21:49.801691424 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_Excel_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_Excel_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Excel'

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

ee/maintained-apps/outputs/microsoft-onenote/darwin.json

=== Install // 4e096c26 -> 75461837 ===

--- /tmp/old.cTHtaL	2026-07-01 01:21:49.852691738 +0000
+++ /tmp/new.ztsBpK	2026-07-01 01:21:49.852691738 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.microsoft.onenote.mac'
-sudo installer -pkg "$TMPDIR/Microsoft_OneNote_16.110.26062112_Updater.pkg" -target /
+sudo installer -pkg "$TMPDIR/Microsoft_OneNote_16.110.26062818_Updater.pkg" -target /
 relaunch_application 'com.microsoft.onenote.mac'

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

ee/maintained-apps/outputs/microsoft-powerpoint/darwin.json

=== Install // df9625c4 -> 4a7cc8ae ===

--- /tmp/old.QEP4hh	2026-07-01 01:21:49.903692052 +0000
+++ /tmp/new.bQp60t	2026-07-01 01:21:49.904692058 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_PowerPoint_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_PowerPoint_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Powerpoint'

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

ee/maintained-apps/outputs/microsoft-word/darwin.json

=== Install // 65c47445 -> 481e55cb ===

--- /tmp/old.42oRvE	2026-07-01 01:21:49.954692365 +0000
+++ /tmp/new.4j1enx	2026-07-01 01:21:49.955692372 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_Word_16.110.26062112_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_Word_16.110.26062818_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.Word'

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

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

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

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

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

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

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

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

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

ee/maintained-apps/outputs/qlmarkdown/darwin.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/shapr3d/darwin.json

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

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

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

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

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

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

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

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