Skip to content

Add SF Symbols as a macOS FMA - #46738

Merged
allenhouchins merged 4 commits into
mainfrom
macos-fma-sf-symbols
Jun 3, 2026
Merged

Add SF Symbols as a macOS FMA#46738
allenhouchins merged 4 commits into
mainfrom
macos-fma-sf-symbols

Conversation

@harrisonravazzolo

@harrisonravazzolo harrisonravazzolo commented Jun 3, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added SF Symbols support on macOS with automated version detection and one-click install/uninstall.
    • SF Symbols now appears in the software catalog with a Productivity category and updated listing/description.
    • Added an SF Symbols icon to the software UI for clearer visual identification.

@codecov

codecov Bot commented Jun 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 66.91%. Comparing base (9f5d31f) to head (acaecee).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
.../pages/SoftwarePage/components/icons/SfSymbols.tsx 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #46738      +/-   ##
==========================================
- Coverage   66.91%   66.91%   -0.01%     
==========================================
  Files        2833     2834       +1     
  Lines      224964   224966       +2     
  Branches    11620    11517     -103     
==========================================
+ Hits       150526   150527       +1     
- Misses      60781    60783       +2     
+ Partials    13657    13656       -1     
Flag Coverage Δ
frontend 56.67% <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 Sentry.
📢 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.

@harrisonravazzolo
harrisonravazzolo marked this pull request as ready for review June 3, 2026 16:34
@harrisonravazzolo
harrisonravazzolo requested a review from a team as a code owner June 3, 2026 16:34

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

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

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

@coderabbitai

coderabbitai Bot commented Jun 3, 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: 7149d468-6a43-42ba-b24e-3b4f6579bff0

📥 Commits

Reviewing files that changed from the base of the PR and between c8b495e and acaecee.

📒 Files selected for processing (1)
  • ee/maintained-apps/outputs/apps.json

Walkthrough

This pull request adds SF Symbols as a Fleet-maintained app across three functional areas. The app configuration layer defines SF Symbols in Homebrew input format (bundle ID com.apple.SFSymbols, token sf-symbols, DMG installer, Productivity category) and registers it in the apps manifest. The macOS platform layer specifies version 7.2 installation via DMG mounting and PKG extraction, with automatic app relaunching and uninstallation logic that removes package receipts and user preferences. The frontend layer introduces a new icon component (32×32 SVG with embedded PNG) and wires it into the software icon display map.

Possibly related issues

  • fleetdm/fleet#46707: Both changes add the SF Symbols Fleet-maintained app using the same token and bundle identifier with macOS installer and uninstall metadata.

Possibly related PRs

  • fleetdm/fleet#46734: Overlaps on adding SF Symbols as a maintained app and edits the VirtualBuddy macOS description in apps.json.
  • fleetdm/fleet#45858: Also adds maintained-apps data and installer/uninstaller JSON outputs and registers a new frontend icon mapping.
  • fleetdm/fleet#46424: Updates the same frontend icon registry by registering a new entry in SOFTWARE_NAME_TO_ICON_MAP.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided by the author. The template requires multiple sections including related issue, checklists, testing, and platform-specific verification. Add a comprehensive pull request description following the repository template, including related issue number, completed checklist items, testing confirmation, and any relevant validation steps.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title 'Add SF Symbols as a macOS FMA' directly and clearly summarizes the main change: adding SF Symbols support as a macOS FMA (Fleet Maintained App) across configuration, output, and UI components.

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

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

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

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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/sf-symbols/darwin.json`:
- Around line 9-12: The JSON entry for SF-Symbols-7.dmg currently uses "sha256":
"no_check", which disables tamper detection; compute the actual SHA256 of the
DMG at the installer_url
("https://devimages-cdn.apple.com/design/resources/download/SF-Symbols-7.dmg")
and replace the "no_check" value with that hex hash in the sha256 field so Fleet
can verify downloads; keep the existing install_script_ref and
uninstall_script_ref unchanged and ensure the SHA is the full lowercase hex
string.
🪄 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: fc5ad774-686f-44e6-9b73-fc4a28d37ad1

📥 Commits

Reviewing files that changed from the base of the PR and between 9f5d31f and c8b495e.

⛔ Files ignored due to path filters (1)
  • website/assets/images/app-icon-sf-symbols-60x60@2x.png is excluded by !**/*.png
📒 Files selected for processing (5)
  • ee/maintained-apps/inputs/homebrew/sf-symbols.json
  • ee/maintained-apps/outputs/apps.json
  • ee/maintained-apps/outputs/sf-symbols/darwin.json
  • frontend/pages/SoftwarePage/components/icons/SfSymbols.tsx
  • frontend/pages/SoftwarePage/components/icons/index.ts

Comment on lines +9 to +12
"installer_url": "https://devimages-cdn.apple.com/design/resources/download/SF-Symbols-7.dmg",
"install_script_ref": "36b578c4",
"uninstall_script_ref": "de35f8cd",
"sha256": "no_check",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Download and compute SHA256 for SF Symbols 7.2 DMG
curl -L "https://devimages-cdn.apple.com/design/resources/download/SF-Symbols-7.dmg" -o /tmp/sf-symbols.dmg
shasum -a 256 /tmp/sf-symbols.dmg | awk '{print $1}'
rm /tmp/sf-symbols.dmg

Repository: fleetdm/fleet

Length of output: 1209


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# 1) Show the exact snippet from the referenced JSON
echo "=== darwin.json lines 1-40 ==="
nl -ba ee/maintained-apps/outputs/sf-symbols/darwin.json | sed -n '1,40p'

# 2) Find where sha256/no_check is referenced in the repo
echo
echo "=== occurrences of sha256/no_check ==="
rg -n --hidden --no-ignore -S '"sha256"' ee | head -n 200
rg -n --hidden --no-ignore -S '"no_check"' . | head -n 200

# 3) Trace download/verification logic (search for sha256 handling)
echo
echo "=== download/verification logic mentioning sha256 ==="
rg -n --hidden --no-ignore -S 'sha256' . | head -n 200

Repository: fleetdm/fleet

Length of output: 149


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== darwin.json (lines 1-30) ==="
sed -n '1,30p' ee/maintained-apps/outputs/sf-symbols/darwin.json

echo
echo "=== darwin.json (lines 5-15) ==="
sed -n '5,15p' ee/maintained-apps/outputs/sf-symbols/darwin.json

echo
echo "=== occurrences of \"no_check\" ==="
rg -n --hidden --no-ignore -S '"no_check"' . | head -n 200

echo
echo "=== occurrences of \"sha256\" ==="
rg -n --hidden --no-ignore -S '"sha256"' . | head -n 200

echo
echo "=== occurrences of \"no_check\" and download/verify code paths ==="
rg -n --hidden --no-ignore -S 'no_check|sha256' ee | head -n 200

Repository: fleetdm/fleet

Length of output: 50369


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== maintained_apps.go: noCheckHash logic ==="
sed -n '1,220p' ee/server/service/maintained_apps.go

echo
echo "=== software_installers.go: compute SHA when no_check ==="
sed -n '2920,3100p' ee/server/service/software_installers.go

echo
echo "=== software_installers.go: where no_check is interpreted ==="
rg -n --hidden --no-ignore -S 'noCheckHash|no_check' ee/server/service/software_installers.go | head -n 200

Repository: fleetdm/fleet

Length of output: 16195


Avoid "sha256": "no_check" for SF-Symbols-7.dmg if you want tamper detection on download.

  • Fleet treats sha256: "no_check" as “skip comparing the downloaded bytes against an expected hash” (it still computes a SHA256 from what was downloaded and uses it for storage/idempotency).
  • If this URL is stable for the declared version, replace "no_check" with the actual SHA256 so Fleet will reject mismatched/modified installers.
🤖 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/sf-symbols/darwin.json` around lines 9 - 12, The
JSON entry for SF-Symbols-7.dmg currently uses "sha256": "no_check", which
disables tamper detection; compute the actual SHA256 of the DMG at the
installer_url
("https://devimages-cdn.apple.com/design/resources/download/SF-Symbols-7.dmg")
and replace the "no_check" value with that hex hash in the sha256 field so Fleet
can verify downloads; keep the existing install_script_ref and
uninstall_script_ref unchanged and ensure the SHA is the full lowercase hex
string.

allenhouchins
allenhouchins previously approved these changes Jun 3, 2026
@allenhouchins allenhouchins changed the title macOS FMA - SF Symbols Add SF Symbols as a macOS FMA Jun 3, 2026
fleet-release
fleet-release previously approved these changes Jun 3, 2026
@allenhouchins
allenhouchins dismissed stale reviews from fleet-release and themself via 2c8dcd7 June 3, 2026 16:42
fleet-release
fleet-release previously approved these changes Jun 3, 2026
@allenhouchins
allenhouchins merged commit c5e9c4d into main Jun 3, 2026
16 of 17 checks passed
@allenhouchins
allenhouchins deleted the macos-fma-sf-symbols branch June 3, 2026 16:43
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