Commit graph

179 commits

Author SHA1 Message Date
RachelElysia
06c2b5cc23
FE: 22916 followup code cleanup (#23306) 2024-10-31 11:14:55 -04:00
RachelElysia
c4ed4feb8f
Fleet UI: Fix silly truncation of table item names (#23353) 2024-10-30 13:49:46 -04:00
RachelElysia
2a756088f1
Fleet UI: Accessibility button actions, tabbing (#22916) 2024-10-25 11:02:52 -04:00
jacobshandling
de7c792945
Restore intended flash messages (#23152)
Addresses #23139 and #23141

- Remove a premature `return` that prevented subsequent `renderFlash`
from firing
- Fix order of `push` and subsequent `renderFlash` for correct behavior
- Check codebase for additional instances of problematic `push` calls
_after_ associated `renderFlash` calls via regex
`\renderFlash\([\s\S\n]{0,400}router\.push/`
- Misc cleanup


![ezgif-6-c49d5d0432](https://github.com/user-attachments/assets/40a96439-7647-45ec-8847-5b0c85b448aa)


- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-10-23 14:09:14 -07:00
jacobshandling
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
jacobshandling
841a425bb0
UI – Display whitespace of existing, trim names on create/update of team and query names (#22524)
## #22212

- Trim whitespace from names on field blur, form submit, and in API
calls when:
   - Creating a team
   - Updating a team
   - Creating a query
   - Updating a query
- Refactor `AutoResizeInputField` to remove its internal state-based
management of its value, leaving its `value` prop as the single source
of truth for the field's value at all times.

[Loom
demo](https://www.loom.com/share/882f4a803b1540db985c987adbd9f441?sid=67caf100-4711-41a3-971f-bc8f67beeae7)

- [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-03 15:59:10 -07:00
RachelElysia
348d381ad1
Fleet UI: Edit team name closes modal (#22414) 2024-09-27 07:59:10 -07:00
Gabriel Hernandez
3599c2b49a
show errors for restricted team names, "all teams" and "no team" (#22043)
relates to #21971

Show error messages when trying to create a team called "All teams" and
"no team"

**all teams error:**


![image](https://github.com/user-attachments/assets/de00754c-176c-4362-9243-ce97719dff74)

**no team error:**


![image](https://github.com/user-attachments/assets/7b41e760-1779-4b53-8ba9-8ca12d84493a)


- [x] Manual QA for all new/changed functionality
2024-09-12 18:28:12 +01:00
Jahziel Villasana-Espinoza
557c5d102f
fix: prevent creating teams with reserved team names (#21727)
> Related issue: #21246

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [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/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-09-05 17:44:09 -04:00
jacobshandling
c6709f8e95
UI – Update run script error messages per newly dynamic Timeout setting (#20138)
## Addresses #19876 

<img width="703" alt="Screenshot 2024-07-09 at 11 47 38 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/9fe15657-915b-4ed6-809d-7c6a2398dfff">


- [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-07-10 13:56:30 -07:00
RachelElysia
a5dc73b42a
Frontend of iOS/iPadOS as platforms/labels (#20157) 2024-07-09 09:18:00 -04:00
RachelElysia
b221a6e95e
Fleet UI: Update to consistent button styling (#20247) 2024-07-09 09:09:18 -04:00
jacobshandling
0b45afcaa8
UI - update empty styles in 5 places (#20079)
## Addresses #19557 
<img width="143" alt="Screenshot 2024-06-27 at 1 44 12 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/e9ad83b2-dda4-4972-b8c2-412389e45823">
<img width="177" alt="Screenshot 2024-06-27 at 1 44 25 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/bb5f808e-0d5a-47cc-84ed-f55797caebfe">
<img width="210" alt="Screenshot 2024-06-27 at 1 49 47 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/2dff046b-6cfa-45fa-8a0c-93ab46e2c8a9">
<img width="194" alt="Screenshot 2024-06-27 at 1 56 56 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/fdaaeac8-e944-427b-917e-87b98ae763b9">
<img width="238" alt="Screenshot 2024-06-27 at 4 39 22 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/bb774af5-07c0-44b6-994f-dc787c5bf606">

- [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-07-03 09:40:03 -07:00
Noah Talerman
0076148a79
Docs: GitOps reference (#19740)
Docs for Fleet's best practice GitOps: #13643 (also #17043)
2024-07-02 11:11:43 -04:00
RachelElysia
3fb803c480
[unreleased bugs] Fleet UI: Fix missing counts (Update all tables to use renderCount) (#19834) 2024-06-18 12:33:52 -04:00
Jacob Shandling
c73904ec8c
UI – Place all TooltipWrapper tooltips on the bottom (#19002)
## Addresses #18741 
<img width="727" alt="Screenshot 2024-05-14 at 3 26 20 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/671c680e-00db-4481-a7b3-5425bf6a610d">

- [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-05-24 14:30:54 -07:00
Roberto Dip
08866bcc1c
fix js-lint CI check (#18542)
it's currently failing on `main`
2024-04-25 16:27:34 -03:00
Rachael Shaw
2c9978ef21
Use "Fleet's agent (fleetd)" naming in the UI (#18238)
For https://github.com/fleetdm/fleet/issues/16512

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-04-25 10:33:29 -05:00
Jacob Shandling
0f74ae0109
UI – Handle missing / null smtp_settings (#17850)
## Addresses #17065

Settings cleanly renders as empty and disabled despite nonexistent
`smtp_settings` from config response:
![Screenshot 2024-03-25 at 3 52
05 PM](https://github.com/fleetdm/fleet/assets/61553566/85c2a9af-7cc2-48b7-9ecf-604496813204)

- [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-03-26 17:15:26 -07:00
RachelElysia
6d965426e0
Fleet UI: Users can see a tooltip on a disabled checkbox (#17664) 2024-03-26 09:55:49 -04:00
Gabriel Hernandez
3c2e4b8f4a
update UI to react 18 (#17471) 2024-03-13 19:09:16 +00:00
Jacob Shandling
eaf8f41dd0
UI - add missing null handling on team settings (#17548) 2024-03-11 17:05:30 -05:00
Jacob Shandling
a1f85f8b26
UI – refactor custom dropdown option logic, apply it to the global and team host status webhook settings (#17518)
## Addresses #17496
- Encapsulate logic for generating custom dropdown options
- Apply that logic to the team and global host status webhook settings
forms, as well as the edit query form
- Hide and show global host status webhook setting fields to match the
fresher UX of the team setting

![Screenshot 2024-03-08 at 5 56
39 PM](https://github.com/fleetdm/fleet/assets/61553566/59c618f1-e955-4ee8-abfe-ca9a3a7c7362)

- [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-03-11 11:27:34 -05:00
Jacob Shandling
d477369ed3
UI - remove fancy error state logic on team settings (#17356)
## Updates feature per
https://github.com/fleetdm/fleet/pull/17285#issuecomment-1977457175
https://www.loom.com/share/c10941c7e2e74b4cb55c31427e0f5886
- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-03-04 15:08:30 -08:00
Jacob Shandling
4b1ce1d518
UI – Per-team host status webook feature (#17285)
## Addresses #17091


![Screenshot-2024-02-29-at-91723PM(1)](https://github.com/fleetdm/fleet/assets/61553566/39b7013f-3d41-404a-9526-80db034679eb)

**also addresses #17286, #17287 and miscellaneous code improvements** 

- [x] Changes file added for user-visible changes in `changes/` 
- [x] Manual QA

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-03-04 13:24:26 -08:00
RachelElysia
2a6e94a55e
Frontend tech debt: Cleanup {} around strings (#16592) 2024-02-23 09:57:18 -05:00
RachelElysia
bdceb29559
Fleet UI: Rename team modal aptly named rename team (#17026) 2024-02-22 09:02:58 -05:00
RachelElysia
0f727001d7
[Styling released bugs] Fleet UI: Consistent capitalization, consistent empty state header (#16883) 2024-02-15 13:32:55 -05:00
Sarah Gillespie
94af293ec6
Fix issues with admin settings pages UI resetting dropdown menus on unrelated state changes (#16468) 2024-02-07 09:59:31 -06:00
RachelElysia
379ab87805
Fleet UI: Unreleased missing word (#16619) 2024-02-06 10:52:41 -05:00
RachelElysia
42cfce3ee1
Fleet UI: Replace references of team members for users (#16515) 2024-02-05 14:11:01 -05:00
Jacob Shandling
55dca926db
UI – Team host expiry: remove section heading bottom border (#16442)
## Follow-up to #15965 – remove border bottom to align with updated
styling elsewhere in the UI

@rachaelshaw approved

<img width="731" alt="Screenshot 2024-01-29 at 4 25 28 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/cc09bcd3-664c-482a-97d4-da5c70573e48">

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-01-30 10:08:57 -08:00
Jacob Shandling
07366e9497
UI – remove problematic legacy .body-wrap, apply UI-standard .core-wrapper and .main-content to DUP (#16310)
## More global solution to #16277, cleanup to prevent similar bugs

- Swap out [localized
solution](https://github.com/fleetdm/fleet/pull/16287) for standard
`.main-content` containing desired padding
- Apply `.core-wrapper` class to parent, in line with all other UI pages
- Remove problematic legacy `.body-wrap`
  - spot check all places this class was being applied:
    - PlatformWrapper
    - LiveQuery –> SelectTargets (was causing excess padding here)
    - PackQueriesTable (caused excess padding here)
    - TeamManagementPage (excess padding was being locally negated)
    - EditQueryPage
    - LiveQueryPage
    - DeviceUserPage
  - Remove local styles meant to negate `.body-wrap`'s styles

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-01-25 18:48:38 +00:00
Jacob Shandling
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
RachelElysia
c937305370
Fleet UI: Fix header styling to all use SectionHeader component (#16217) 2024-01-19 10:50:53 -05:00
Jacob Shandling
67c45d5417
UI – refactor forms and form fields (#16159)
## Addresses #15325 

- Define shared global styles for forms (`form` and `.form`s) and
`.form-field`s
- Sweep through the app, updating each form from being locally styled to
first prioritizing the global styles and only defining local styles
where needed for custom behavior
- Remove lots of unnecessary nesting of elements
- Other small bug fixes and improvements

### Samples, before (L) | after (R):
**Save query modal**
![Screenshot 2024-01-17 at 11 49
14 AM](https://github.com/fleetdm/fleet/assets/61553566/14f209fb-31db-41ef-8e63-e0d8994698c1)

**Edit query form**
![Screenshot 2024-01-17 at 11 50
35 AM](https://github.com/fleetdm/fleet/assets/61553566/b07e70ea-3095-4e4f-be73-95a3c499839b)

**Add hosts modal**
![Screenshot 2024-01-17 at 11 51
48 AM](https://github.com/fleetdm/fleet/assets/61553566/4ef1f410-a823-41d1-b2f6-ea8eb5231f93)


## QA Plan:
@xpkoala here's the same list from the issue, freshly de-checked for you
to use if it's helpful:
* Please check error states of each field

#### Specified by issue:
##### In "Save query" modal:
- [ ] Reduce space between checkboxes and their help text to 8px/0.5rem
for the following fields:
   - [ ] Observers can run
   - [ ] Discard data 
- [ ] Update the following checkbox labels to have normal font weight
(not bold):
   - [ ]  Discard data

##### On "Edit query" page:
- [ ] Update the following checkbox labels to have normal font weight
(not bold):
   - [ ] Observers can run
   - [ ] Discard data

##### In "Add hosts" modal, for copy text fields: 
- [ ]  match typical form form field styles
- [ ] Adjust the positioning of the copy icon to keep it from being too
far down

##### Further locations to check
- [ ] ChangeEmailForm.jsx 
- [ ] ChangePasswordForm.jsx 
- [ ] ConfirmInviteForm.jsx 
- [ ] ConfirmSSOInviteForm.jsx
- [ ] EnrollSecretModal.tsx
- [ ] ForgotPasswordForm.jsx
- [ ] LoginForm.tsx
- [ ] EditPackForm.tsx
- [ ] (New)PackForm.tsx
- [ ] AdminDetails.jsx
- [ ] ConfirmationPage.tsx
- [ ] FleetDetails.jsx
- [ ] OrgDetails.jsx
- [ ] ResetPasswordForm.tsx
- [ ] UserSettingsForm.jsx
- [ ] EditTeamModal.tsx
- [ ] IdpSection.tsx 
- [ ] DeleteIntegrationModal.tsx
- [ ] IntegrationForm.tsx 
- [ ] EndUserMigrationSection.tsx
- [ ] RequestCSRModal.tsx
- [ ] Advanced.tsx 
- [ ] Agents.tsx 
- [ ] FleetDesktop.tsx
- [ ] HostStatusWebhook.tsx front
- [ ] Info.tsx 
- [ ] Smtp.tsx 
- [ ] Sso.tsx 
- [ ] Statistics.tsx
- [ ] WebAddress.tsx
- [ ] CreateTeamModal.tsx
- [ ] DeleteTeamModal.tsx
- [ ] EditTeamModal.tsx
- [ ] AgentOptionsPage.tsx
- updated the layout of this page to align with the rest of the forms in
the UI – can easily revert if it's not what we want
- [ ] AddMemberModal.tsx
- [ ] RemoveMemberModal.tsx
- [ ] UserForm.tsx 
  - Used by both `EditUserModal` and `CreateUserModal`
  - A few different conditions that cause different rendering behavior 
- [ ] DeleteHostModal.tsx
- [ ] TransferHostModal.tsx
- [ ] LabelForm.tsx
- [ ] MacOSTargetForm.tsx
- [ ] WindowsTargetForm.tsx 
- [ ] BootstrapPackageListltem.ts
- [ ] EndUserAuthForm.tsx
- [ ] PackQueryEditorModal.tsx
- [ ] PolicyForm.tsx 
- [ ] SaveNewPolicyModal.tsx
- [ ] ConfirmSaveChangesModal.tsx
- [ ] Query automations modal
- [ ] Policy automations modal - addresses #16010 
- [ ] SoftwareAutomationsModal

## Checklist for submitter
- [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>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
2024-01-18 10:48:44 -05:00
Jahziel Villasana-Espinoza
6dc9d2f6f0
fix: return better error when password is too long (#15875)
> Relevant issue: #15625

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-01-03 17:24:28 -05:00
Jacob Shandling
333674b051
UI – Host query report page (#15511)
## Addresses second major part of #15011  (item 3) – Host query report

_Note for reviewers: The most important files here are:_
- HostQueryReport.tsx
- HQRTable.tsx
- HQRTableConfig.tsx

_The rest are associated API services, interfaces, helpers, routes,
styles, and miscellanious code improvements I made along the way._

____________

### See linked issue for enumeration of feature-related tasks

<img width="1230" alt="Screenshot 2023-12-08 at 4 23 50 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/4ae4b41b-9209-4afa-ae50-8844d01ff8fd">

<img width="1230" alt="collecting"
src="https://github.com/fleetdm/fleet/assets/61553566/061ac2bc-899f-4b29-91ba-36ebecf5ce58">

<img width="1230" alt="Screenshot 2023-12-08 at 4 24 39 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/f8b25e01-fe3b-47e6-b980-eba9538b1a01">

<img width="1230" alt="Screenshot 2023-12-08 at 4 25 01 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/46360274-8500-494c-8fb7-3a1d45347ce0">

Re-routes to host details > queries if:
- query reports are globally disabled:

https://github.com/fleetdm/fleet/assets/61553566/ac67da8c-57bc-4d9b-96be-daf3b198e704

- query has `Discard data` enabled:

https://github.com/fleetdm/fleet/assets/61553566/b797dd24-9893-4360-bf40-b80298848864

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-12-08 16:54:24 -08:00
Jacob Shandling
bf8504a028
Refactor Tooltip Wrapper (#13845) 2023-11-07 13:15:49 -08:00
Jacob Shandling
36be3d14a1
UI – Refrain from clearing the auth_token and redirecting to login for errors specific to this scenario (#14911)
## Addresses #12968


https://www.loom.com/share/37aaaa36936b47079ff3088c3430e36b?sid=c249306b-a32e-4a33-be83-aae2d13c98aa

- Improve the implementation of error reporting by `sendRequest` to
handle when AxiosError information is being provided in different fields
(`response`, `message`, `code`, or nowhere), as opposed to relying on
only the `response` field, which is empty in some (including this)
situations
- Using the more fine-grained reporting above, exempt `Request aborted`
errors when fetching a user's data, which is what occurs here, from
triggering a token clear and login page redirect.
- Use dedicated token handling utilities everywhere

## Checklist for submitter
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-11-03 08:32:41 -07:00
Marko Lisica
8162d052bf
Icons improvements (making frontend consistent with Figma component library) (#14185)
# Checklist for submitter

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

- [ ] Manual QA for all new/changed functionality

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2023-10-31 16:06:38 +00:00
Jordan Wright
bcb70fad41
Fleet UI: Fix agent options link (#14403) 2023-10-13 14:34:00 -04:00
RachelElysia
d8d28184f5
Fleet UI: Disable 1password autofills in random inputs (#13762) 2023-09-11 10:01:31 -04:00
Jacob Shandling
48156009fa
Frontend – clean up breakpoints (#12711)
## Improve breakpoint variables to be useful "sm", "md", etc. instead of
the pixel widths they are set to

Also made sure all media queries are using these variables instead of
hard-coded values.

See @lukeheath's previous to-do in `frontend > styles > var >
breakpoints.scss`

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-07-12 15:45:49 -07:00
Lucas Manuel Rodriguez
ed92176194
smtp_settings and sso_settings are not returned to non-global-admins anymore (#12256)
#12248
2023-06-09 15:29:11 -03:00
RachelElysia
3d4aadba3e
Fleet UI: Update icons (All icons related to action buttons/table container actions) (#11945) 2023-05-30 17:16:47 -04:00
RachelElysia
210d8d8b8a
Fleet UI: Begin updating icons (6 icons only) (#11852) 2023-05-25 09:43:44 -04:00
RachelElysia
7470ea8dac
Frontend: Consolidate table button props into objects (#11586) 2023-05-11 15:25:56 -04:00
Jacob Shandling
cb58849d95
Fleet Premium to Sandbox (#11372)
## Addresses #9371 
### Adds a suite of UI logic for premium features in the Sandbox
environment

For reviewer: please review the work for the below 3 substasks, which
are the only remaining subtasks encompassed by this PR that have not yet
passed review individually:
  - #10822 (9)
  - #10823 (10)
  - #10824 (11)

## Checklist for submitter
- [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>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2023-04-27 08:53:30 -07:00
Luke Heath
d3781b1945
Refresh teams after adding or editing teams (#11095) 2023-04-09 12:24:22 -05:00