Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opensight UI #4000

Open
wants to merge 105 commits into
base: main
Choose a base branch
from
Open

Opensight UI #4000

wants to merge 105 commits into from

Conversation

bjoernricks
Copy link
Contributor

@bjoernricks bjoernricks commented Apr 16, 2024

What

Proof of Concept for a refreshed UI based on OpenSight and mantine.

Why

Our current UI looks a bit dated and this PR checks the possibility for easy and possible changed for a refreshed UI.

References

DEVOPS-1000

Checklist

  • Tests

Copy link

github-actions bot commented Apr 16, 2024

Conventional Commits Report

Type Number
Added 13
Bug Fixes 2
Changed 16

🚀 Conventional commits found.

@bjoernricks bjoernricks force-pushed the opensight-ui branch 3 times, most recently from b8fa166 to 78705c5 Compare April 22, 2024 11:32
@bjoernricks bjoernricks force-pushed the opensight-ui branch 7 times, most recently from 936d35d to e760cc0 Compare April 30, 2024 12:35
@bjoernricks bjoernricks force-pushed the opensight-ui branch 8 times, most recently from cc639f5 to 1e3f27f Compare May 8, 2024 10:21
@bjoernricks bjoernricks marked this pull request as ready for review May 8, 2024 11:06
@bjoernricks bjoernricks requested review from a team as code owners May 8, 2024 11:06
@bjoernricks bjoernricks enabled auto-merge (rebase) May 8, 2024 11:06
@bjoernricks bjoernricks force-pushed the opensight-ui branch 2 times, most recently from 21dec84 to cfc93b6 Compare May 22, 2024 08:19
@bjoernricks bjoernricks force-pushed the opensight-ui branch 2 times, most recently from c018bef to 706253c Compare June 4, 2024 12:24
Start to implement new UI components for GSA.
Both components are based on mantine and flexbox. They are intended to
replace Layout especially in dialogs.
When clicking on multiselects sometimes user event complained about
`pointer-events` css property being `none`. Avoid this issue by not
checking for `pointer-event` at all.
The emotion library has a check if global vi or jest is set to detect if
it is running in a testing environment. Therefore just an empty vi
object for the tests to keep it quiet.
Add a draft for toggling the language between en and de via a language
switcher in the app header.
asset-mangement is an external application and therefore internal links
can't be used.
daniele-mng and others added 18 commits June 14, 2024 10:07
* Add: Add a react hook for storing instance variables

An instance variable stores the value directly and doesn't cause
re-renders if it is changed. Variables returned from this hooks are
comparable to instance variables for class components.

* Add a test for useInstanceVariable hook

* CI: Allow the dependency review workflow to write a message to the PR

The dependency review workflow is able to write a summary message to the
PR if it is allowed to write to the workflow.

* Add: Add a useShallowEqualSelector hook

The useShallowEqualSelector hooks allows to avoid re-renders if an
object is selected from the redux store but its value(s) didn't change.
With the standard selector which uses `===` comparison even updating an
object's value to the same value will cause a re-render (because a new
state object is created).

This pattern can be found at https://react-redux.js.org/api/hooks#recipe-useshallowequalselector

* Add: Add a usePageFilter hook to get the applied filter of a page

The new usePageFilter hook allows to get the current applied filter of a
page from the redux store.

* Allow to change, reset and remove a page filter

Update the usePageFilter hook to add additional functions to change,
reset and remove a page filter.

* Use useShallowEqualSelector in usePageFilter

The selectors where invented for usage with mapStateToProps therefore
they return objects at the moment. To avoid unnecessary re-renders the
returned objects need to be compared with shallow equal.

* Add tests for usePageFilter hook

* Refactor FilterProvider to use usePageFilter internally

At the end FilterProvider should be replaced with usePageFilter
completely.

* Reorder variable and hook definitions

Allow for better reading flow where variables and hooks are defined at
the top.

* Add: CVSS 4.0 Calculator (#4036)

* Add: CVSS 4.0 Calculator
* Add: test for CvssV4Point0Calculator
* Apply: review comments
* Add: German translations

* Add: Add a usePreviousValue hook

Add a new hooks that allows to get the previous value after the value is
changed. For example this hook can be used to check whether a filter has
changed.

* Add: Eslint rules

* fix header

* fix header in jsx files

* fix gpl 2

* ignore specific year in header

* adjust rule for files

* Add: Support CVSS 4.0 fields in CVEs.
CVSS 4.0 metrics can now be displayed in CVE details.

* Add more tests.

* Capitalize first letter in metric values instead of all caps
for translation and consistency with the calculator.

* Add: Implement a useTiming hook

The hook can be used to run a function after a specific amount of time
for example for doing a reload of data.

* Change: withIconSize HOC to hook (#4060)

* Change: withIconSize HOC to hook

* add tests

* improve test coverage

* remove snapshot test

* Bump braces from 3.0.2 to 3.0.3

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add: Add a useReload hook to make the Reload component obsolete

The new useReload hook is based in useTiming. It calls a timing
function before every reload to calculate the timeout before the reload.
This timing function gets a isVisible argument passed. Using the
argument the timing function can decide to extend the timeout when the
current browser window is not visible.

* Add: Add a useFilterSortBy hook

The hook determines the sort field and direction of a filter and allows
to change both via a returned function. The hook can be used to
implement the filter changes when clicking on the different header
columns of a entities list.

* Add: Add a usePagination hook

The hook returns functions the update a filter for getting the next,
previous, first and last page for a list of entities.

* Add: Add a useSelection hook

The useSelection hook implements the entity selection at a entities list
table. It is possible to select/deselect specific entities from the
list/table, to select all entities displayed at the page or all entities
for the current filter (filter without rows value applied).

* Add: eslint rule camelCase

* create exeptions

* Add: Add new hook to determine the loading interval for entities pages

Add a useEntitiesReloadInterval hook to replace in conjunction with the
useReload hook the Reload component. useEntitiesReloadInterval
calculates the timeout for the next reload and useReload actually calls
a function after this timeout to allow reloading data.

* Add: Add a BulkTags component for handling tagging of entities

The BulkTags component provides dialogs and functions for tagging several
entities with an existing or new tag.

* Fix: Don't pass gmp object to TagDialog onSave handle

The gmp object is not part of saving a tag. Therefore it shouldn't be
put into the state of the TagDialog and passed to the onSave handler.

* Change: Allow to show errors in the TagsDialog

Allow to show errors in the TagsDialog. This may be necessary for
example if a new tag can't be created.

* Add: Add a useDownload hook

The useDownload hook in conjunction with the Download component should
replace the withDownload HOC in future.

* Add a simple test for useDownload hook

Combine Download with useDownload in a simple test.

* Bump ws from 8.16.0 to 8.17.1

Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.16.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add: Toggle to enable EPSS fields

The EPSS fields for CVEs and VTs can now be toggled with an option in
the config.js file.

This is done because no EPSS feed is provided yet, so the new fields
should only be enabled for testing.

* Clean up EPSS on CVE and NVT pages

A superfluous fragment has been removed and consts are used for
the EPSS scores and percentiles in tables for better readability.

* Remove .jsx suffix from useGmp and cvelink imports

* Add enableEPSS to readme

* Use camelCase for EPSS local variables

* Change: Use `.js` as file suffix for hooks

Hooks usually don't contain JSX and therefore should use `.js` for the
file suffix. Currently this is mixed up between `.jsx` and `.js`.

* Change: Extract ErrorMarker from useFormValidation hook module

Hooks should not contain JSX code and should be plain JS only. Therefore
extract the ErrorMarker component from the useFormValidation module and
use `js` file suffix for the module.

* Simplify ErrorMarker component

Just support the actual prop in use (`isVisible`) and drop passing a
child.

* Change: Refactor PortLists page to a HOC less entities page

Use the PortLists page as an example on howto refactor an entities page
to use the new hooks instead of the withEntitiesContainer HOC. Despite
having some more lines of code it should be easier to understand then
before.

* Add: EPSS scoring info to results

Scan results now show EPSS scores, percentiles and CVEs of their VTs if
the enableEPSS option is set to true.

* Change: Move useCapabilities hook to hooks directory

* Remove: Remove unused useUserIsLoggedIn hook

* Change: Move useUserName hook to hooks directory

* Change: Move useUserSessionTimeout hook to hooks directory

* Change: Move useUserTimezone hook to hooks directory

* Change: Move useLicense hook to hooks directory

The license feature is unused and could possibly removed completely. But
until now we should get a consistent directory layout.

* Change: Move useGmp hook to hooks directory

* fix: dates inconsistencies in new task wizard and schedules

* Automatic release to 23.1.0

* Automatic adjustments after release [skip ci]

* Update to version 23.1.1-dev1

* Fix: Allow applying report configs to delta reports.

* Automatic release to 23.1.1

* Automatic adjustments after release [skip ci]

* Update to version 23.1.2-dev1

* Change: Update node version for build in release-pontos

* Automatic release to 23.1.1

* Automatic adjustments after release [skip ci]

* Update to version 23.1.2-dev1

* Deps: Bump docker/build-push-action from 5 to 6

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add: Push workflow for greenbone registry #4075

* Remove debug statement

* Update useGmp import in results table and row

* Add: Available optional features in Capabilities

The Capabilities object now has a featureEnabled method that checks if
an optional feature is enabled according to the new GET_FEATURES GMP
command.

This will allow toggling/modifying UI elements for these features
without a redundant setting in the GSA config.

* Use camelCase for capabilities, update exceptions

Attributes in Capabilities now use camelCase and exceptions for
snake_case in the GMP responses have been added.

* Add: conditional route component for feature flag

* add test

* Update ConditionalRoute.jsx

* Deps: Bump @testing-library/react from 15.0.6 to 16.0.0 (#4091)

Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 15.0.6 to 16.0.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](testing-library/react-testing-library@v15.0.6...v16.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump uuid from 9.0.1 to 10.0.0 (#4086)

Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](uuidjs/uuid@v9.0.1...v10.0.0)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump @sentry/react from 8.7.0 to 8.13.0 (#4089)

Bumps [@sentry/react](https://github.com/getsentry/sentry-javascript) from 8.7.0 to 8.13.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@8.7.0...8.13.0)

---
updated-dependencies:
- dependency-name: "@sentry/react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump prettier from 3.2.5 to 3.3.2 (#4090)

Bumps [prettier](https://github.com/prettier/prettier) from 3.2.5 to 3.3.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.2.5...3.3.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump the patch-updates group across 1 directory with 7 updates (#4096)

Bumps the patch-updates group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) | `2.2.5` | `2.2.6` |
| [qs](https://github.com/ljharb/qs) | `6.12.1` | `6.12.3` |
| [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) | `7.24.6` | `7.24.7` |
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | `6.4.5` | `6.4.6` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.3.0` | `4.3.1` |
| [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.34.2` | `7.34.3` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.7` | `0.4.8` |



Updates `@reduxjs/toolkit` from 2.2.5 to 2.2.6
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](reduxjs/redux-toolkit@v2.2.5...v2.2.6)

Updates `qs` from 6.12.1 to 6.12.3
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.12.1...v6.12.3)

Updates `@babel/cli` from 7.24.6 to 7.24.7
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.7/packages/babel-cli)

Updates `@testing-library/jest-dom` from 6.4.5 to 6.4.6
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](testing-library/jest-dom@v6.4.5...v6.4.6)

Updates `@vitejs/plugin-react` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.1/packages/plugin-react)

Updates `eslint-plugin-react` from 7.34.2 to 7.34.3
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.34.2...v7.34.3)

Updates `eslint-plugin-react-refresh` from 0.4.7 to 0.4.8
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.4.7...v0.4.8)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: qs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: "@babel/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: eslint-plugin-react-refresh
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump vite from 5.2.12 to 5.3.3 (#4100)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.12 to 5.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump typescript from 5.4.5 to 5.5.3 (#4101)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.5 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.4.5...v5.5.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump @typescript-eslint/eslint-plugin from 7.12.0 to 7.16.0 (#4099)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 7.12.0 to 7.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump @typescript-eslint/parser from 7.12.0 to 7.16.0 (#4097)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.12.0 to 7.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix: bug loading status button in download report dialog

* Fix: Make report configs optional in alerts and reports

If the report configs are not available, the report export and alert
dialogs will hide the report config fields.

This will make the dialogs work as expected if the report config
commands are disabled.

* Use withCapabilities in alert method parts

Instead of passing the capabilities as a prop, use withCapabilities in
the dialog part components for the alert methods SCP, Send, SMB and
Verinice.

* Use useCapabilities hook in alert method parts

Instead of using the withCapabilities HOC, the alert method parts now
use the useCapabilities hook.

* Automatic release to 23.2.0

* Automatic adjustments after release [skip ci]

* Update to version 23.2.1-dev1

* Fix: Disable mangling in production build minify

The production build now uses terser with the "mangle" option
deactivated.

This addresses a false positive Lintian warning from a mangled variable
name.

* Automatic release to 23.2.1

* Automatic adjustments after release [skip ci]

* Update to version 23.2.2-dev1

* Bump fast-xml-parser from 4.3.6 to 4.4.1

Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.3.6 to 4.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](NaturalIntelligence/fast-xml-parser@v4.3.6...v4.4.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* add: cvss 4 calculator missing de translation

* Deps: Bump eslint-plugin-react from 7.34.3 to 7.35.0 (#4118)

Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.34.3 to 7.35.0.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.34.3...v7.35.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump @typescript-eslint/parser from 7.16.0 to 7.18.0 (#4114)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.16.0 to 7.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.18.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump i18next from 23.11.5 to 23.12.2 (#4117)

Bumps [i18next](https://github.com/i18next/i18next) from 23.11.5 to 23.12.2.
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](i18next/i18next@v23.11.5...v23.12.2)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump @typescript-eslint/eslint-plugin from 7.16.0 to 8.0.0 (#4113)

* Deps: Bump @typescript-eslint/eslint-plugin from 7.16.0 to 8.0.0

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 7.16.0 to 8.0.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.0.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* update ts eslint parser version

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Deps: Bump @sentry/react from 8.13.0 to 8.22.0 (#4119)

Bumps [@sentry/react](https://github.com/getsentry/sentry-javascript) from 8.13.0 to 8.22.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@8.13.0...8.22.0)

---
updated-dependencies:
- dependency-name: "@sentry/react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump the patch-updates group with 9 updates (#4112)

Bumps the patch-updates group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) | `2.2.6` | `2.2.7` |
| [downshift](https://github.com/downshift-js/downshift) | `9.0.6` | `9.0.7` |
| [styled-components](https://github.com/styled-components/styled-components) | `6.1.11` | `6.1.12` |
| [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) | `7.24.7` | `7.24.8` |
| [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | `6.4.6` | `6.4.8` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.8` | `0.4.9` |
| [prettier](https://github.com/prettier/prettier) | `3.3.2` | `3.3.3` |
| [typescript](https://github.com/Microsoft/TypeScript) | `5.5.3` | `5.5.4` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.3.3` | `5.3.5` |


Updates `@reduxjs/toolkit` from 2.2.6 to 2.2.7
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](reduxjs/redux-toolkit@v2.2.6...v2.2.7)

Updates `downshift` from 9.0.6 to 9.0.7
- [Release notes](https://github.com/downshift-js/downshift/releases)
- [Changelog](https://github.com/downshift-js/downshift/blob/master/CHANGELOG.md)
- [Commits](downshift-js/downshift@v9.0.6...v9.0.7)

Updates `styled-components` from 6.1.11 to 6.1.12
- [Release notes](https://github.com/styled-components/styled-components/releases)
- [Commits](styled-components/styled-components@v6.1.11...v6.1.12)

Updates `@babel/cli` from 7.24.7 to 7.24.8
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.8/packages/babel-cli)

Updates `@testing-library/jest-dom` from 6.4.6 to 6.4.8
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](testing-library/jest-dom@v6.4.6...v6.4.8)

Updates `eslint-plugin-react-refresh` from 0.4.8 to 0.4.9
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](ArnaudBarre/eslint-plugin-react-refresh@v0.4.8...v0.4.9)

Updates `prettier` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.3.2...3.3.3)

Updates `typescript` from 5.5.3 to 5.5.4
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](microsoft/TypeScript@v5.5.3...v5.5.4)

Updates `vite` from 5.3.3 to 5.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: downshift
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: styled-components
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: "@babel/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: eslint-plugin-react-refresh
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deps: Bump @vitest/ui from 1.6.0 to 2.0.5 (#4116)

* Deps: Bump @vitest/ui from 1.6.0 to 2.0.5

Bumps [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) from 1.6.0 to 2.0.5.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.5/packages/ui)

---
updated-dependencies:
- dependency-name: "@vitest/ui"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* update dep

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: daniele-mng <[email protected]>

* Add: Add opensight-ui-components and mantine for new UI

Start to implement new UI components for GSA.

* Add: Add new components for row and column layouts

Both components are based on mantine and flexbox. They are intended to
replace Layout especially in dialogs.

* Add: Add useValueChange hook for form components

All form components should be able to call the onChange handler with the
value, name pair. Therefore introduce a generic hook to abstract the
event handling.

* Provide userEvent from @testing-library/user-event@14

Use latest release of userEvent.

* Render theme provider for opensight-ui in tests

The theme provider is required to be able to test components based on
opensight-ui and mantine.

* Setup ResizeObserver for components based on opensight-ui/mantine

The ResizeObserver is required to be able to run the tests for
opensight based components.

* Add: Add a hook to load the user's capabilities from the backend

The capabilities of the user are provided via a react context and
therefore it should be able to load them independently from the redux
store.

* Add: Add hooks for handling the filter dialog state

Using the new hooks allows to rewrite all filter dialogs to function
components more easily.

* Add theme provider for opensight-ui based components

When rendering the react app the theme provider for mantine is required.

* Change: Refactor all form UI components

Use opensight-ui and mantine for all form components. With this change
all the form components are refreshed in their visual appearance.

* Change: Rework dialog components to use Modal as base

Update Dialog component to use the Model component from opensight for
improved UI.

* Add: Implement new Menu

Use opensight AppNavigation to implement a new menu.

* Add: Implement new Menubar

Use new AppBar from opensight.

* Fix rendering of list page content

Align the content of list pages at the top.

* Change: Adjust login page for new UI

Use new form components for updated UI at the login page.

* Change: Update DialogNotification for new Dialog UI

Adjust the DialogNotification component for new Dialog.

* Change: Refactor TrashCan page to function component with new UI

Adjust TrashCan page for new UI.

* Improve dialog footer layout

* Change: Update wizards for new UI

Adjust layout of wizard dialogs for new UI.

* Change: Adjust dashboard dialogs for new UI

* Change: Adjust performance page for new UI

Fix the layout of the performance page.

* Change: Adjust powerfilter components for new UI elements

* Change: Update create and edit dialog to new UI layout

Adjust create and edit dialogs for new UI components and layout.

* Change: Update usersettings dialog to new UI

* Change: Update all filter dialogs for new UI

Adjust the filter dialogs of all list pages.

* Update menu entries

Fix the CPE icon and update the menu entries to use contain necessary
object properties.

* Fix issue with using opensight-ui as CJS but shipping with ESM

```
SyntaxError: Unexpected token 'export'
Module <snip>/node_modules/@greenbone/opensight-ui-components/lib/utils/compareHelper.js:1 seems to be an ES Module but shipped in a CommonJS package. You might want to create an issue to the package "@greenbone/opensight-ui-components" asking them to ship the file in .mjs extension or add "type": "module" in their package.json.

As a temporary workaround you can try to inline the package by updating your config:

// vitest.config.js
export default {
  test: {
    server: {
      deps: {
        inline: [
          "@greenbone/opensight-ui-components"
        ]
      }
    }
  }
}
```

* Deploy compose file automatically

* Deploy compose file automatically

* Remove obsolete dialog components

These components are obsolete since we are using the Modal component
from opensight-ui/mantine now.

* Use react-i18next to initialize translations for opensight-ui

* Change: Don't require the to prop for Link component

Actually it is optional and it is set to an empty string by default
already.

* Extract opensight-ui and its dependencies into an own chunk

Split the required js code for opensigth-ui into an own chunk bundle for
production builds.

* Provide a mock implementation for window.matchMedia

It seems window.matchMedia is required for the Select components now.
Thus implement a mock of the API for being able to test the select
components.

* Change: Remove obsolete TitleBar component

The TitleBar is not used anymore.

* Fix, update and improve dialog tests

Get the tests for the dialog components running again, drop all
snapshots because with mantine they aren't stable anymore and improve
testing specific component parts by adding getter functions.

* Update form tests for new testing functions

The getters for specific components were extracted into a testing
module.

* Update all powerfilter component tests

Fix and update all powerfilter tests by adapting to new form components
and using the testing getters.

* Fix remaining web/component tests

* Fix additional tests and components

* Update and improve layout of alert dialog

* Rename function method from clickItem to clickElement

clickElement is more generic because the function allows to send a click
event on arbitrary HTML elements not only select items.

* Fix typo for flexbox layout `stetch` -> `stretch`

* Make component testing functions more flexible

Allow for querying within a specific parent element. This will allow for
easier usage of the testing functions within pages tests where
components like select boxes may be rendered at several places.

* Extend the testing functions for querying pages tests components

We need to be able to test the bulk actions. Therefore is is required to
query for the table footer, the table and the check boxes within and the
bulk action icons.

* Fix the alert page tests

* Add testing function for getting action items

Action items are icons that cause some action on use clicks.

* Update audit tests

Testing clicking on export, start and resume for the detailspage doesn't
work at the moment. The click handler is just not called.

* Update cpe pages tests

* Define where to find the `@gsa/testing` module

Allow completion for expect, etc. in VS code.

* Add testing functions for getting the dialog buttons

* Fix getting the options of select components

It seems queryAllByRole doesn't return the desired elements under some
circumstances. Therefore use an easier query for getting the options.

* Add a changeInputValue testing method

Abstract fireEvent for changing the value of an input element.

* Update and fix credential pages tests

* Update and fix cve pages tests

* Update and fix cvss calculator page tests

* Drop snapshot test for dialog closebutton

The snapshot test are not very useful and prone for changes which get
applied without a deeper review.

* Update and fix about page tests

* Update and fix LDAP page tests

* Update and fix tests for hosts list page

* Update and fix radius page tests

* Update and fix notes list page tests

* Update and fix NVT list page tests

* Update and fix overrides list page tests

* Update and improve policies pages

* Allow for easier testing of multiselect components

Add testing function for easier testing the behavior of multiselect
components.

* Update and fix report config pages tests

* Allow to display a menu entry for asset management

* Update and fix report pages tests

* Update and fix result pages tests

* Add a testing function for getting a table header

Besides getting the footer and body also allow to get the header of a
table.

* Update and fix scan config pages tests

* Update and fix scanner dialog tests

* Update and fix schedule pages tests

* Update and fix ticket pages tests

* Update and fix task pages tests

* Update and fix tls cert list page tests

* Add a testing function for getting file inputs

* Update and fix target pages tests

* Avoid issues causing flaky tests with pointer events

When clicking on multiselects sometimes user event complained about
`pointer-events` css property being `none`. Avoid this issue by not
checking for `pointer-event` at all.

* Fix warning about emotion css-in-js library already loaded during tests

The emotion library has a check if global vi or jest is set to detect if
it is running in a testing environment. Therefore just an empty vi
object for the tests to keep it quiet.

* Use an own language switcher component for the app header

Add a draft for toggling the language between en and de via a language
switcher in the app header.

* Mark asset-management link as external

asset-mangement is an external application and therefore internal links
can't be used.

* Change: powerFilter width and select loading state

* fix test

* add: new UI error

* add dependency lucide-react

* Add: ci job to run on opensight-ui branch (#4105)

* Change: opensight version 0.3.0

* Add: Session timer

* Add: opensight date picker

* add tests

* remove unused dep

* split date and time components

* add test

* fix imports

* add missing props to select timezone

* Fix: Error panel in dialog (#4106)

* fix: Select component label (#4107)

* rebase fix

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Björn Ricks <[email protected]>
Co-authored-by: Ahmed Abdelsalam <[email protected]>
Co-authored-by: Ahmed <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timo Pollmeier <[email protected]>
Co-authored-by: Greenbone Bot <[email protected]>
Co-authored-by: pascalholthaus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants