Skip to content

Windows FMA - Prisma Browser - #46409

Merged
allenhouchins merged 2 commits into
mainfrom
win-fma-prisma-browser
May 29, 2026
Merged

Windows FMA - Prisma Browser#46409
allenhouchins merged 2 commits into
mainfrom
win-fma-prisma-browser

Conversation

@harrisonravazzolo

@harrisonravazzolo harrisonravazzolo commented May 28, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Added support for Prisma Browser on Windows, including installer metadata and automated install/uninstall handling for smoother deployments.
    • Added Prisma Browser entry in the apps catalog so it appears in software listings.
  • Style / UI

    • Added a Prisma icon and UI representation for consistent display across the app.

Review Change Stack

@codecov

codecov Bot commented May 28, 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.87%. Comparing base (aeaa7a2) to head (71bed48).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...end/pages/SoftwarePage/components/icons/Prisma.tsx 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #46409      +/-   ##
==========================================
- Coverage   66.87%   66.87%   -0.01%     
==========================================
  Files        2787     2788       +1     
  Lines      222285   222287       +2     
  Branches    11297    11297              
==========================================
+ Hits       148663   148664       +1     
- Misses      60167    60168       +1     
  Partials    13455    13455              
Flag Coverage Δ
frontend 56.31% <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 May 28, 2026 23:47
@harrisonravazzolo
harrisonravazzolo requested a review from a team as a code owner May 28, 2026 23:47

@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 May 28, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 825ae2f9-f733-4013-b7a5-974106ba6540

📥 Commits

Reviewing files that changed from the base of the PR and between a5db91e and 71bed48.

📒 Files selected for processing (1)
  • ee/maintained-apps/outputs/apps.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • ee/maintained-apps/outputs/apps.json

Walkthrough

Adds Prisma Browser as a maintained application: a winget input manifest, a registry entry in apps.json, Windows installer metadata (version 148.18.4.217) with embedded PowerShell install/uninstall scripts and installer URL/SHA-256/upgrade code, and a new Prisma React SVG icon component wired into SOFTWARE_NAME_TO_ICON_MAP for UI rendering.

Possibly related PRs

  • fleetdm/fleet#46284: Also extends SOFTWARE_NAME_TO_ICON_MAP and adds a maintained-app entry and icon for a different application.
  • fleetdm/fleet#46222: Adds a new icon component and registers it in SOFTWARE_NAME_TO_ICON_MAP following the same frontend wiring pattern.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request has no description provided by the author, failing to address any required sections from the template. Add a pull request description following the template, including related issue reference, relevant checklist items, and testing/validation details for the new Prisma Browser integration.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding Prisma Browser support to Windows FMA, which aligns with all files modified in this changeset.
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.

✏️ 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 win-fma-prisma-browser

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

🧹 Nitpick comments (1)
frontend/pages/SoftwarePage/components/icons/Prisma.tsx (1)

5-13: 🏗️ Heavy lift

Optional: Replace Prisma’s embedded base64 PNG with SVG paths for better scaling and bundle size.

frontend/pages/SoftwarePage/components/icons/Prisma.tsx embeds a raster PNG via <image href="data:image/png;base64,...">, which won’t scale cleanly and adds base64 payload cost. Repo-wide, this pattern is common (228 icon files embed base64 PNGs), while only a small subset uses SVG paths (<path> appears in 36 files), so converting Prisma to paths would be an incremental quality/perf improvement rather than aligning with the dominant icon style.

🤖 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 `@frontend/pages/SoftwarePage/components/icons/Prisma.tsx` around lines 5 - 13,
The Prisma component currently embeds a raster PNG via the <image
href="data:image/png;base64,..."> inside the Prisma functional component
(Prisma) which prevents crisp scaling and inflates bundle size; replace the
embedded base64 image with vector SVG path elements (or import an optimized .svg
and inline its path(s)) inside the same <svg> element, preserve forwarding of
SVGProps<SVGSVGElement> (keep the Prisma props spread), add an appropriate
viewBox and remove/adjust fixed width/height if necessary so the icon scales,
and ensure the final JSX uses <path> (and related SVG primitives) instead of
<image href=...>.
🤖 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/apps.json`:
- Line 1717: The description string currently reads "Prisma Browser is an
SASE-native browser that empowers secure work." but uses the wrong article;
update the description value in the apps.json entry (the JSON object containing
the "description" key shown) to "Prisma Browser is a SASE-native browser that
empowers secure work." so the indefinite article matches the pronunciation of
"SASE".

---

Nitpick comments:
In `@frontend/pages/SoftwarePage/components/icons/Prisma.tsx`:
- Around line 5-13: The Prisma component currently embeds a raster PNG via the
<image href="data:image/png;base64,..."> inside the Prisma functional component
(Prisma) which prevents crisp scaling and inflates bundle size; replace the
embedded base64 image with vector SVG path elements (or import an optimized .svg
and inline its path(s)) inside the same <svg> element, preserve forwarding of
SVGProps<SVGSVGElement> (keep the Prisma props spread), add an appropriate
viewBox and remove/adjust fixed width/height if necessary so the icon scales,
and ensure the final JSX uses <path> (and related SVG primitives) instead of
<image href=...>.
🪄 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: e201ef60-0485-49d7-a12a-e72e1be59686

📥 Commits

Reviewing files that changed from the base of the PR and between aeaa7a2 and a5db91e.

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

Comment thread ee/maintained-apps/outputs/apps.json Outdated
@allenhouchins
allenhouchins merged commit 8feb3bd into main May 29, 2026
28 checks passed
@allenhouchins
allenhouchins deleted the win-fma-prisma-browser branch May 29, 2026 02:25
allenhouchins added a commit that referenced this pull request Jul 21, 2026
**Related issue:** Resolves #49328

Adds Prisma Access Browser (Homebrew cask `prisma-access-browser`) as a
macOS Fleet-maintained app.

## Notes for reviewers

**Naming/slug:** This product already ships as a Windows FMA named
**Prisma Browser** (`prisma-browser/windows`, added in #46409 — "Prisma
Browser" is Palo Alto's current branding for what was Prisma Access
Browser). The FMA library combines platforms into one row by slug token,
so this entry uses `name: "Prisma Browser"` and `slug:
"prisma-browser/darwin"` while keeping `token: "prisma-access-browser"`
for the cask lookup (same token≠slug pattern as the `libreoffice`,
`ollama`, and `zoom` inputs). Both platforms now show as a single
"Prisma Browser" library row and share the existing Prisma icon, so no
icon changes are needed.

**Identity verified against the real installer** (downloaded the full
pkg; SHA256 matches the cask):
- `CFBundleIdentifier` = `com.talon-sec.Work` (from the pkg
Distribution/PackageInfo), so the exists query matches osquery's `apps`
table.
- `CFBundleShortVersionString` = `150.49.5.129`, exactly the cask
version before the comma, so the patched query's `bundle_short_version`
comparison reconciles.
- Installs `Prisma Access Browser.app` machine-wide to `/Applications`
as root; requires macOS 12+. Not a bootstrapper.

**Install script filename:** the cask's pkg artifact
(`PrismaBrowser-universal.pkg`) doesn't match the URL basename, but the
vendor serves that name via `Content-Disposition`, which is what the
server stores (`FilenameFromResponse`) and what orbit names the
downloaded installer on both download paths — so the auto-generated
install script works without a custom script.

**Installer URL** is pinned (version + hash in the path), so no
latest-redirect SHA-drift risk.

# Checklist for submitter

## Testing

- [x] Verified installer identity fields (bundle ID, versions, SHA256)
against the real pkg
- [x] `go test ./ee/maintained-apps/... ./cmd/maintained-apps/...`
passes; generated JSON validated
- [ ] FMA validator run (CI) confirms install/uninstall on a macOS host
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