Commit Graph

147 Commits

Author SHA1 Message Date
Matthias Thieroff
a0737a2c90 Fix freezing browser if syntax highlighting large files (#2010)
We unified syntax highlighting and extracted it into a low level module. Syntax highlighting from now on takes place in a web worker, so that the user interface stays responsive. The web worker stops automatically if the number of nodes which should be highlighted exceeds the defined limit we believe the browser can handle.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2022-04-25 16:34:40 +02:00
dependabot[bot]
0e930b8671 Bump async from 2.6.3 to 2.6.4 (#2004)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 09:50:05 +02:00
Sebastian Sdorra
360fdb9b8a Update @pmmmwh/react-refresh-webpack-plugin to 0.5.5 to fix react-refresh 2022-04-21 15:03:57 +02:00
dependabot[bot]
8ce0ab7b94 Bump minimist from 1.2.5 to 1.2.6 (#2000)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-13 10:18:51 +02:00
dependabot[bot]
c4f3ab0778 Bump moment from 2.29.1 to 2.29.2 (#1996)
Bumps [moment](https://github.com/moment/moment) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.1...2.29.2)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-13 08:49:48 +02:00
Konstantin Schaper
298956ceda update to newest version of integration-test-runner (#1968) 2022-03-03 08:42:23 +01:00
dependabot[bot]
4659d9b858 Bump follow-redirects from 1.14.7 to 1.14.8 (#1952)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-18 14:56:10 +01:00
Eduard Heimbuch
b85dc8f0e6 Split frontend code by routes (#1955)
Split large frontend components into own bundles. This way we decrease loading times and load the bundles right as they are used. We replace SystemJS with our own implementation to load the lazy modules right as there are required.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-02-18 14:47:37 +01:00
Eduard Heimbuch
1c2e00455d Improve tooltip accessibility (#1954)
There has been the requirement to improve accessibility for our tooltips by allowing tooltips to be closed via the escape key as well as allowing users to hover over the tooltip text. These combined requirements were not possible with the previous implementation that used a bulma-tooltip extension. That meant we had to implement the full tooltip html and css from scratch. A declared goal was to keep the new implementation as close to the previous look-and-feel as possible. The redundant dependency has been removed in the process.

This is the fixed re-commit of #1938 (Commit 67bd96ea81)

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-02-16 10:51:30 +01:00
René Pfeuffer
cf52209c1d Revert "improve tooltip accessibility (#1938)" (#1949)
This reverts commit 67bd96ea81, because the changes to the tooltips caused a rendering error for ahead/behind tags for branches.
2022-02-15 12:08:43 +01:00
dependabot[bot]
2a53d15deb Bump cached-path-relative from 1.0.2 to 1.1.0 (#1937)
Bumps [cached-path-relative](https://github.com/ashaffer/cached-path-relative) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/ashaffer/cached-path-relative/releases)
- [Commits](https://github.com/ashaffer/cached-path-relative/commits)

---
updated-dependencies:
- dependency-name: cached-path-relative
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 11:18:32 +01:00
dependabot[bot]
5bb69804b9 Bump node-fetch from 2.6.1 to 2.6.7 (#1932)
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 11:18:22 +01:00
dependabot[bot]
ffbb2d4f90 Bump trim-off-newlines from 1.0.1 to 1.0.3 (#1930)
Bumps [trim-off-newlines](https://github.com/stevemao/trim-off-newlines) from 1.0.1 to 1.0.3.
- [Release notes](https://github.com/stevemao/trim-off-newlines/releases)
- [Commits](https://github.com/stevemao/trim-off-newlines/compare/v1.0.1...v1.0.3)

---
updated-dependencies:
- dependency-name: trim-off-newlines
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 11:18:12 +01:00
Konstantin Schaper
67bd96ea81 improve tooltip accessibility (#1938)
There has been the requirement to improve accessibility for our tooltips by allowing tooltips to be closed via the escape key as well as allowing users to hover over the tooltip text. These combined requirements were not possible with the previous implementation that used a bulma-tooltip extension. That meant we had to implement the full tooltip html and css from scratch. A declared goal was to keep the new implementation as close to the previous look-and-feel as possible. The redundant dependency has been removed in the process.
2022-01-28 15:32:35 +01:00
dependabot[bot]
872a7260d1 Bump nanoid from 3.1.30 to 3.2.0 (#1931)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.2.0)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-26 09:37:27 +01:00
Konstantin Schaper
d0cf976a54 Improve modal accessibility
Implement initial focus for modals. Change all modals including forms to put initial focus on the first input. When Enter is pressed on any input (CTRL + Enter for Textareas), the form is submitted if it is valid.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-01-21 14:25:19 +01:00
dependabot[bot]
d8fcb12402 Bump postcss from 7.0.35 to 7.0.39 (#1913)
Bumps [postcss](https://github.com/postcss/postcss) from 7.0.35 to 7.0.39.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/7.0.39/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.35...7.0.39)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-21 10:37:43 +01:00
dependabot[bot]
85dd902935 Bump follow-redirects from 1.14.1 to 1.14.7 (#1921)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.1 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.1...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-21 10:32:58 +01:00
Konstantin Schaper
542a5aac59 upgrade query-string dependency version (#1875)
* upgrade query-string dependency version

* fix typings and implementation for getQueryStringFromLocation
2021-11-29 11:21:45 +01:00
René Pfeuffer
7bbf6c3d30 Update plugin scripts to 1.2.2 2021-11-18 08:15:17 +01:00
dependabot[bot]
16850dc768 Bump path-parse from 1.0.6 to 1.0.7 (#1860)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-16 14:21:48 +01:00
Eduard Heimbuch
dc5f7d0f23 Feature/fix tabulator stops (#1831)
Add tab stops to action to increase accessibility of SCM-Manager with keyboard only usage. Also add a focus trap for modals to ensure the actions inside the modal can be used without losing the focus.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-11-16 11:35:58 +01:00
dependabot[bot]
e9429c6061 Bump tar from 4.4.13 to 4.4.19 (#1853)
Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.19.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.13...v4.4.19)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-10 11:30:34 +01:00
Sebastian Sdorra
2938074e1a Update to webpack v5 (#1848)
Update webpack in the following components to version 5:

ui-styles (StyleGuide)
ui-components (Storybook)
ui-scripts (gradle run/build)
This change will also fix a circular dependency between ui-api and ui-components.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-10 10:10:17 +01:00
dependabot[bot]
f69d3a29a8 Bump ws from 5.2.2 to 5.2.3 (#1852)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-10 09:12:29 +01:00
dependabot[bot]
4b8e023085 Bump semver-regex from 3.1.2 to 3.1.3 (#1851)
Bumps [semver-regex](https://github.com/sindresorhus/semver-regex) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/sindresorhus/semver-regex/releases)
- [Commits](https://github.com/sindresorhus/semver-regex/commits)

---
updated-dependencies:
- dependency-name: semver-regex
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-10 09:12:18 +01:00
dependabot[bot]
43a9bb1f2a Bump tmpl from 1.0.4 to 1.0.5 (#1850)
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-10 09:12:06 +01:00
Sebastian Sdorra
0efdd2a483 Add experimental high contrast mode (#1845)
Add an experimental high contrast color theme to SCM-Manager. The high contrast mode uses a dark background and color with a high contrast for a better accessibility.
The change adds the theme to ui-styles and theme switcher to the storybook of ui-components.
2021-11-04 08:33:11 +01:00
Sebastian Sdorra
516b733ec2 Avoid refetch of markdown content (#1823)
* Update react-query to 3.25.1
* Avoid refetching of markdown content on toggle between source and md view
2021-10-11 15:24:12 +02:00
René Pfeuffer
f2249cea73 Update to eslint-plugin 2.13.0 2021-08-06 10:34:30 +02:00
Sebastian Sdorra
91fec0f478 Add detailed search result ui (#1738)
Add a dedicated search page with more results and different types.
Users and groups are now indexed along with repositories.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-07-28 11:19:00 +02:00
Eduard Heimbuch
cd6e624e61 Small header (#1721)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-07-07 16:26:58 +02:00
Konstantin Schaper
640a270e1d refactor form fields to enable usage with react-hook-form (#1656)
React Hook Form is a library that makes working with forms easier and reduces boilerplate. For it to be used in our project, some of the form fields had to be adjusted.
2021-05-14 09:08:57 +02:00
Konstantin Schaper
7286a62a80 Implement api for extension point typings (#1638)
Currently, the only way to explore available extension points is through our documentation or by browsing the source code. Once you find them, there is no guard rails and the usage is prone to user errors. This new api allows the declaration of extension points as types in code. This way, exposing an extension point is as easy as exporting it from a module. Both the implementation and the developer who uses the extension point work with the same shared type that allows auto-completion and type-checks for safety. This feature is backwards-compatible as the generic methods all have sensible defaults for the type parameters.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-05-12 16:05:30 +02:00
Sebastian Sdorra
a75cfaa6d9 Chromatic (#1655)
Integrate Chromatic into the build process of SCM-Manager.
2021-05-11 14:09:09 +02:00
Eduard Heimbuch
8897ea8c2f Fix code block for syntax highlighter 2021-04-21 16:36:08 +02:00
Eduard Heimbuch
b5d4d7f75c Feature/remark rehype (#1622)
Make remark compatible with rehype plugins so we can sanitize the content with rehype-sanitize-plugin.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-04-21 12:05:37 +02:00
Konstantin Schaper
29f4c754bb Lint markdown files 2021-04-14 15:24:15 +02:00
Sebastian Sdorra
9ef076fb2f Fix missing redirect after login (#1592)
Each unauthorized error was caught by the token expired handler, which has reset the whole query state and this leads sometimes to a missing redirect after login.
2021-03-16 16:13:43 +01:00
Sebastian Sdorra
cff00b363d Upgrade to react 17.0.1 (#1570)
* Upgrade react to 17.0.1

* Remove unused dependencies

* Use version 17.0.1 of react-test-renderer

* Use fixed react type for core plugins

* Fix enzyme on react 17
2021-03-05 15:09:35 +01:00
Sebastian Sdorra
89548d45bd Filepath search (#1568)
Add search for files to the sources view. The search is only for finding file paths. It does not search any file metadata nor the content. Results get a rating, where file names are rated higher than file paths. The results are sorted by the score and the first 50 results are displayed.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-03-04 10:39:58 +01:00
Sebastian Sdorra
0072808c7d Upgrade react-markdown to prevent xss from stored markdown (#1567)
Prevent XSS attacks from stored markdown, by updating react-markdown to v5 which sanitizes html.
2021-03-03 15:06:34 +01:00
Konstantin Schaper
3a8d031ed5 Introduce stale while revalidate pattern (#1555)
This Improves the frontend performance with stale while
revalidate pattern.

There are noticeable performance problems in the frontend that
needed addressing. While implementing the stale-while-revalidate
pattern to display cached responses while re-fetching up-to-date
data in the background, in the same vein we used the opportunity
to remove legacy code involving redux as much as possible,
cleaned up many components and converted them to functional
react components.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-02-24 08:17:40 +01:00
Eduard Heimbuch
dc06bb799d Change output location for cypress e2e tests to build directory 2021-02-10 09:59:21 +01:00
Konstantin Schaper
94304f96a3 migrate integration tests to bdd (#1497)
Migrates the existing e2e tests towards a cucumber bdd-style and utilizes the integration-test-runner package.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-26 12:58:48 +01:00
Sebastian Sdorra
0ccbc34ccb Use jest-preset version 2.12.4 to fix ui coverage 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
dacbac3552 Support publishing of npm modules from scm-ui 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
3f018c2255 Update @scm-manager/jest-preset to v2.12.1 (#1474) 2020-12-14 17:48:45 +01:00
Sebastian Sdorra
1ef0b42eb5 Move plugin build modules to external repositories (#1462)
This pull request moves plugin build dependencies to separate repositories:

babel-preset -> https://github.com/scm-manager/babel-preset
eslint-config -> https://github.com/scm-manager/eslint-config
jest-preset -> https://github.com/scm-manager/jest-preset
prettier-config -> https://github.com/scm-manager/prettier-config
tsconfig -> https://github.com/scm-manager/tsconfig
This should speed up the build (a little bit) and prepare for gradle plugins.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2020-12-09 11:35:40 +01:00
Sebastian Sdorra
1d63e008e9 Update storybook components to be compatible with jest 26 2020-11-18 17:07:55 +01:00