13 Commits
Author SHA1 Message Date
Sharon Katz 4374d4d03f Ensure unit test coverage for all external library upgrades (#48949)
**Related issue:** Closes #48943

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [x] Input data is properly validated, `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.
- [x] Timeouts are implemented and retries are limited to avoid infinite
loops

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually

## Summary

Adds unit test coverage for external library upgrades that had no
automated tests:

- **DOMPurify** (`ClickableUrls_xss.tests.tsx`): 5 XSS sanitization
tests (script injection, javascript: in href, event handlers, iframe,
URL preservation)
- **react-markdown + remark-gfm** (`FleetMarkdown.tests.tsx`): 9
rendering tests (plain text, bold/italic, links, lists, GFM tables,
strikethrough, code blocks, inline code)
- **sonner** (`ToastNotification.tests.tsx`): 9 notify API tests
(success/error creation, empty-message fallback, custom id, dismiss,
batch, HTTP status label, axios response unwrap)

These gaps were identified through a comprehensive audit of all ~353
direct dependencies across Go and frontend. The Go backend has excellent
coverage (669+ test files). The frontend now has 333+ test files
covering all runtime libraries except 2 that are untestable at unit
level (systray GUI, sockjs WebSocket).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Added coverage confirming potentially unsafe HTML and links are
sanitized before rendering, including protection against script,
`javascript:` URLs, and injected content.
* Added tests validating Markdown rendering for plain text, links,
fenced code blocks, and inline code.
* Added coverage for toast notifications, including success/error flows,
batching, dismissal, fallback messaging, ID handling, and mapping
response details.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-13 15:51:32 -04:00
Ian LittmanandGabriel Hernandez e760b9081d Upgrade JS deps (#39639)
Ran `yarn upgrade` to catch things up. Seeing if tests pass, then will
add other items on top.

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2026-02-12 09:49:20 -06:00
Ian LittmanandGabriel Hernandez 75ade244f8 Bump react-markdown and remark-gfm packages to resolve transitive dep vulns (#38411)
# Checklist for submitter

## Testing

- [ ] Added/updated automated tests

- [ ] QA'd all new/changed functionality manually

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2026-01-30 16:44:19 +00:00
RachelElysia dbbb165494 Fleet UI: Keep new lines in code blocks but still remove trailing new lines (#34777) 2025-10-27 09:35:18 -04:00
RachelElysia efc64389b1 Fleet UI [Feature]: UI reskin (#33558) 2025-09-29 12:10:41 -05:00
jacobshandlingandJacob Shandling 459b725667 UI - Update name (#25873)
## QOL Improvement

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-31 10:37:56 -08:00
RachelElysia 82887fc90c Frontend: Cleanup 42 js warnings (#16219) 2024-01-23 09:16:10 -05:00
RachelElysia 3c8244b246 Fleet UI: Dynamic autofill for SQL editor (#13093) 2023-08-03 12:42:51 -04:00
Gabriel Hernandez 3b86ed0156 add components to storybook (#11500) 2023-05-03 17:51:33 +01:00
RachelElysia 8d1ebce204 Fleet UI: Fix table links to allow wrapping (#8802) 2022-11-23 14:36:08 -05:00
RachelElysia 82ff4ab6e3 Frontend: New CustomLink component (#8375) 2022-10-27 14:06:57 -04:00
Gabriel Hernandez da04e04f88 fixes for new query side panel (#8288) 2022-10-18 17:52:20 +01:00
Gabriel Hernandez a950e9d095 Feat/update query doc sidepanel (#8214)
* create new components for query side panel

* add reusable icon component that uses svg for icons

* integrate with new osquery_fleet_schema.json data

* update UI to work with osquery_fleet_schema.json

* add remark-gfm to safely support direct urls in markdown

* move fleet ace into markdown component so we can render code with ace editor

* add testing for new query sidebar

* remove incomplete tests for query sidepanel
2022-10-14 17:45:57 +01:00