Remove Gadwin PrintScreen, PrintScreen Pro, and ScreenRecorder FMAs (expired TLS cert on download host) - #50470
Conversation
All three Gadwin apps download their installers from www.gadwin.com, whose Let's Encrypt certificate expired 2026-08-02 and has not been renewed. Every FMA validation run now fails these three apps with: tls: failed to verify certificate: x509: certificate has expired or is not yet valid The same failure applies to end users: Fleet fetches the installer from that URL at install time, so the apps cannot be installed while the cert is invalid. Removes all six locations for each app: the winget input, the windows.json output, the apps.json entry, and (for the two PrintScreen apps, which had them) the frontend icon component, its import/mapping in the icon index, and the website PNG. Gadwin ScreenRecorder had no icon.
Script Diff Resultsee/maintained-apps/inputs/winget/gadwin-printscreen-pro.jsonError: File 'ee/maintained-apps/inputs/winget/gadwin-printscreen-pro.json' does not existee/maintained-apps/inputs/winget/gadwin-printscreen.jsonError: File 'ee/maintained-apps/inputs/winget/gadwin-printscreen.json' does not existee/maintained-apps/inputs/winget/gadwin-screenrecorder.jsonError: File 'ee/maintained-apps/inputs/winget/gadwin-screenrecorder.json' does not existee/maintained-apps/outputs/gadwin-printscreen-pro/windows.jsonError: File 'ee/maintained-apps/outputs/gadwin-printscreen-pro/windows.json' does not existee/maintained-apps/outputs/gadwin-printscreen/windows.jsonError: File 'ee/maintained-apps/outputs/gadwin-printscreen/windows.json' does not existee/maintained-apps/outputs/gadwin-screenrecorder/windows.jsonError: File 'ee/maintained-apps/outputs/gadwin-screenrecorder/windows.json' does not exist |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (10)
💤 Files with no reviewable changes (10)
WalkthroughRemoved the Gadwin PrintScreen, Gadwin PrintScreen Pro, and Gadwin ScreenRecorder maintained application definitions and Windows configurations. Removed their records from the maintained applications catalog. Removed the Gadwin PrintScreen and Gadwin PrintScreen Pro React icon components, imports, and software-name mappings. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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
Removes three Windows Fleet-maintained apps (FMAs) that currently cannot be validated or installed because the upstream download host (www.gadwin.com) presents an expired TLS certificate.
Changes:
- Removed the Winget input definitions and generated Windows outputs for the three Gadwin apps.
- Removed the three apps from the maintained-app catalog (
ee/maintained-apps/outputs/apps.json). - Removed the two corresponding software icon components and their mapping entries from the Software page icons index.
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/pages/SoftwarePage/components/icons/index.ts | Removes imports and name→icon map entries for the two Gadwin icons. |
| frontend/pages/SoftwarePage/components/icons/GadwinPrintscreen.tsx | Deletes the Gadwin PrintScreen icon component. |
| frontend/pages/SoftwarePage/components/icons/GadwinPrintscreenPro.tsx | Deletes the Gadwin PrintScreen Pro icon component. |
| ee/maintained-apps/outputs/gadwin-screenrecorder/windows.json | Deletes generated Windows output for Gadwin ScreenRecorder. |
| ee/maintained-apps/outputs/gadwin-printscreen/windows.json | Deletes generated Windows output for Gadwin PrintScreen. |
| ee/maintained-apps/outputs/gadwin-printscreen-pro/windows.json | Deletes generated Windows output for Gadwin PrintScreen Pro. |
| ee/maintained-apps/outputs/apps.json | Removes the three Gadwin app entries from the maintained app catalog. |
| ee/maintained-apps/inputs/winget/gadwin-screenrecorder.json | Deletes the Winget input for Gadwin ScreenRecorder. |
| ee/maintained-apps/inputs/winget/gadwin-printscreen.json | Deletes the Winget input for Gadwin PrintScreen. |
| ee/maintained-apps/inputs/winget/gadwin-printscreen-pro.json | Deletes the Winget input for Gadwin PrintScreen Pro. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #50470 +/- ##
=======================================
Coverage 68.13% 68.13%
=======================================
Files 3947 3945 -2
Lines 251501 251497 -4
Branches 13307 13307
=======================================
- Hits 171349 171347 -2
+ Misses 64835 64833 -2
Partials 15317 15317
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:
|
Related issue: NA
Removes the three Gadwin Fleet-maintained apps: Gadwin PrintScreen, Gadwin PrintScreen Pro, and Gadwin ScreenRecorder.
All three download their installers from
www.gadwin.com, whose Let's Encrypt certificate expired 2026-08-02 and has not been renewed:Every FMA validation run now fails these three apps:
This is not just CI: Fleet fetches the installer from that same URL when a user installs the app, so all three are currently uninstallable for customers.
Note
The certificate expired only one day before this PR was opened. If Gadwin renews it, these apps become viable again and the alternative fix is
"frozen": truein each winget input (which skips validation) rather than removal. Removing was chosen because a lapsed auto-renewing certificate means no one is maintaining the download host, and a broken installer URL is worse for users than an absent app. Happy to switch to a freeze if reviewers prefer to wait it out.What's removed
Per app, all locations that applied:
ee/maintained-apps/inputs/winget/<slug>.jsonee/maintained-apps/outputs/<slug>/windows.jsonee/maintained-apps/outputs/apps.jsonentryfrontend/.../icons/<Name>.tsxicons/index.tswebsite/assets/images/app-icon-<slug>-60x60@2x.pngAll three are Windows-only (no Homebrew input or
darwin.json), so no macOS counterpart is affected and no shared icons needed to be retained.apps.jsongoes from 1393 to 1390 apps. The diff is deletion-only.Checklist for submitter
SELECT *is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters.Testing
Verification performed:
apps.jsonparses as valid JSON; nogadwinslugs remain.gadwinreturns no dangling references. (The one remaining hit,cmd/osquery-perf/software-library/software.sql, is a simulated host-inventory fixture, not an FMA definition — intentionally left in place.)npx tsc --noEmitreports no errors related to the removed icon components or the icon index.npx prettier --checkpasses onicons/index.tsandapps.json.go build ./cmd/maintained-apps/... ./ee/maintained-apps/...andgo test ./ee/maintained-apps/...pass.Summary by CodeRabbit