Commit Graph

199 Commits

Author SHA1 Message Date
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
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
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
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
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
CES Marvin
143431cfe0 Release version 2.42.3 2023-03-13 06:13:04 +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
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
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
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
CES Marvin
e454647975 Prepare for next development iteration 2022-11-22 16:14:42 +00:00
CES Marvin
55f75a3948 Release version 2.40.0 2022-11-22 15:17:02 +00:00
Konstantin Schaper
19938b3af8 Add accessibility settings where you can disable keyboard shortcuts (#2157)
An accessibility requirement dictates that our custom shortcut system must be allowed to be disabled. A new accessibility settings page has been added to the user profile, similar to the theme settings. It is persisted in local storage.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-11-16 16:50:17 +01:00
Konstantin Schaper
7b933c6821 Improve plugin center error feedback and cache invalidation (#2147)
The plugin center cache was not invalidated when the proxy configuration was changed in the global settings. This caused stale and inconsistent state to be displayed to the user while there was no feedback that something was wrong.
2022-11-04 11:49:08 +01:00
René Pfeuffer
88c51f57e9 Merge hotfix release 2.39.1 into develop 2022-10-12 11:35:32 +02:00
René Pfeuffer
378c6d8ce5 Prepare for next development iteration 2022-10-12 11:35:05 +02:00
CES Marvin
c795184484 Release version 2.39.1 2022-10-12 08:31:24 +00:00
Konstantin Schaper
74702591ed Revert "Add feedback form (#1967)"
This reverts commit 4407dc6d8a.

# Conflicts:
#	scm-ui/ui-api/src/config.ts
#	scm-ui/ui-api/src/index.ts
#	scm-ui/ui-webapp/public/locales/en/commons.json
#	scm-ui/ui-webapp/src/containers/App.tsx
#	scm-ui/ui-webapp/src/containers/Feedback.tsx
2022-09-27 10:27:08 +02:00
Konstantin Schaper
af9aaec095 Add keyboard shortcut for global search (#2118)
Enable users to jump to the global search bar by pressing the "/" key from anywhere. Open modals block this shortcut. This PR also introduces a generic system for declaring global shortcuts by utilizing the third-party library mousetrap.
2022-09-15 14:16:22 +02:00
CES Marvin
1e72eb52bd Prepare for next development iteration 2022-09-15 10:11:03 +00:00
CES Marvin
bb96c9e2b9 Release version 2.39.0 2022-09-15 09:47:11 +00:00
Matthias Thieroff
54b7b96ac8 Fix encoding in global search (#2116)
Using plus symbol in global search led to a space in the query parameter of the URL. We now encode the query string properly in global search and additionally fixed the expert search documentation.
2022-09-14 08:05:31 +02:00
Konstantin Schaper
61676c6dd4 Handle missing encoding of square brackets in filenames (#2117)
Due to unexpected and largely unchangeable behavior by both react-router and the browser, square brackets are not correctly encoded in the url when clicking a file link in the source view where the filename contains either of these characters. The source view then tries to use the useSources hook to get the file content but fails, because the path param for the file path it gets from the url has unencoded square brackets in them which are illegal in urls except for declaring IPv6 addresses. We have created a catch for exactly this scenario at the latest possible point before the actual http request is fired, which is in the useSources hook. It seems like the square brackets are the only affected special characters so we force encoding on them specifically. Only the path portion of the URL is checked so the host portion of the url may still contain unencoded square brackets which are left untouched.
2022-09-09 08:19:04 +02:00
Eduard Heimbuch
9ea76073b2 Show warning for search requests without valid search context (#2114) 2022-09-06 18:24:34 +02:00
Konstantin Schaper
56ace2811b Implement reindex mechanism for search (#2104)
Adds a new button to repository settings to allow users to manually delete and re-create search indices. The actual re-indexing is happening in plugins that subscribe to the newly created event.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-08-17 13:22:34 +02:00
CES Marvin
6224d4a16d Prepare for next development iteration 2022-08-09 07:59:32 +00:00
CES Marvin
1f5d5a43c5 Release version 2.38.1 2022-08-09 07:17:59 +00:00
CES Marvin
f796d867a4 Prepare for next development iteration 2022-08-08 13:46:06 +00:00
CES Marvin
b64e764574 Release version 2.38.0 2022-08-08 12:48:25 +00:00
Eduard Heimbuch
550ebefd93 Context sensitive search (#2102)
Extend global search to search context-sensitive in repositories and namespaces.
2022-08-04 12:14:46 +02:00
Konstantin Schaper
27dbcbf28d Integrate tailwind css and create new button library (#2098)
Introduce tailwind as new frontend styling library to replace bulma in the longer run. Also create the first new ui library `ui-buttons` which will be the new standard for buttons ins SCM-Manager. In this library we reconsidered which types of buttons should be used to create a clean and consistent ui.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-08-02 08:39:37 +02:00
CES Marvin
f647e06d3c Prepare for next development iteration 2022-07-13 08:55:30 +00:00
CES Marvin
9b8fb88635 Release version 2.37.2 2022-07-13 08:17:03 +00:00
René Pfeuffer
5cb60e49ee Prepare for next development iteration 2022-07-07 08:43:48 +02:00