Commit graph

187 commits

Author SHA1 Message Date
Jacob Shandling
cecb96e828
Live query performance improvements (#11995)
## Addresses #11856 

Improve performance of the rendering of live query results by:
- rendering the table on a set interval instead of with each new result
- preventing redundant rerenders of various sorts



Partial run, with memory leak:
<img width="2552" alt="partial run with memory leak, after smaller
optimizations, before debouncing queryResults"
src="https://github.com/fleetdm/fleet/assets/61553566/5288bffb-6940-43da-9083-59adb4a25916">

Full run after debounce, no memory leak (10x improvement of max JS heap
size):
<img width="2559" alt="full run after debounce, no memory leak"
src="https://github.com/fleetdm/fleet/assets/61553566/be056610-e7a5-4289-a433-1070cf016e83">

**NOTE** - there are further optimizations to try on this page, and the
debounce interval can potentially be shortened to improve UX. In
experimenting with that, it's not immediately clear what a good balance
of UX / performance is. Since the customer seems keen to solve this, I
think we should merge as-is and send them a demo build to confirm this
fixes their problem, then iterate once they've confirmed it does.

# 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] Manual QA for all new/changed functionality

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Sarah Gillespie <sarah@fleetdm.com>
2023-06-06 16:23:09 -04:00
RachelElysia
206c1e60df
Fleet UI: Add ChromeOS to view and run queries (#11992) 2023-06-06 08:58:32 -04: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
Luke Heath
162b709eb2
Adjust bold weight (#11905) 2023-05-23 16:24:01 -05:00
RachelElysia
7470ea8dac
Frontend: Consolidate table button props into objects (#11586) 2023-05-11 15:25:56 -04:00
Gabriel Hernandez
d027036985
add figma to storybook and a couple new stories (#11521)
add figma addon to storybook that allows us to link figma designed to
our storybook
2023-05-09 16:53:43 +01:00
RachelElysia
affd32a62b
Fleet UI: Manage queries page URL params (#11485) 2023-05-08 09:17:19 -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
RachelElysia
e774f60838
Fleet UI: Ability to navigate to correct Host details software tab (including sorts, filters, page number) (#11208) 2023-04-27 09:24:02 -04:00
RachelElysia
396b5eaae4
Fleet frontend: Fix frontend export warnings where improperly exported interfaces (#11291) 2023-04-25 08:44:08 -04:00
RachelElysia
3908e63b64
Fleet UI: Manage Host and Manage Software uses URL params as source of truth (#11253) 2023-04-24 09:24:28 -04:00
Jacob Shandling
7a1ee3a97d
Scroll bug fix (#11061)
## Addresses #9988

Manual QA 

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-04-07 11:56:14 -07:00
Jacob Shandling
5445559c76
UI: Address tooltip in headers spacing bug (#10792)
## Addresses #9988

* Adjust copy in tooltips to take up less width
* Refactor table headers to take an optional "isLastColumn" property
that is set to true when that header is in the last column.
* Use above property in conjunction with presence of TooltipWrapper as a
value for the header cell to add a class specific to that state.
* Use that class to adjust the location of the tooltip text and the
min-width of the column to avoid the bug.

The 3 states which exhibited this bug, now fixed:
<img width="1496" alt="Screenshot 2023-03-27 at 4 36 01 PM"
src="https://user-images.githubusercontent.com/61553566/228091971-4d5d034d-55c5-4921-955a-4946119f7785.png">
<img width="1496" alt="Screenshot 2023-03-27 at 4 36 12 PM"
src="https://user-images.githubusercontent.com/61553566/228091968-adf90b32-8fd2-45d9-b56d-a64c654151ef.png">
<img width="1496" alt="Screenshot 2023-03-27 at 4 36 24 PM"
src="https://user-images.githubusercontent.com/61553566/228091962-ff626daa-b13d-4093-b34f-de704b820161.png">

# 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] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-04-04 10:25:07 -07:00
Jacob Shandling
bac97cea7b
UI: Ensure TextCell is always greyed when no value passed in (#10696)
# Addresses #10038 

- Add logic to ensure consistent light-grey coloring of text cells using
DEFAULT_EMPTY_VALUE
<img width="622" alt="Screenshot 2023-03-22 at 4 06 30 PM"
src="https://user-images.githubusercontent.com/61553566/227058308-2c35e0b3-7017-4a0d-9e60-d03d46194f55.png">

# 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] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-03-23 09:32:46 -07:00
Jacob Shandling
faa65ac350
UI: Add column for published date to Vulnerabilities table (#10656)
## Addresses #9834 
<img width="1215" alt="added date to vuln table"
src="https://user-images.githubusercontent.com/61553566/226730586-4165f5c9-2a42-4378-b58b-7900838a8707.png">

## 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 tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-03-23 09:32:32 -07:00
RachelElysia
04169ec84b
Fleet UI: Critical icon on policy table (#10313) 2023-03-06 15:57:15 -05:00
RachelElysia
1dcf9781ab
Fleet UI: Select targets distributed interval tooltips (#9975) 2023-02-22 16:27:02 -05:00
Jacob Shandling
a578e20930
UI: Add macOS settings (profiles) indicator and modal with data table (#9809)
# Addresses #9413

# Implements
https://www.loom.com/share/d1b66a3076b94bf2add4fcf8666649a4

- macOS settings indicator on host details and device user pages. Only
displayed if (1) the host is enrolled in a Fleet MDM server and (2) the
host has at least one setting (profile) enforced.
- macOS settings modal, toggled by clicking on above indicator. Contains
a data table with the name, status, and error messages, if any, of each
enforced macOS setting on the host.

# Notes
- To aid in reviewing, you'll probably want to focus on:
-
[DeviceUserPage.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-be9f14d3cee9f345058212985c26b3452688c6d75853a5e9dcb968a69dfcbbd7)
and
[HostDetailsPage.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-72f7403682d211fc8a84a411fc39c4a33c3eb6a33549a33f1179dd7da6a893cc)
-
[HostSummary.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-435e720f1ad82e892bec00fbc9c14e01e9488b776ae293f9158500c66d85bd0d)
-
[MacSettingsIndicator.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-e23079f72b13bd34eb978eded467265dad4f366a6fece60cd52c887f355f92d1)
-
[MacSettingsModal.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-75a08aa5b66cc2b63fc616d8ba012e552376f23d3c3df01d875586857f326f53)
-
[MacSettingsTable.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-5dc441b06f770f112bb32bb618e2140e9bbccb7ebf80d86ee57c2754e067a421)
and its associated
[MacSettingsTableConfig.tsx](https://github.com/fleetdm/fleet/pull/9809/files#diff-0ab0cb34e249e2a41bf51508d38bea018dc5e683b705308250241c42549ab093)
   
- Currently using mock data. Once #9599 is completed, #9888 will change
these components to use the real data
- 2/21 - removed mock data. Until the API returns the host.mdm.profiles
data, settings indicator and modal will not render
# Checklist

- [x] Changes file added
- [x] Manual QA
- [x] Updated testing inventory

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-02-22 08:13:12 -08:00
RachelElysia
7f6a42e4ac
Fleet UI: Undetermined public ip tooltip (#9907) 2023-02-21 09:16:38 -05:00
Roberto Dip
314e8fe3d5
standardize a default value for empty cells (#9899) 2023-02-17 15:25:28 -03:00
RachelElysia
a09c4520ee
Fleet UI: Fix tables that bleed over on smaller screens (#9475) 2023-01-25 11:10:15 -05:00
RachelElysia
d9165084eb
Fleet UI: Safari hack to be able to triple click tooltip (#9466) 2023-01-24 10:04:47 -05:00
RachelElysia
2bbf9e0bb1
Fleet UI CX Customer Request: UUID tooltip (#9388) 2023-01-19 09:21:52 -05:00
Gabriel Hernandez
a2d672435d
update buttons to match new styleguide (#9183)
* update button to follow new style guide

* update button styles for inverted ghost buttons

* update a color name to match new styleguide
2023-01-05 15:23:27 +00:00
Jacob Shandling
f2bdf7139e
UI hackathon - add datetime details in tooltip for most "Last Xed" data presentations (#9166) 2023-01-05 09:08:27 -06:00
Luke Heath
dea1d6b66e
UI hackathon transitions (#9163) 2023-01-04 10:06:30 -06:00
RachelElysia
29feeeb768
Fleet UI: Rebase fix (#9040) 2022-12-15 12:06:09 -05:00
Jacob Shandling
665ed443b9
Refactor StatusCell to StatusIndicator (#8854)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2022-12-13 10:04:07 -08:00
RachelElysia
fa8ee026ff
Frontend: Unit tests /components directory, convert to svg icons (#8716) 2022-12-07 09:59:38 -08:00
RachelElysia
cde9877ecb
Fleet UI: Scroll shadows (#8914) 2022-12-06 12:58:32 -08:00
RachelElysia
68bc007519
Fleet UI: Unreleased fix header margin being added to tooltip margin (#8883) 2022-11-30 09:20:16 -05:00
RachelElysia
1e96f4f0fb
Fleet UI: Fix left align wrapping on software table (#8803) 2022-11-28 09:56:34 -05:00
Jacob Shandling
a568c28124
UI: Add {on|off}line status tooltips and refactor HostSummary to use StatusCell (#8750)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2022-11-22 14:15:17 -08:00
RachelElysia
fc11c0a06d
Fleet UI: Update icons (#8520) 2022-11-18 12:21:13 -05:00
RachelElysia
46a38daf3b
Fleet UI: Various dropdown fixes (#8645) 2022-11-10 11:55:43 -05:00
RachelElysia
3b668131a1
Frontend: New ViewAllHostsLink component (#8422) 2022-11-02 14:18:08 -04:00
RachelElysia
373378cdd6
Fleet UI: Dropdown and dashboard styling fixes (#8448) 2022-11-01 16:09:57 -04:00
RachelElysia
1aaf2d0b06
Fleet UI: Update styling of tooltips and modals (#8436) 2022-10-26 09:10:20 -04:00
Luke Heath
ed174c4847
Remove border around actions button (#8363) 2022-10-20 12:29:32 -05:00
Luke Heath
bc32662a3e
Use new display name property in live query results (#8268) 2022-10-19 17:24:42 -05:00
RachelElysia
5de3e571ae
Fleet UI: Truncated cells have responsive size tooltips, hides default browser tooltip (#8300) 2022-10-19 11:32:55 -04:00
RachelElysia
af1a8fc219
Fleet UI: Truncated cell truncates when changing screen width (#7613) 2022-09-07 15:12:37 -04:00
Luke Heath
c940aff65d
Fix failing policy count not appearing on host pages (#7460) 2022-09-07 16:58:53 +00:00
RachelElysia
f9737cdb48
Fleet UI: macOS dashboard Munki issues (#7096) 2022-09-02 17:05:07 -05:00
RachelElysia
55b844715d
UI: Consistent code for anchor elements, specifically external links (#6542) 2022-09-02 15:28:42 -04:00
Luke Heath
f08cf6c11c
Remove FreeBSD references from website, UI, and query library (#7279) 2022-08-24 16:03:35 -05:00
RachelElysia
5ee763457f
Fleet UI: Remove "Toggle SortBy" tooltip (#7240) 2022-08-18 08:51:31 -05:00
RachelElysia
18852aae66
Fleet UI: macOS dashboard MDM solutions (#7014)
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2022-08-15 17:47:07 -05:00
RachelElysia
9c7d2cfa60
Fleet UI: Set default pagination length to 20 (#7165) 2022-08-15 13:00:06 -04:00
RachelElysia
96925f9cf1
Fleet UI: Fix jumpy action dropdown (#6891) 2022-07-27 08:19:05 -04:00
RachelElysia
8d3de2a70a
Data table UI: Fix several ellipses to appear at end of cell only (#6829) 2022-07-25 16:26:52 -04:00
RachelElysia
b058365c4e
UI: Spiffier tooltip (#6642) 2022-07-15 15:10:35 -04:00
RachelElysia
fb32520866
Live query UI: Fix export bug (#6659) 2022-07-14 12:21:26 -04:00
gillespi314
1258048000
Relocate sort click handler if column filter (#6225) 2022-06-14 17:57:43 -05:00
gillespi314
7621a0b290
Show count of visible results after a column is filtered on live query page (#6199) 2022-06-13 18:20:57 -05:00
gillespi314
44f902218c
Improve live query UX (#5749) 2022-06-10 13:29:45 -05:00
gillespi314
db7424282b
Add software details page (#6089) 2022-06-08 14:01:38 -05:00
gillespi314
5d68a1fead
Add probability of exploit (EPSS score) to Software page in Fleet Premium (#5925) 2022-06-02 17:32:13 -05:00
gillespi314
2db2c16511
Include MIA hosts under total count for Offline hosts (#5854) 2022-05-23 14:11:02 -05:00
Luke Heath
c52604cfb7
Add policies to my device page (#5787) 2022-05-18 10:27:03 -05:00
Luke Heath
9b857d0233
Set selection header width on tables, fix queries icon (#5703) 2022-05-12 09:23:06 -05:00
Martavis Parker
384c987389
Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components

* component clean up

* removed redux from routes

* rename file

* moved useDeepEffect hook with others

* removed redux, fleet, app_constants dirs; added types to utilities

* style cleanup

* typo fix

* removed unused ts-ignore comments

* removed redux packages!!!

* formatting

* fixed typing for simple search function

* updated frontend readme
2022-04-22 09:45:35 -07:00
Martavis Parker
db5dc748d9
using ellipsis on policies table only for smaller screens (#5139) 2022-04-15 16:39:49 -05:00
gillespi314
fa8bfbd796
Extend sort functionality for policy status UI (#5078) 2022-04-13 11:08:37 -05:00
Luke Heath
d75cf11cec
Indicate that a policy's data is not yet accurate (#5031) 2022-04-11 15:21:34 -05:00
gillespi314
1a2123a358
Improve UI responsiveness for tables at narrower screen sizes (#4926) 2022-04-07 14:12:38 -05:00
Martavis Parker
cfb1474eb8
Auth Redux Removal (#4924)
* all login methods no longer use redux

* removed redux from registration

* redirect user from registration

* removed redux from sso invite

* removed redundant component

* refactored user settings page

* removed redux from logout

* cleaned up unused redux calls

* lint fixes

* removed test

* removed old config interface

* fixed registration bug

* team permission fix

* removed remaining redux references from pages - #4436

* better way to set config
2022-04-07 09:08:00 -07:00
gillespi314
1cf784999c
Extend client-side search across columns in UI tables (#4955) 2022-04-07 10:37:43 -05:00
gillespi314
d6e900db4b
Add macOS version information to UI dashboard (#4719) 2022-04-05 15:04:00 -05:00
RachelElysia
5cce257e1e
Host Details Page: Software vulnerability column (#4836) 2022-04-04 12:33:02 -04:00
Luke Heath
dbaef5a37b
Fix table headers showing or misaligned when selection is active (#4892) 2022-03-31 16:10:11 -05:00
RachelElysia
118ae6499b
UI Accessibility: Ability to tab through app (#4699) 2022-03-28 17:31:36 -04:00
RachelElysia
a022a11ebf
Frontend Tech Debt: Typescript types (#4319) 2022-03-10 10:10:44 -05:00
RachelElysia
0ffca38f77
Queries and Scheduled Queries UI: Performance impact tooltips (#4201) 2022-02-15 11:19:01 -05:00
gillespi314
d101ec7c18
Add ability to filter software by "Vulnerable" on the Host details page (#3875)
- Add new "Software" tab to host details page
- Add dropdown to filter vulnerable software
- Extend DataTable client-side filtering to accommodate filter inputs that are controlled by parent components
- Refactor host details software into separate component
2022-01-31 16:41:54 -06:00
gillespi314
4d5e3277ef
Add new feature: Software page (#3923)
* Add new software page
* Add hosts counts and last updated to software card on homepage
* Extend InfoCard component to all children to set dynamic title information and hyperlinks
* Add new TeamsDropdownHeader component
* Refactor TableContainer to move server-side pagination buttons to DataTable
* Extend DataTable to include footer element
2022-01-31 16:24:20 -06:00
gillespi314
fc44970f49
Fix bug in row select checkbox for table UI (#3798) 2022-01-19 18:22:45 -06:00
gillespi314
39b7c7d9f9
Add pagination and multi-column sort to live query results table UI (#3647)
* Refactor live query results to react-table
2022-01-13 11:06:32 -06:00
RachelElysia
e91b653703
Remove negations from frontend ternaries (#3509) 2021-12-29 11:46:47 -05:00
RachelElysia
66132c911f
Global Policies Automation UI (#3498) 2021-12-28 13:07:18 -05:00
Luke Heath
e75c5dbdaf
Clear selected hosts on transfer (#3430) 2021-12-22 11:07:12 -06:00
RachelElysia
1efbef70b0
Resize dropdown font, do not resize twice button icons inside headers (#2972) 2021-11-17 13:08:00 -05:00
Luke Heath
4619696036
Fix table layout styling on host details and query page (#2925) 2021-11-15 14:11:22 -06:00
gillespi314
86687a80cc
Add query author avatar; format last modified time (#2898)
Co-authored-by: Luke Heath <luke@fleetdm.com>
2021-11-12 16:45:53 -06:00
Luke Heath
af956537a1
More room for software names and keep tooltips visible (#2867) 2021-11-12 15:51:47 -06:00
gillespi314
249ca8482c
Add tab-based UI to host details page (#2878) 2021-11-12 13:43:29 -06:00
Luke Heath
d9556b3f7f
Perform client side filtering with react table (#2834) 2021-11-09 11:31:28 -06:00
Martavis Parker
bcfac603f0
Added components to Storybook library (#2768)
* added storybook

* added avatar component

* added button story

* added dropdown button story

* removed unused ellipsis component

* cleaned up modal path

* reorganized enroll secrets table file

* added flash story; removed unused persistent flash

* added fleet ace story

* added checkbox story

* added dropdown story

* added input story

* fixed storybook build

* fixed avatar

* added input with icon story

* added radio button story

* added select targets dropdown story

* added slider story

* added tooltip story

* added info banner story

* removed unused loaders; added spinner story

* added modal story

* removed unused NumberPill

* added pagination story

* lint fixes

* added documentation to run

* modified documentation

* fixed corelayout test

* fixed format for date-fns

* fixed date format that breaks tests

* wait for page
2021-11-06 23:41:09 -07:00
RachelElysia
7a22e71c69
Host Details Page: Hover rows for policies table and software table (#2808) 2021-11-05 09:29:03 -07:00
Martavis Parker
f1ed172ac5
Client side search for tables no longer debounce (#2807)
Relates to #2793.

Removed debounce from client-side search for tables because it conflicted with react-table's search mechanism.
2021-11-04 21:16:42 -07:00
RachelElysia
0fbb9ab45f
Pass fail UI for Policies app wide (#2769) 2021-11-03 13:13:58 -04:00
Luke Heath
5566fdf532
Adjust queries page table columns based on screen size (#2695) 2021-10-27 16:19:23 -05:00
gillespi314
cab1099890
Surface query-platform compatibility in FleetUI (#2640)
- Add functionality to parse sql for platform compatibility based on osquery tables
- Surface query-platform compatibility in create/edit query form
- Surface query-platform compatibility as new column in manage queries table
- Add filter-by-platform feature to manage queries table
- Refactor manage queries page to useQuery and useContext patterns
2021-10-25 13:00:32 -05:00
RachelElysia
36babcc510
UI feature: Frontend of performance impact bubbles (#2589)
Includes backend fixes and test
Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-10-22 16:05:49 -04:00
RachelElysia
403ef5cc59
Dev X: Destructure props in functional component's argument (#2582) 2021-10-22 11:34:45 -04:00
RachelElysia
61e0f37cc6
Manage Host Page: Host issues column with tooltip icon (#2554) 2021-10-19 14:15:48 -04:00
RachelElysia
57150fde6c
Host Details Page: Paginate user and software tables (#2464) 2021-10-18 15:14:24 -04:00
RachelElysia
d58d9507b8
Bug Fix: Loading veil (#2538) 2021-10-18 13:42:54 -04:00
Luke Heath
6717bd5d61
Adjust data table column widths (#2384) 2021-10-06 11:55:57 -05:00
RachelElysia
a2fe3bae7e
Edit Packs Page: Refactor and revamp (#1400)
* New query pack table renders
* services/entities created/updated with 5+ needed APIs requests for EditPacksPage
* Refactor jsx to tsx PackQueriesListWrapper, EditPackForm, EditPackPage
* Refactor to new patterns on useQuery, useEffect, and useState
* Refactor to new pattern formData formatting
* Edit, remove pack query modals
* e2e test: packflow built to test create, update, delete of pack, fix brittle teamflow
2021-10-04 16:26:10 -04:00