Skip to content

Add macOS Fleet-maintained apps (U) - #47230

Merged
allenhouchins merged 2 commits into
mainfrom
new-mac-fmas-u
Jun 9, 2026
Merged

Add macOS Fleet-maintained apps (U)#47230
allenhouchins merged 2 commits into
mainfrom
new-mac-fmas-u

Conversation

@allenhouchins

@allenhouchins allenhouchins commented Jun 9, 2026

Copy link
Copy Markdown
Member

Adds 9 Fleet-maintained app(s) whose cask token starts with 'U': inputs, outputs, app icons (TSX + website PNG), and the matching index.ts and apps.json entries.

Summary by CodeRabbit

  • New Features
    • Added support for nine new productivity applications on macOS: UA Connect, Ukelele, UltiMaker Cura, Unclutter, UnicodeChecker, Unity Hub, UPDF, Upscayl, and Usage. Each application now includes installation, uninstallation, and update capabilities with dedicated UI icons.

Adds 9 Fleet-maintained app(s) whose cask token starts with 'U':
inputs, outputs, app icons (TSX + website PNG), and the matching
index.ts and apps.json entries. Split out from #47121.
fleet-release
fleet-release previously approved these changes Jun 9, 2026
@codecov

codecov Bot commented Jun 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.14%. Comparing base (4d284da) to head (36dd086).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
.../pages/SoftwarePage/components/icons/UaConnect.tsx 50.00% 1 Missing ⚠️
...nd/pages/SoftwarePage/components/icons/Ukelele.tsx 50.00% 1 Missing ⚠️
...es/SoftwarePage/components/icons/UltimakerCura.tsx 50.00% 1 Missing ⚠️
.../pages/SoftwarePage/components/icons/Unclutter.tsx 50.00% 1 Missing ⚠️
...s/SoftwarePage/components/icons/Unicodechecker.tsx 50.00% 1 Missing ⚠️
...d/pages/SoftwarePage/components/icons/UnityHub.tsx 50.00% 1 Missing ⚠️
...ntend/pages/SoftwarePage/components/icons/Updf.tsx 50.00% 1 Missing ⚠️
...nd/pages/SoftwarePage/components/icons/Upscayl.tsx 50.00% 1 Missing ⚠️
...d/pages/SoftwarePage/components/icons/UsageApp.tsx 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #47230      +/-   ##
==========================================
- Coverage   67.14%   67.14%   -0.01%     
==========================================
  Files        3015     3024       +9     
  Lines      226546   226564      +18     
  Branches    11684    11684              
==========================================
+ Hits       152120   152129       +9     
- Misses      60688    60697       +9     
  Partials    13738    13738              
Flag Coverage Δ
frontend 57.85% <50.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@allenhouchins
allenhouchins marked this pull request as ready for review June 9, 2026 21:19
@allenhouchins
allenhouchins requested a review from a team as a code owner June 9, 2026 21:19
Copilot AI review requested due to automatic review settings June 9, 2026 21:19
@fleet-release
fleet-release requested a review from eashaw June 9, 2026 21:19
@allenhouchins
allenhouchins merged commit f7c9331 into main Jun 9, 2026
29 of 30 checks passed
@allenhouchins
allenhouchins deleted the new-mac-fmas-u branch June 9, 2026 21:19
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1c0cd4dc-b0ef-4bfb-b8e3-5232e479e9e9

📥 Commits

Reviewing files that changed from the base of the PR and between 4d284da and 36dd086.

⛔ Files ignored due to path filters (9)
  • website/assets/images/app-icon-ua-connect-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-ukelele-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-ultimaker-cura-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-unclutter-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-unicodechecker-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-unity-hub-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-updf-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-upscayl-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-usage-app-60x60@2x.png is excluded by !**/*.png
📒 Files selected for processing (29)
  • ee/maintained-apps/inputs/homebrew/ua-connect.json
  • ee/maintained-apps/inputs/homebrew/ukelele.json
  • ee/maintained-apps/inputs/homebrew/ultimaker-cura.json
  • ee/maintained-apps/inputs/homebrew/unclutter.json
  • ee/maintained-apps/inputs/homebrew/unicodechecker.json
  • ee/maintained-apps/inputs/homebrew/unity-hub.json
  • ee/maintained-apps/inputs/homebrew/updf.json
  • ee/maintained-apps/inputs/homebrew/upscayl.json
  • ee/maintained-apps/inputs/homebrew/usage-app.json
  • ee/maintained-apps/outputs/apps.json
  • ee/maintained-apps/outputs/ua-connect/darwin.json
  • ee/maintained-apps/outputs/ukelele/darwin.json
  • ee/maintained-apps/outputs/ultimaker-cura/darwin.json
  • ee/maintained-apps/outputs/unclutter/darwin.json
  • ee/maintained-apps/outputs/unicodechecker/darwin.json
  • ee/maintained-apps/outputs/unity-hub/darwin.json
  • ee/maintained-apps/outputs/updf/darwin.json
  • ee/maintained-apps/outputs/upscayl/darwin.json
  • ee/maintained-apps/outputs/usage-app/darwin.json
  • frontend/pages/SoftwarePage/components/icons/UaConnect.tsx
  • frontend/pages/SoftwarePage/components/icons/Ukelele.tsx
  • frontend/pages/SoftwarePage/components/icons/UltimakerCura.tsx
  • frontend/pages/SoftwarePage/components/icons/Unclutter.tsx
  • frontend/pages/SoftwarePage/components/icons/Unicodechecker.tsx
  • frontend/pages/SoftwarePage/components/icons/UnityHub.tsx
  • frontend/pages/SoftwarePage/components/icons/Updf.tsx
  • frontend/pages/SoftwarePage/components/icons/Upscayl.tsx
  • frontend/pages/SoftwarePage/components/icons/UsageApp.tsx
  • frontend/pages/SoftwarePage/components/icons/index.ts

Walkthrough

This PR adds nine new macOS maintained applications to Fleet's software catalog: UA Connect, Ukelele, UltiMaker Cura, Unclutter, UnicodeChecker, Unity Hub, UPDF, Upscayl, and Usage. Each app receives a Homebrew input manifest defining its identifier and metadata, a Darwin output configuration with embedded Bash scripts for installation and uninstallation, a frontend SVG icon component, and registration in the software icon mapping and app inventory list.

Possibly related PRs

  • fleetdm/fleet#47016: Follows the same pattern of extending maintained-apps data and frontend icon wiring by adding new app entries to SOFTWARE_NAME_TO_ICON_MAP and ee/maintained-apps/outputs/apps.json.
  • fleetdm/fleet#47010: Extends the same SOFTWARE_NAME_TO_ICON_MAP mapping and maintained-apps infrastructure for adding new macOS apps.
  • fleetdm/fleet#47046: Uses the identical "new app manifest + darwin updater + icon component" pattern to extend the software catalog with different applications.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new-mac-fmas-u

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI 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.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR adds support for several new macOS (darwin) maintained apps and wires them into the Software page by introducing new icon components and updating the software-name → icon mapping.

Changes:

  • Added new SoftwarePage icon components (UA Connect, Ukelele, UltiMaker Cura, Unclutter, UnicodeChecker, Unity Hub, UPDF, Upscayl, Usage).
  • Registered new darwin maintained-app definitions (inputs + outputs), including install/uninstall scripts and app catalog entries.
  • Extended the frontend software-name → icon map to include the new apps.

Reviewed changes

Copilot reviewed 29 out of 38 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
frontend/pages/SoftwarePage/components/icons/index.ts Imports new icon components and maps additional software names to icons.
frontend/pages/SoftwarePage/components/icons/UsageApp.tsx Adds raster-based icon component for Usage.
frontend/pages/SoftwarePage/components/icons/Upscayl.tsx Adds raster-based icon component for Upscayl.
frontend/pages/SoftwarePage/components/icons/Updf.tsx Adds raster-based icon component for UPDF.
frontend/pages/SoftwarePage/components/icons/UnityHub.tsx Adds raster-based icon component for Unity Hub.
frontend/pages/SoftwarePage/components/icons/Unicodechecker.tsx Adds raster-based icon component for UnicodeChecker.
frontend/pages/SoftwarePage/components/icons/UltimakerCura.tsx Adds raster-based icon component for UltiMaker Cura.
frontend/pages/SoftwarePage/components/icons/Ukelele.tsx Adds raster-based icon component for Ukelele.
frontend/pages/SoftwarePage/components/icons/UaConnect.tsx Adds raster-based icon component for UA Connect.
ee/maintained-apps/outputs/usage-app/darwin.json Adds darwin output definition and scripts for Usage.
ee/maintained-apps/outputs/upscayl/darwin.json Adds darwin output definition and scripts for Upscayl.
ee/maintained-apps/outputs/updf/darwin.json Adds darwin output definition and scripts for UPDF.
ee/maintained-apps/outputs/unity-hub/darwin.json Adds darwin output definition and scripts for Unity Hub.
ee/maintained-apps/outputs/unicodechecker/darwin.json Adds darwin output definition and scripts for UnicodeChecker.
ee/maintained-apps/outputs/unclutter/darwin.json Adds darwin output definition and scripts for Unclutter.
ee/maintained-apps/outputs/ultimaker-cura/darwin.json Adds darwin output definition and scripts for UltiMaker Cura.
ee/maintained-apps/outputs/ukelele/darwin.json Adds darwin output definition and scripts for Ukelele.
ee/maintained-apps/outputs/ua-connect/darwin.json Adds darwin output definition and scripts for UA Connect.
ee/maintained-apps/outputs/apps.json Registers the new apps in the maintained app catalog.
ee/maintained-apps/inputs/homebrew/usage-app.json Adds maintained-app input metadata for Usage.
ee/maintained-apps/inputs/homebrew/upscayl.json Adds maintained-app input metadata for Upscayl.
ee/maintained-apps/inputs/homebrew/updf.json Adds maintained-app input metadata for UPDF.
ee/maintained-apps/inputs/homebrew/unity-hub.json Adds maintained-app input metadata for Unity Hub.
ee/maintained-apps/inputs/homebrew/unicodechecker.json Adds maintained-app input metadata for UnicodeChecker.
ee/maintained-apps/inputs/homebrew/unclutter.json Adds maintained-app input metadata for Unclutter.
ee/maintained-apps/inputs/homebrew/ultimaker-cura.json Adds maintained-app input metadata for UltiMaker Cura.
ee/maintained-apps/inputs/homebrew/ukelele.json Adds maintained-app input metadata for Ukelele.
ee/maintained-apps/inputs/homebrew/ua-connect.json Adds maintained-app input metadata for UA Connect.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +342 to +350
import UaConnect from "./UaConnect";
import Ukelele from "./Ukelele";
import UltimakerCura from "./UltimakerCura";
import Unclutter from "./Unclutter";
import Unicodechecker from "./Unicodechecker";
import UnityHub from "./UnityHub";
import Updf from "./Updf";
import Upscayl from "./Upscayl";
import UsageApp from "./UsageApp";
Comment on lines +5 to +12
const UsageApp = (props: SVGProps<SVGSVGElement>) => (
<svg xmlns="http://www.w3.org/2000/svg" width={32} height={32} {...props}>
<image
width={32}
height={32}
href="data:image/png;base64,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"
/>
</svg>

import type { SVGProps } from "react";

const Unicodechecker = (props: SVGProps<SVGSVGElement>) => (
/>
</svg>
);
export default Unicodechecker;
}
],
"refs": {
"5b95ff58": "#!/bin/bash\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\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\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\nquit_application 'com.unity3d.unityhub'\nsudo rm -rf \"$APPDIR/Unity Hub.app\"\nsudo rmdir '/Applications/Unity/Hub'\ntrash $LOGGED_IN_USER '~/Library/Application Support/UnityHub'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.unity3d.unityhub.helper.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.unity3d.unityhub.plist'\n",
Comment on lines +4 to +8
"version": "5.13.0",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'nl.ultimaker.cura.dmg';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'nl.ultimaker.cura.dmg' AND version_compare(bundle_short_version, '5.13.0') < 0);"
},
Comment on lines +9 to +12
"installer_url": "https://download.updf.com/updf/basic/mac/apple/updf-mac-full.dmg",
"install_script_ref": "2bc5724d",
"uninstall_script_ref": "00530805",
"sha256": "no_check",
Comment on lines +3302 to +3306
"name": "UnicodeChecker",
"slug": "unicodechecker/darwin",
"platform": "darwin",
"unique_identifier": "net.earthlingsoft.UnicodeChecker",
"description": "UnicodeChecker is an explore and convert Unicode."
Comment on lines +3330 to +3334
"name": "Usage",
"slug": "usage-app/darwin",
"platform": "darwin",
"unique_identifier": "com.mediaatelier.Usage",
"description": "Usage is a tracks application usage."
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.

3 participants