Commit Graph

1132 Commits

Author SHA1 Message Date
Eduard Heimbuch
6bb9024504 Improve ui performance
Move repository overview extension to avoid waiting for repositories. Also improve the extension points api to allow predicates without props.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-06-22 13:41:17 +02:00
Eduard Heimbuch
bc2a599b2c Introduce new combobox and make it work with chip input
We introduced a new accessible combobox component. This component is based on headless ui and made compatible with our components and forms. Also we replaced the outdated `Autocomplete` component with the new combobox.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>

Reviewed-by: Florian Scholdei <florian.scholdei@cloudogu.com>
2023-06-19 13:04:26 +02:00
Florian Scholdei
217a2e155e Svn external contains sub directory
In case of using Svn external with sub directory the ui showed an empty page

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-06-15 11:55:12 +02:00
CES Marvin
4a7f6a77d8 Prepare for next development iteration 2023-06-13 15:58:14 +00:00
CES Marvin
d5073ac6f5 Release version 2.44.1 2023-06-13 14:35:26 +00:00
CES Marvin
ebd62d5591 Prepare for next development iteration 2023-06-08 13:47:46 +00:00
CES Marvin
ac7e83ccee Release version 2.44.0 2023-06-08 12:29:55 +00:00
Konstantin Schaper
32807a0d80 Implement chip input for multiple text entries
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-06-01 11:43:41 +02:00
Konstantin Schaper
9c7f650e12 make ui-layout public 2023-05-31 11:28:06 +02:00
Eduard Heimbuch
a50e456969 Ignore duplicate contributors for single changeset
Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-05-25 19:26:38 +02:00
Konstantin Schaper
b812922142 Implement namespace configurations & permissions
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>

Reviewed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-05-25 18:51:29 +02:00
René Pfeuffer
9f9aebf1d5 Prepare for next development iteration 2023-05-19 13:52:09 +02:00
René Pfeuffer
635ad9c845 Merge branch 'main' into develop
# Conflicts:
#	scm-ui/ui-webapp/package.json
2023-05-19 13:46:20 +02:00
Konstantin Schaper
01bff1ce95 Fix race condition with plugin bundles
There may be a race condition when loading plugin bundles with lazy dependencies:

The OpenAPI plugin depends on "redux" and "react-redux", which are bundled in the lazy "ui-legacy" module, as the usage of redux is deprecated in the scmm. The "ui-legacy" module also binds a global wrapper extension point around the whole app. Due to a bug in the plugin loader, plugin bundles were marked as successfully loaded even if a lazy dependency hadn't successfully loaded yet. This caused the extension point from the "ui-legacy" bundle to be bound after the initial render. As the process of extension point binding  doesn't trigger a re-render, the redux provider was not wrapped around the app on initial load. When the user now moved focus out of and back into the window, react-query hooks automatically refetched e.g. the index links, which caused a re-render. Now with the bound extension point applied. This caused the whole app to be unmounted and re-mounted, which in turn reset all form fields anywhere below in the tree.

Also fixes a bug where the global notifications component was executing a state update while already unmounted.

Also fixes a bug in the user creation form where an object literal was passed to the form's default values which caused a form reset whenever the component re-rendered.

Committed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-05-15 17:34:50 +02:00
CES Marvin
617f48878a Release version 2.43.1 2023-05-12 11:28:00 +00:00
Konstantin Schaper
ea67a04b5d Refactor repository tags overview 2023-05-02 15:49:48 +02:00
Eduard Heimbuch
a185cc7d16 Optimize config form and binder 2023-04-19 11:52:22 +02:00
Eduard Heimbuch
40c4e1672c Refactor plugin manager
Make the plugin manager functions more clear and improve the usability by using a sticky top area with action buttons.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-04-18 10:06:40 +02:00
CES Marvin
0d80b68661 Prepare for next development iteration 2023-04-12 14:09:45 +00:00
CES Marvin
5458e0c7ec Release version 2.43.0 2023-04-12 13:14:19 +00:00
Rene Pfeuffer
8eb2687e10 Fix branch and tag name validation
The validation for branch and tag names has been
too limited. This led to errors in the frontend for
branches, that had been created using the
cli tools for git or hg but have not been seen as
valid by SCM-Manager.

To fix this, the patterns to validate branch and
tag names are relaxed and relate to the git
rules (https://git-scm.com/docs/git-check-ref-format).
Because these rules could not be expressed
using regular expressions alone, in addition
possible exceptions will be handled in the
git branch and tag commands.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-04-05 11:45:15 +02:00
Konstantin Schaper
b53f8bcf12 Improve diverse form features
- General responsiveness
- Resize select component
- Fix datepicker for dark themes
- Make success notification configurable

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>

Reviewed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-04-03 10:02:17 +02:00
Rene Pfeuffer
e679dac94d Do not fail without default branch
This selects the first branch, if no default
branch is present.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-04-03 08:14:23 +02:00
Laura Gorzitze
d4e03c6f70 Extension points for information page tables
Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

Reviewed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-28 18:10:18 +02:00
Konstantin Schaper
d257c8616c Display images in diffs
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-22 11:17:22 +01:00
René Pfeuffer
1122f781a1 Prepare for next development iteration 2023-03-13 08:32:29 +01:00
René Pfeuffer
34410ce6c9 Merge branch 'main' into develop 2023-03-13 08:29:36 +01:00
CES Marvin
143431cfe0 Release version 2.42.3 2023-03-13 06:13:04 +00:00
Konstantin Schaper
dda52b8400 Implement new form features
Extends existing functionality, provides new fallbacks for translations and adds capabilities to manage array properties in configurations.

Committed-by: Florian Scholdei <florian.scholdei@cloudogu.com>
Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
2023-03-07 11:29:10 +01:00
Rene Pfeuffer
719f6c4c09 Show error correctly in permission overview
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-06 10:25:59 +01:00
CES Marvin
da2c723056 Prepare for next development iteration 2023-03-02 15:42:11 +00:00
CES Marvin
9f712aec5d Release version 2.42.2 2023-03-02 14:52:49 +00:00
CES Marvin
1842a49c77 Prepare for next development iteration 2023-02-16 20:24:50 +00:00
CES Marvin
16572110de Release version 2.42.1 2023-02-16 20:07:00 +00:00
CES Marvin
b595808386 Prepare for next development iteration 2023-02-15 09:33:00 +00:00
CES Marvin
57206a9d63 Release version 2.42.0 2023-02-15 08:46:54 +00:00
Rene Pfeuffer
e1b107849e Permission Overview
Adds an overview of the permissions of a user including its groups. To do so, a new cache is introduced that stores the groups of a user, when the user is authenticated. In doing so, SCM-Manager can also list groups assigned by external authentication plugins such as LDAP. On the other hand, the user has to have been logged in at least once to get external groups, and even then the cached groups may be out of date when the overview is created. Internal groups will always be added correctly, nonetheless.

Due to the cache, another problem arised: On some logins, the xml dao for the cache failed to be read, because it was read and written at the same time. To fix this, a more thorough synchronization of the stores has been implemented.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-02-09 10:29:05 +01:00
Eduard Heimbuch
b2a253ea29 Fix tab order for primary navigation 2023-01-26 07:32:14 +01:00
Laura Gorzitze
89bcd7c099 Prepare for next development iteration 2023-01-18 15:55:59 +01:00
Laura Gorzitze
dcabdfc25a Release version 2.41.0 2023-01-18 15:26:43 +01:00
Konstantin Schaper
d5e5490b53 Add new overlay ui module with tooltip component
Our current tooltip component has been causing ui glitches for over a year now because it did not use react portal to render the tooltip content outside the react render tree which interfered with html/css. The new component is based on a fully accessible component by radix-ui. The styling, for now, has been kept from the original tooltip.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-01-16 13:37:52 +01:00
Eduard Heimbuch
ac419daa3f Add ConfigurationAdapterBase and extension points for trash bin
Adds the new abstract class ConfigurationAdapterBase to simplify the creation of global configuration views. In addition there is some cleanup, interfaces and extension points for the repository trash bin plugin.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-01-13 13:08:51 +01:00
Eduard Heimbuch
5c4c759bd2 Make the diff header sticky 2023-01-11 16:04:39 +01:00
Eduard Heimbuch
72dfe80843 Introduce ui-forms framework
Adding a new ui framework to make creating forms as easy and consistent as possible. It wraps a lot of boilerplate code and enforces good practices for make the forms in the "SCM-Manager way".


Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>

Reviewed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-01-02 08:59:07 +01:00
Rene Pfeuffer
f2f2f29791 Render images from repository correctly
This adds a markdown renderer for images, so that images
that are referenced by their repository path are resolved
correctly. In this case, the content rest endpoint is
rendered as source url. For this, two new contexts
(RepositoryContext and RepositoryRevisionContext)
have been added, that make the repository and the
current revision available, so that the content url can
be resolved properly. These new contexts may be used
by plugins like the scm-readme-plugin.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

Reviewed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-12-19 10:12:01 +01:00
Rene Pfeuffer
6ba792e5bc Adds a new extension point repository.overview.listOptions that can be used to set the page size, whether to list archived repositories or not and potentially other options for the repository overview. If no extension is bound, the default values will be used.
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-12-15 11:16:01 +01:00
CES Marvin
4db07d15f6 Prepare for next development iteration 2022-12-07 09:59:31 +00:00
CES Marvin
d1c3fd7ae9 Release version 2.40.1 2022-12-07 09:25:24 +00:00
Rene Pfeuffer
ef11da489b Preselect namespace in repository create forms
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-12-05 09:33:41 +01:00
CES Marvin
e454647975 Prepare for next development iteration 2022-11-22 16:14:42 +00:00