Commit Graph
144 Commits
Author SHA1 Message Date
Martin Angersandgillespi314 c1c5c77dfc Fix download software installer path (#21255)
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2024-08-13 11:45:03 -05:00
jacobshandlingandJacob Shandling 91b9c4a107 Add host's next maintenance window to the hosts/{id} and hosts/identifier/{identifier} endpoints, and render that data on the host details page (#19820)
## Addresses full stack for  #18554 
- Add new `timezone` column to `calendar_events` table
- When fetched from Google's API, save calendar user's timezone in this
new column along with rest of event data
- Implement datastore method to retrieve the start time and timezone for
a host's next calendar event as a `HostMaintenanceWindow`
- Localize and add UTC offset to the `HostMaintenanceWindow`'s start
time according to its `timezone`
- Include the processed `HostMaintenanceWindow`, if present, in the
response to the `GET` `hosts/{id}` and `hosts/identifier/{identifier}`
endpoints
- Implement UI on the host details page to display this data
- Add new and update existing UI, core integration, datastore, and
`fleetctl` tests
- Update `date-fns` package to the latest version

<img width="1062" alt="Screenshot 2024-06-26 at 1 02 34 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/c3ddad97-23da-42c1-b4ed-b7615ec88aed">

# 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/`
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated tests
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified tables for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-06-28 10:51:13 -07:00
RachelElysia 6dabcd524c Frontend: Improve URL and email validation (#18445) 2024-04-25 13:03:30 -04:00
Gabriel Hernandez 5bc4acf9e8 new dynamic and manual labels UI test and update react testing library (#18369)
tests for the new label pages

also updates react testing library and its plugins versions

- [x] Added/updated tests
2024-04-25 13:26:26 +01:00
Victor Lyuboslavsky ffc2d9f68a Fixing frontend code scanning vulnerability alerts (#18042)
#17903

- Fixing https://osv.dev/vulnerability/GHSA-crh6-fp67-6883 by updating
@xmldom/xmldom@0.8.3 to @xmldom/xmldom@0.8.4
- Fixing https://osv.dev/vulnerability/GHSA-wf5p-g6vw-rhxx by overriding
axios@0.21.1 to axios@0.28.0
- Fixing https://osv.dev/vulnerability/GHSA-p6mc-m468-83gw by removing
lodash.set dependency by updating nock@13.2.4 to nock@13.5.4
- Fixing https://osv.dev/vulnerability/GHSA-4wf5-vphf-c2xc by updating
terser from 5.12.1 to 5.14.2
- Fixing https://osv.dev/vulnerability/GHSA-566m-qj78-rww5 and
https://osv.dev/vulnerability/GHSA-7fh5-64p2-3v2j by:
- Updating to autoprefixer@10.4.19, node-sass-glob-importer@5.3.3, and
postcss-loader@4.3.0
- Overriding css-selector-extract@3.3.6 to css-selector-extract@4.0.1
- Overriding css-node-extract@2.1.3 to css-node-extract@3.0.4 and
overriding its postcss dependency to ^8.4.31
2024-04-05 16:45:22 -05:00
dependabot[bot] acb7959649 Bump express from 4.17.3 to 4.19.2 (#17857) 2024-03-26 10:07:50 -05:00
Gabriel Hernandez 3c2e4b8f4a update UI to react 18 (#17471) 2024-03-13 19:09:16 +00:00
Gabriel Hernandez 55c7f1e886 require a specific node and yarn version (#17205)
Adds a minimum supported node and yarn version to the project. 

Currently if you are on an unsupported version of node or yarn, there is
no messaging telling you that is the issue. The build just fails, and
you are left to figure out it's because of your node version. With this
change, it will be much clearer why any of the node required commands
(e.g. make deps, make generate-dev, make lint-js, make test-js) are not
working, and it will tell you exactly which minimum version of node or
yarn you need.

**After the console error is clear about using an unsupported node
version**


![image](https://github.com/fleetdm/fleet/assets/1153709/4f14bbf0-520e-45bc-911f-071554a996c4)


- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
- [x] Manual QA for all new/changed functionality
2024-03-13 12:45:28 +00:00
dependabot[bot] eaec5e9ea5 Bump axios from 1.2.3 to 1.6.0 (#15088) 2023-11-10 14:07:31 -06:00
Jacob Shandling bf8504a028 Refactor Tooltip Wrapper (#13845) 2023-11-07 13:15:49 -08:00
Luke Heath dec9f4a0c1 Update storybook versions (#14841)
We need to patch some security issues with version updates, but
Storybook dependencies currently block them. This updates Storybook and
all addons to the latest version. I test building and serving Storybook
locally and no issues.
2023-11-01 10:54:26 +00:00
Zach Wasserman 4ecc7db6d6 Complete removal of Cypress (#13389)
Remove the last of the dependencies and configuration around Cypress
since we no longer use it for testing.
2023-08-18 11:06:12 -06:00
Jacob ShandlingandJacob Shandling 2855bc8f7f ChromeOS privacy_preferences table (#12441)
## Addresses #11037 

### Implement the `privacy_preferences` table for the Fleetd Chrome
extension. Columns correspond to the available properties of
[`chrome.privacy`](https://developer.chrome.com/docs/extensions/reference/privacy/).

Chrome on mac:
<img width="816" alt="Screenshot 2023-06-23 at 11 55 21 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/a4700749-6325-442e-acf2-c14b1c9adf8f">

Chromebook with enterprise access (actual use case):
![Image from
iOS](https://github.com/fleetdm/fleet/assets/61553566/93f2243d-357a-4d85-bd20-0aebd178388c)

* Chromebook w/o enterprise access: as you can see, sometimes certain
APIs are not available - this error occurs because the expected API
object that would have a `get` method is actually `undefined` TODO – How
to handle this case given that we want to let errors bubble up to the
level at which Fleet can catch them? Maybe it would be nice to catch
such errors and send them up to the Fleet layer, and still allow the
loop to continue to populate the columns whose APIs _are_ available.
_Decision: catch API errors here to preserve functionality of the
remaining columns_

![IMG_9407](https://github.com/fleetdm/fleet/assets/61553566/7fb26eb4-44e8-43f8-90c0-8b3d718c5ace)

- [x] Changes file
- [x] Manual QA

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-06-23 14:52:16 -07:00
Jacob ShandlingandJacob Shandling 1c18765dfa UI: Security patch (#12229)
## Addresses
[confidential/2940](https://github.com/fleetdm/confidential/issues/2940)

Patched a potential security issue in UI

# 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-06-08 13:13:27 -04:00
Gabriel Hernandez 2fcc5ee72e generate js coverage report in CI (#12029)
relates to #8771

Add coverage for frontend and improve coverage reports around Backend
and frontend code.
2023-06-01 17:46:25 +01: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
Gabriel Hernandez 546225ed35 update storybook to work with webpack 5 and move babelrc into its own file out of package.json (#11499) 2023-05-03 17:50:17 +01:00
Zach Wasserman a14228dd11 Upgrade webpack to v5 (#11173)
Upgrades webpack and other JS dependencies. This was primarily motivated
by GitHub reporting a vulnerability in Webpack (which shouldn't actually
effect our use of Webpack) and wanting to clean up some tech debt.

Note that equivalent functionality for url-loader and file-loader is now
included in webpack itself.

# Checklist for submitter

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

- [x] Manual QA for all new/changed functionality
2023-04-14 07:58:54 -07:00
Zach Wasserman 515cdb918c Replace import-glob-loader with node-sass-glob-importer (#10171)
import-glob-loader has a very old loader-utils dependency that triggers
security alerting. Hoping that replacing this will allow the
loader-utils version to be updated.

# Checklist for submitter

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

- [x] Manual QA for all new/changed functionality
2023-03-01 12:33:42 -08:00
Zach Wasserman 8f083f8d4c Move JS deps to devDependencies (#10155)
Many of these dependencies are only used in development.
2023-02-28 09:13:30 -08:00
Luke Heath bc2c6e59f5 Update node-sass frontend dependency (#9954)
Due to the update in https://github.com/fleetdm/fleet/pull/9950 we need
to update our version of `node-sass` to support Node 19.
2023-02-20 14:23:19 -06:00
Luke Heath 5b9ad6946e Removed unused frontend dependencies, updated axios (#9389) 2023-01-23 12:07:26 -06:00
dependabot[bot] 7595cb63a0 Bump express from 4.16.3 to 4.17.3 (#8943)
Bumps [express](https://github.com/expressjs/express) from 4.16.3 to 4.17.3.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.16.3...4.17.3)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 17:03:27 -06:00
Gabriel Hernandez bcfd000adf integration test device user page with mock and custom renderer (#8475) 2022-11-01 18:59:40 +00:00
Gabriel Hernandez 6febfce2d2 update jest setup and move config to its own file (#8258) 2022-10-25 14:17:32 +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
Luke Heath 65840ecf82 Fix pack dropdown function call, lock npm dependencies (#7781) 2022-09-15 11:46:48 -05:00
Luke Heath 289dc97ec5 Remove require-hacker from npm dependencies (#7691) 2022-09-12 12:52:34 -05:00
Gabriel Hernandez f1995bf79e Fleet UI update to testing tooling user-event library (#7514)
* adding FE testing documentation

* extend radio button tests

* update test to work with new user-events lib version

* more testing docs
2022-09-12 16:10:10 +01:00
dependabot[bot] a07c529f66 Bump normalizr from 2.3.1 to 3.6.2 (#7569)
Bumps [normalizr](https://github.com/paularmstrong/normalizr) from 2.3.1 to 3.6.2.
- [Release notes](https://github.com/paularmstrong/normalizr/releases)
- [Changelog](https://github.com/paularmstrong/normalizr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paularmstrong/normalizr/compare/2.3.1...v3.6.2)

---
updated-dependencies:
- dependency-name: normalizr
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 09:49:50 -05:00
dependabot[bot] f85b863dc0 Bump react-router-transition from 0.1.1 to 1.2.1 (#7563)
Bumps [react-router-transition](https://github.com/maisano/react-router-transition) from 0.1.1 to 1.2.1.
- [Release notes](https://github.com/maisano/react-router-transition/releases)
- [Changelog](https://github.com/maisano/react-router-transition/blob/master/HISTORY.md)
- [Commits](https://github.com/maisano/react-router-transition/compare/v0.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: react-router-transition
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 14:17:17 -05:00
dependabot[bot] 4b833ee618 Bump es6-promise from 4.2.4 to 4.2.8 (#7539)
Bumps [es6-promise](https://github.com/stefanpenner/es6-promise) from 4.2.4 to 4.2.8.
- [Release notes](https://github.com/stefanpenner/es6-promise/releases)
- [Changelog](https://github.com/stefanpenner/es6-promise/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanpenner/es6-promise/compare/v4.2.4...v4.2.8)

---
updated-dependencies:
- dependency-name: es6-promise
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-02 13:28:26 -05:00
dependabot[bot]andLuke Heath 4930616bbb Bump axios from 0.21.4 to 0.27.2 (#7505)
Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 0.27.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.27.2/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.4...v0.27.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2022-09-01 16:25:27 -05:00
Gabriel Hernandez 041920bcaf Implement dropdown for label filters on manage hosts page (#7300)
* add label filter dropdown to the manage host page table

* increase label filter select width

* improve responsive styling for manage host page
2022-08-24 13:38:43 +01:00
Gabriel HernandezandLucas Rodriguez f61a17bd9b add google analytics to sandbox instances (#6941)
* add google analytics to sandbox instances

* Add serverType variable to frontend handler

* update version of html-webpack-plugin

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2022-08-01 11:27:12 +01:00
Zach Wasserman 3290eb5fd7 Update SockJS client (#6048)
Mainly motivated by update to eventsource dependency to address
CVE-2022-1650. This polyfill would have been unused by all modern
browsers.
2022-06-02 16:44:07 -07:00
Tharun Rajendran 3b21e8630b chore(test): remove enzyme from the package.json (#5359) 2022-04-25 20:28:41 -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
Luke Heath 48f85cfb17 Optimize webpack using esbuild-loader (#4586) 2022-03-15 09:45:34 -05:00
Luke Heath a9d2d28495 Version bump frontend dependencies (#4577) 2022-03-14 11:59:05 -05:00
Luke Heath df08b40eb8 Update dependencies to resolve dependabot alerts (#4396) 2022-03-01 11:02:05 -06:00
Luke Heath 0aac17d035 Bump isomorphic-fetch and css-loader (#4302) 2022-02-28 10:32:19 -06:00
Luke Heath fbfc77150f Version bump prop-types and storybook (#4236) 2022-02-16 17:09:41 -06: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
dependabot[bot] 06e7d5472f Bump node-sass from 6.0.1 to 7.0.0 (#4148)
Bumps [node-sass](https://github.com/sass/node-sass) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v6.0.1...v7.0.0)

---
updated-dependencies:
- dependency-name: node-sass
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-15 10:09:11 -06:00
Martavis ParkerandTomas Touceda 349a88e25b Forcing 404 page where entity ids do not exist (#3833)
* Allow sort by more than one key

* forcing 404 page where entity ids do not exist

* refactored error boundary; handling 404s now

* added 403 overlay; refactored auth wrappers

* fixed test for maintainer

* more efficient fetches; test fixes

* clarify comment

* clean up

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2022-01-27 14:10:12 -08:00
Luke Heath 7161160a9f Audit UI logic and remove redundant initializations (#3574) 2022-01-05 21:41:52 -06:00
Zach Wasserman ab664e5304 Clean up E2E testing configurations (#3360) 2021-12-24 12:18:00 -08:00
Luke Heath f6a74f69c9 Refine create policy UI flow (#3379) 2021-12-16 12:09:10 -06:00
Zach Wasserman 2b8502ad61 Upgrade node-sass for Node 16 compatibility (#2863) 2021-11-09 14:33:33 -08:00