Commit Graph
36 Commits
Author SHA1 Message Date
RachelElysia 968ea20aeb Fleet UI: Searchable fleets dropdown with add-fleet affordance (#49690) 2026-07-23 07:26:04 -07:00
RachelElysia 70a3206a58 Fleet UI: Multi-package Library, Add/Edit/Delete modals (#48400) (#48520) 2026-07-09 07:31:41 -07:00
RachelElysia e0fc1e0e7a Fleet UI: Auto-dismiss success toasts after navigation (#48112) 2026-06-23 22:51:39 -04:00
Nico 9e4627e889 Frontend: document spread-prop exceptions (#46348)
Modified patterns.md to document that we prefer to not spread props into
components. Included some exceptions as well as some specific cases
where we'd never want to spread (e.g. into an `img` tag).

## Testing

- [x] QA'd all new/changed functionality manually
2026-06-23 11:00:59 -03:00
Steven Palmesano b6b374270f Use "Example payload" for all payload example buttons and always enable example buttons (#47167)
**Related issue:** #44719

Also, make sure the **Dashboard > Activity > Automations** modal is
grayed out when in GitOps mode.

# Checklist for submitter

## Testing

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

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

* **Style**
* Standardized button labels across modals to use "Example payload" /
"Example data" consistently instead of mixed "Preview" or "Show/Hide"
variants.
* **Bug Fixes**
* Disabled relevant controls (example toggles, payload preview,
destination URL inputs, toggles) when GitOps mode is enabled so UI
reflects read-only mode.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-17 14:59:51 -05:00
RachelElysia d852e602cc Fleet UI: preserve raw software name for icon matching when display name overrides are set (#47355) 2026-06-12 16:19:46 -04:00
CarloandRachelElysia 5e50276023 Expand security considerations in frontend patterns doc (#46866)
Per the TODO items from our 5/21 FE sync

---------

Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
2026-06-11 12:25:36 -04:00
Scott GressandCopilot Autofix powered by AI 6f43df7305 Add custom hooks to frontend patterns doc (#46397)
As per our discussion of
https://gist.github.com/sgress454/1e956cbaa2cea3d70c25fc14d4cbc4e7 and
the TODO item in
https://docs.google.com/document/d/1cuAP-HWcu0KoK5bMmNsax-0-H819OW2y50DUVYoICX4/edit?tab=t.0,
this adds a custom hooks section to our patterns doc.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-11 11:18:14 -05:00
RachelElysia 6dc756fffe FE: Add claude rules and FE patterns around command palette (#46826) 2026-06-10 10:56:49 -04:00
RachelElysia a78a12250e Engineering Initiated - FE docs: Primo mode, Fleet Free (#45887) 2026-06-10 10:55:55 -04:00
RachelElysia 175b2419a4 Fleet UI: Route software title names through getDisplayedSoftwareName (#47084) 2026-06-08 11:14:39 -04:00
RachelElysia 8df30f9424 Engineering initiated - FE docs: Improve CSS patterns (#45985) 2026-05-29 13:31:28 -04:00
RachelElysia 4de604a3dc Engineering Initiated - FE: Improve api entity naming (#45865) 2026-05-21 16:10:31 -04:00
290aa0a7da Engineering Initiated - FE: Reference different contexts in patterns.md (#45866)
Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-21 15:09:40 -04:00
Nico 6b0551e922 add a more specific queryKey pattern (#45459)
Action item for Frontend Team Sync Agenda.
I decided to duplicate the pattern/rule in both files until we
eventually unify them.
2026-05-21 13:26:20 -03:00
jacobshandling a74901ea5d Codify pattern to disable form submit buttons when invalid (#42329) 2026-03-26 10:23:43 -07:00
Noah Talerman 09590bc6e2 "Teams" => "fleets", "queries" => "reports" doc changes (#39585) 2026-03-11 23:41:14 -05:00
jacobshandling 46f8cf4b12 UI: Set Mac Recovery Lock passwords (#41166)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39723 

# 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/`
- [x] Added/updated automated tests
- [ ] QA'd all new/changed functionality manually
  - [x] With spoofed data
  - [ ] Integrated with backend (wip)

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

* **New Features**
* Recovery Lock Passwords: new OS Settings card to enable/disable
enforcement and save changes.
* Host Actions: view a host's Recovery Lock password via a modal from
the host actions menu.
* Activity tracking: new activity entries for viewing, setting,
enabling, and disabling Recovery Lock passwords.
  * Navigation: added a dedicated route for Passwords under OS Settings.

* **Documentation**
* Updated guidance for updating local config after an update to ensure
latest values.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-10 10:05:01 -07:00
RachelElysia efc64389b1 Fleet UI [Feature]: UI reskin (#33558) 2025-09-29 12:10:41 -05:00
RachelElysia b485aeca5b Fleet UI: Add custom CVSS scores input fields (#31456) 2025-08-05 16:29:55 -04:00
jacobshandlingandJacob Shandling 748b5bcd51 Full-stack: Make "Server url" validation conditions consistent across Fleet, update Web Address form validation and submission logic per Fleet best practices (frontend/docs/patterns.md) (#27455)
## For #27454 

Consider Fleet web URL to be valid if it:

- (Front end and back end): uses “https://” or “http://” scheme
 and
- (Front end) accepts only valid or "localhost" hosts (e.g., "a.b.cc" or
"localhost", but not "a.b")
- (Back end) accepts any host (e.g., "localhost", "a.b.cc", or even
"a.b")


### Setup flow UI URL validation:

![setup](https://github.com/user-attachments/assets/34a428d2-5731-46f2-b708-c88b790e3667)

### Org settings UI URL validation:

![org-settings](https://github.com/user-attachments/assets/147916c8-9c5b-4ae7-9e14-625c65b42d0a)

### Server URL validation:
<img width="1464" alt="invalid-url-server"
src="https://github.com/user-attachments/assets/83a112e1-6318-4b09-864d-fe66a223835d"
/>

### Invalid Fleet server URL in DB error:

![invalid-url-in-db](https://github.com/user-attachments/assets/aae591fb-6cc3-49bd-8556-22129be4c2c4)


- [x] Changes file added for user-visible changes in `changes/`,
- [x] Added/updated automated tests
- [ ] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-03-27 13:56:38 -07:00
jacobshandlingandJacob Shandling 55fd95d760 UI – Updates to confirm invite flow (#25583)
## For #24486 

- Check invite validity before rendering form, error if invalid
- Use data returned from validity check to pre-populate form
- Remove dependence of flow on URL params other than token
- Remove other URL params from link generated in invite confirmation
email
- Refactor form from JS to TS
- Refactor form from class to functional components
- Cleanup unused logic
- Improve error handling

**Invalid invite**

![invalid](https://github.com/user-attachments/assets/c42c47ca-6a0d-4112-89ea-68b77e748d12)


**Valid invite**

![valid-login-flow](https://github.com/user-attachments/assets/f2b97306-a1bd-47be-9725-968a3c4ad8a8)



- [x] Changes file added for user-visible changes in `changes/`
- [x] Updated tests
- [ ] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-24 10:55:39 -08:00
Gabriel Hernandez 52bda83794 display api errore messages pattern (#25721)
This is a quick doc update the frontend patterns for how we want to
handle displaying API error messages.

Also contains some markdown lint warnings
2025-01-23 15:44:53 +00:00
jacobshandlingandJacob Shandling d3ccb51755 UI - Improve UX of Flash messages (#22836)
## #22661 


![ezgif-6-71e48912ae](https://github.com/user-attachments/assets/01144620-0eba-48f0-9254-cc4795fde9fd)

- Update `FlashMessage` behavior to, by default, hide itself when the
user performs any URL-changing navigation
- Add `persistOnPageChange` option to `renderFlash` API and associated
notification context and reducer logic, allowing override of this
behavior on a per-call basis
- Ensure proper order of evaluation of URL changes and render flash
action dispatches on the event loop
- Clean up legacy unused "undo"-related arguments and logic
- Allow the user to click in the same horizontal dimension as a flash
message
- Other misc. cleanup and refactoring

[Demo - messages hidden on page (any URL)
change](https://www.loom.com/share/1e884b6ba11c4b59bc74f51df3690131?sid=9b53e78b-6535-4541-b676-377760366cf4)

- [x] Changes file added for user-visible changes in `changes/`,
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-10-22 10:52:20 -07:00
jacobshandlingandJacob Shandling ad9c919219 Frontend – Custom MDM URL UI, Update data validation pattern (#22727)
## #22700 


![ezgif-6-801855a36d](https://github.com/user-attachments/assets/72ddd339-acfa-4afe-a322-c1e6a2a38dd2)

- [x] Changes file added for user-visible changes in `changes/`, 
- [ ] Manual QA for all new/changed functionality - TODO when backend is
ready

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-10-22 10:10:50 -07:00
Jacob ShandlingandJacob Shandling 185ec23ee2 Add form validation logic pattern (#18548)
Merging during freeze as this is an internal engineering doc update with no necessary QA nor potential impact on the Fleet binary.

## Weekly update to `patterns.md` with decisions from frontend sync

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-05-16 12:48:05 -07:00
17d40562b7 Update frontend pattern doc (#18225)
- Update frontend patterns doc per discussion during today's sync

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: RachelElysia <rachel@fleetdm.com>
2024-04-24 15:26:08 -07:00
Jacob ShandlingandJacob Shandling 77c8adf4bb Add frontend dev pattern for handlers (#18061)
Pattern doc updates per today's frontend sync

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-04-04 10:16:19 -07:00
7550fd69fa UI – Team-level host expiry setting (#16276)
## ➡️ #15965 

Without global setting:

![Screenshot-2024-01-24-at-12035PM(1)](https://github.com/fleetdm/fleet/assets/61553566/a98007a4-21b2-4f55-84e3-f58cf529af43)

With global setting:

![Screenshot-2024-01-24-at-12925PM(1)](https://github.com/fleetdm/fleet/assets/61553566/e6d20038-d2c2-4f75-a82e-3d4c0c8cb1fd)

 
- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Sharon Katz <121527325+sharon-fdm@users.noreply.github.com>
2024-01-25 18:19:49 +00:00
Jacob ShandlingandJacob Shandling 65d64b67a6 Document props pattern (#15497)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-12-21 09:24:18 -08:00
Gabriel Hernandez d9979a3cf8 add docs for Frontend typescript patters (#11502) 2023-05-04 19:17:46 +01:00
RachelElysia 40d787aec9 Fleet UI: URL routes for dashboard platforms (#8689) 2022-11-17 10:45:35 -05:00
Gabriel Hernandez 55bf0cea6a change label filter dropdown icon match status dropdown and extend icon component (#8337) 2022-10-19 17:44:27 -05: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
RachelElysia 93e684d524 Frontend: Cleanup implied types, unused imports and variables (#7439) 2022-09-01 11:28:02 -04:00
Gabriel Hernandez 75b166f8c6 add UI patterns documentation (#6878) 2022-07-27 18:36:39 +01:00