Add macOS Fleet-maintained apps (U) - #47230
Conversation
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.
Codecov Report❌ Patch coverage is 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (9)
📒 Files selected for processing (29)
WalkthroughThis 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
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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.
| 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"; |
| 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", |
| "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);" | ||
| }, |
| "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", |
| "name": "UnicodeChecker", | ||
| "slug": "unicodechecker/darwin", | ||
| "platform": "darwin", | ||
| "unique_identifier": "net.earthlingsoft.UnicodeChecker", | ||
| "description": "UnicodeChecker is an explore and convert Unicode." |
| "name": "Usage", | ||
| "slug": "usage-app/darwin", | ||
| "platform": "darwin", | ||
| "unique_identifier": "com.mediaatelier.Usage", | ||
| "description": "Usage is a tracks application usage." |
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