Commit graph

51 commits

Author SHA1 Message Date
Luke Heath
5f8ec9d780
Add padding above query title on edit query page (#5323) 2022-04-26 10:38:56 -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
RachelElysia
bed53535bb
Query Results Page: Show query modal (#5165) 2022-04-20 14:12:53 -04:00
RachelElysia
9ea6fe5efa
New query and new policy: Identify optional fields to users (#5167) 2022-04-20 08:48:47 -04:00
gillespi314
fa8bfbd796
Extend sort functionality for policy status UI (#5078) 2022-04-13 11:08:37 -05:00
RachelElysia
2eeb9142b3
UI: Sort live queries/policies (#5060) 2022-04-11 17:17:24 -04:00
gillespi314
ab85963cbd
Handle UI error parsing invalid sql (#5016) 2022-04-11 15:18:31 -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
Martavis Parker
3575d34507
Refactor Redux-triggered flash message component (#4795)
* base logic to handle rendering a notification without redux

* removed dispatches for new flash mesage triggers

* query page wrapper is no longer needed

* refactored confirm invite page to remove redux

* refactored email token redirect to functional and typescript

* refactored pack composer page to functional and typescript

* clean up

* lint fixes

* tests no longer needed

* fixed confirm sso invite test

* test fix

* fixed test

* fixed tests

* removed redux from flash on rebased pages
2022-03-31 23:42:26 -07:00
RachelElysia
cf34466e7f
Live query percent fix (#4768) 2022-03-23 14:50:16 -04:00
gillespi314
deeaf9d036
Add ability to detect compatibility and update which hosts are checked for a policy (#4703)
Add new usePlatformSelector custom hook
Add new usePlatformCompatibility custom hook
Add new PlatformSelector global component
Refactor PlatformCompatibility as global component
Refactor sql_tools to TypeScript
Improve type definitions for context/policy
Align PolicyPage and QueryPage with platform compatibility changes
2022-03-21 11:51:00 -05:00
Martavis Parker
aed9e3aa1e
Minimize Redux in pages where possible (#4614)
* removed redux from settings wrapper

* removed redux rooute push from team details

* removed redux route push from user management

* removed redux from forgot password

* removed unused function

* removed redux from login successful page

* removed redux push route from edit pack

* removed use of redux push route from pack composer

* removed use of redux route push from manage queries

* removed use of redux route push from query form

* removed use of redux route push from schedule

* lint fixes

* created sessions service

* removed redux route use from login

* lint fixes

* fixed and removed unnecessary tests
2022-03-21 08:35:24 -07:00
gillespi314
bbb21c3096
Fix style bug (#4599) 2022-03-15 11:27:11 -05:00
RachelElysia
a022a11ebf
Frontend Tech Debt: Typescript types (#4319) 2022-03-10 10:10:44 -05:00
RachelElysia
4abd85b5b0
Global RevealButton: Refactor dropdown buttons (#4447) 2022-03-09 13:00:37 -05:00
RachelElysia
02fa778788
Refactor Query/Policy UX (#4334) 2022-03-07 15:10:23 -05:00
RachelElysia
fa3df0347b
Debounce, onchange, changelog (#4413) 2022-03-03 08:26:03 -05:00
Martavis Parker
33c5f0651c
New tooltips! (#4326)
* Allow sort by more than one key

* created custom tooltip component

* remove unused code

* fixed style for more layouts

* added tooltip to query side panel

* tooltips added to setting form

* finished settings form

* added tooltip for perf impact table headers

* tooltip for pack table and user form

* tooltip on manage policies page

* tooltip for manage schedules

* tooltip for automations; spacing for form input

* tooltip for automations modal

* user form; fixed input with icon component

* more user form tooltips

* tooltip for homepage; style fixes

* replaced many more tooltips with new version

* added story for tooltip

* added position prop

* fixed tests

* re-work how we click react-select dropdowns

* forcing the update button click

* trying a blur

* fixed typo

* trying blur on another element

* temp check-in

* replaced tooltip from host details software

* more consolidation of tooltip use for software

* fixed settings flow test

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2022-02-28 13:25:06 -08:00
RachelElysia
f345446125
Edit Query Page: Fix UX for "Save as new" CTA (#4235) 2022-02-17 14:58:47 -05:00
Martavis Parker
d536aad63e
Removed moment.js in favor of date-fns (#4238)
* removed moment.js in favor of date-fns

* updated yarn and unit test

* fixed e2e test
2022-02-16 15:01:05 -08:00
RachelElysia
bb11f5008f
Frontend tech debt: Clean up 409 lint warnings (#3703)
* Clean up unused variables, return types, many quick type any
2022-02-14 17:11:12 -05:00
RachelElysia
7bca25a803
Show observer query's OS compatibility (#4140) 2022-02-10 10:40:04 -06:00
Luke Heath
5866d68f13
Set max length for name inputs (#4063) 2022-02-08 19:40:38 -06:00
RachelElysia
cb43400932
In label error state for duplicate query/policy name (#4052) 2022-02-07 12:28:33 -06:00
Luke Heath
14d36d8e4d
Refine and improve policy and query editing interface (#4004) 2022-02-04 15:30:27 -06:00
Tomas Touceda
35f806f7d1
Merge Release candidate 4.9.0 into main (#3844)
* Better jitter (#3716) (#3744)

* Better jitter (#3716)

* Better jitter

* Fix lint

* Use milliseconds

* Make duration milliseconds

* Update based on Lucas' suggestion

* Add changes file

* Panic on error

* Fix compilation error

* Use time.after instead of time.tick to not leak

* Include browser extensions in software inventory (#3733) (#3757)

Use appropriate JOINs against users table to include all results.

For #3557

* Build Docker images on push to any branch (#3756) (#3758)

Allows for testing release branches and any others.

* Optimize users detail query (#3754) (#3770)

@Smjert reported instances of Windows Domain Controllers having massive
resource utilization and being killed by the watchdog when running this
query. In his test environment, this new query performs much better.

* Refactor async host processing to avoid redis SCAN keys (for policies) (#3657) (#3755)

* Issue 3707 clean targets on delete (#3739) (#3776)

* wip

* Delete targets when deleting teams, hosts, and labels

* Add changes file

* Fix error message

* Remove unused teamsTable

* Cleanup new pack

* Clean new packs at end of test

* Update operating system policy (#3779)

- Update policy's query to check for operating system versions greater than or equal to

* Improve loading of manage policies page (#3695) (#3781)

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* Fix logo (#3765)

* fixed duplicate query modal not closing (#3787)

* fixed style for connection line on activity feed (#3789)

* Improve loading state for query platform compatibility (#3752) (#3783)

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* Disable pagination for teams page (#3794)

* Shorten "simple" query API period to 25s (#3775) (#3804)

This helps the period stay under the default request timeouts for most
load balancers.

Some default timeouts:
* AWS ALB - 60s
* Nginx - 60s
* GCP LB - 30s

* Clear user checkbox selections after successfully removing selected row from table UI #3798 (#3801)

* Alias fleetctl sandbox to fleetctl preview (#3803) (#3806)

Preparing for some work the product team is planning to rebrand preview
to sandbox.

* Remove flash of spinner to no spinner (#3799)

* Revert "Better jitter (#3716) (#3744)" (#3807)

This reverts commit c857b52d2b.

* Fix teams dropdown sizing (#3759) (#3810)

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>

* fixed link for expiration message (#3788)

* Fixed empty string for compatible platforms (#3812)

* fixed empty string for compatible platforms

* default checked for platforms on policy query

* Block autocomplete for username and password in SMTP settings (#3732) (#3816)

* No hosts for software/policy renders better message (#3701) (#3821)

Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>

* Get failing policies webhook data on page load (#3824)

* Fix reset password flow (#3826)

* Prepare for 4.9.0 (#3820)

- Add CHANGELOG
- Bump versioning
- Remove changes files
- Spelling fix for operating system policy's description

* Remove merge artifact

Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
2022-01-24 15:32:25 -03:00
gillespi314
3e66746707
Improve loading state for query platform compatibility (#3752) 2022-01-18 15:08:54 -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
e60332b8b0
Policy Details/Query Details: No hover state if policy/query is not editable by RBAC (#3368) 2021-12-16 09:54:53 -08:00
Luke Heath
84d36d9e22
Policies own their queries flow QA fixes (#3323) 2021-12-10 13:17:36 -06:00
Luke Heath
2abae381e9
Add ability to run live queries on new and existing policies (#3230) 2021-12-09 10:38:51 -06:00
RachelElysia
91a86ccee4
Query and Policy UI: Cursor placed at end of input field (#3224) 2021-12-07 15:17:56 -06:00
RachelElysia
04fe0a42b5
App wide: Better errors for duplicate query, policy, and team names (#3121) 2021-12-07 11:12:36 -06:00
RachelElysia
cb4707cef0
Query and Policy Flow: SQL error in realtime (#3158) 2021-12-01 12:18:58 -05:00
Lucas Manuel Rodriguez
964f85b174
Amend policy creation and spec (for proprietary query), and add update APIs (#2890)
* Amend policy creation (proprietary query), add update APIs

* Fix Datastore.SavePolicy bug (and add tests)

* Add integration tests for new policy APIs

* Add author email

* Add activities

* Push breaking changes for return policy fields

* WIP

* Add integration test for host policies

* Make more improvements to policy representation

* Improve upgrade code (from PR review comments)

* PR changes

* Revert activities for policies

* Use *uint instead of uint for queryID, use fleet.PolicyPayload

* Filter out other schemas

* New policy flow (#2922)

* created new policy flow -- no API connection

* added api props

* fixed prop name

* lint fixes

* removed unused modal; fixed style

* name, desc icons; created global components

* lint fixes

* ignoring certain files and lines for prettier

* Update frontend/pages/policies/PolicyPage/PolicyPage.tsx

* Make policy names unique across deployment

* Amend upgrade script

* Fix migration for unique names

* Do not deduplicate but instead rename policies

Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
2021-11-24 14:16:42 -03: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
Martavis Parker
7911493d6b
modified select targets for query for UX clarity (#2828) 2021-11-08 14:12:58 -08: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
gillespi314
47dcafa2d5
Enhance UI for query-platform compatibility checks in new/edit query form (#2757) 2021-11-04 18:01:24 -05:00
RachelElysia
f645669ec2
App UI: Remove form autocomplete from UI input fields (#2703) 2021-10-27 13:31:45 -04:00
RachelElysia
c194f8ae57
Team Admin: Give team admin all team maintainer's permissions for query experience (#2689) 2021-10-26 16:55:53 -04: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
Martavis Parker
5be54a72cf
Teams and Software for Homepage (#2567)
* added global teams dropdown

* added teams dropdown

* created tabs wrapper component

* comment out software table for now

* lint fixes

* added changes file

* removed test data

* fixed permissions

* fixed scroll behavior for test with sticky header

* lint fixes
2021-10-19 11:13:18 -07:00
gillespi314
746d02ebe0
Allow team maintainer to edit, save, or delete queries if they are the author (#2236) 2021-09-29 15:01:30 -05:00
Martavis Parker
29aa6610b6
Fixed empty table showing while retrieving results (#2271)
Relates to #2269
2021-09-28 21:28:39 -07:00
RachelElysia
a0f6768fe2
UI: Replace Contenteditables with Textareas (#2261)
* Replace content editables with textboxes

* Change log

* removed lib

* fixed bugs; no error handling for empty name

* lint fixes

* fixed query test

* lint fixes

* corrected query test

* bug fix; save modal didn't open for new query

Co-authored-by: Martavis Parker <martavis@auraticdevelopment.com>
2021-09-28 20:42:43 -07:00
Martavis Parker
8ab5c27621
Fixed passing query info around Query console (#2247)
* refactored state mgmt for query console

* changes files

* lint fixes

* teams e2e test were flaky

* lint fixes

* fixed bug for observer running query, run again button

* fixed inconsistent query body change

* disabled refetch on window focus
2021-09-28 11:33:51 -07:00
Martavis Parker
b3bafee363
Team maintainer create & run new query, no save (#2141)
* team maintainer create & run new query, no save

* lint fixes

* showing table sidebar for team maintainer

* style fixes to no results

* lint fix
2021-09-21 07:10:08 -07:00
Martavis Parker
596a54e781
Urgent bug fixes for Query Experience - v4.3.0 (#2033)
* Step 1 for improving query experience (#1591)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* will address dynamic save disabled in edit step

* Step 2 for improving query experience (select targets) (#1732)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* Improving query experience - Step 3 (query results) (#1766)

* fake change to create draft PR

* temp routes to work and not modify old query page

* created new API abstraction for query

* refactored App.jsx to prepare react-query

* fixed flow of redirects after page refresh; functional component added

* setup for getting data on edit

* implementing functions for query page

* Old form showing on new setup

* improving and breaking up query form

* no need for the helpers anymore; clean up

* added type for button component variant

* step toward new save modal; have to switch gears to #1619

* creating new query works

* clean up

* linting cleanup

* added default value for new query

* split steps into separate files for readability

* components laid out

* new targets picker

* function clean up

* styling tables

* fixing logic

* fixed logic to keep getting related hosts

* formatting targets for API

* fixed default query

* clean up

* styled target selectors; fixed target input styles

* began total count

* forgot to remove debugging code

* lint fixes

* added target count from API

* clean up

* able to remove selected host targets from table

* lint fixes

* connected run query with modern React/JS; clean up

* linting fixes

* fixed logic to retrieve results from live query

* linting fixes

* created new, simpler query progress

* populating results and errors tables as expected

* syntax fixes

* fixing styles for query results

* more styling for query results

* manual merge from main

* Rename core->free and basic->premium

* Fix lint js

* Comment out portion of test that seems to timeout

* Rename tier  to premium if basic is still loaded

* go sum

* Query Experience Cleanup Tasks (#1807)

* fixes to get merged main branch to build and work

* moved screens for query pages; clean up

* updated and typed react ace for query form; clean up

* using console error instead

* added real types instead of `any` except for errors

* query side panel ts and functional. prep for close task.

* ability to hide, show query table sidebar

* improved live query status warning

* added loading and error state for targets search

* error screen for targets; improved loading display

* now using API-created label for all linux

* missed some files on previous commit

* able to edit query

* clean up

* lint fixes

* query results showing as they come

* remove unused code

* removed old query page. major file cleanup.

* removed selectedTargets redux implementation

* removed unused redux actions and reducers

* removed unused keys in initial state

* selectedOsqueryTable is now using context API

* removed all querypages redux code

* set up context for app and user

* fixed auth with temp fix for wrapper

* completed redux removal from query page

* fixed var names coming from main branch

* fixed var name changes coming from issue 1501

* fixed save popup bug; clean up

* added permissions

* fixed login redirect

* removed unused props

* linting fix

* clean up

* removed unused component, refactor, and clean up

* fixed styles for step 1 as admin

* fixed styles for step 1 as observer

* fixed percentage of online hosts

* added loading progress to query stop button

* reset query status on run again

* added download icon to export button text

* fixed error reset on name input; fixed styles

* fixed bug where query value wasn't saving

* fixed query value when blank

* fixed bug - default query was running every time

* auto adding host from url to targets

* fixed flows for repeating run and save steps

* fleet ace is now TS and functional

* fixed a couple of tests

* fixed issues with query value text inconsistencies

* fixed query side panel not showing

* hiding error count if not > 0

* fixed showing editor for different roles

* using integer for targets

* go sum

* fixed targets param

* catching all errors while running query

* fixed hover state for title and description

* ignore unit test for now; lint fixes

* locking react-ace version

* ignoring tests breaking in github actions

* brought tests back

* fixing file name

* fixing file name again

* fixed e2e test

* have to ignore tests for now

* ignore certain premium tests for now

* one last test to revamp

* another test

* fixed teamflow test

* fixed observer query 403

* lint fixes

* fixed maintainer test

* added changes file

* query sidebar cleanup

* fixed save modal feedback

* reset targets after done button clicked

* using edited query on run

* fixed query modal value conflict

* lint fixes

* fixed running edited saved query

* fixed form prop conflicts with local state

* lint fixes

* remove logs

* have to reset value when query id changes

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2021-09-13 14:23:24 -07:00