Commit Graph

100 Commits

Author SHA1 Message Date
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
Eduard Heimbuch
b6b304f338 Use correct syntax for config routes (#1652) 2021-05-12 13:46:28 +02:00
Eduard Heimbuch
a71766ad4d Add TrustManagerProvider (#1654) 2021-05-12 08:56:51 +02:00
Sebastian Sdorra
9e45d8255d Fix sse for notifications behind nginx reverse proxy (#1650) 2021-05-10 08:57:46 +02:00
René Pfeuffer
d938dfe7c2 Adjust changelog for release 2.18.0 2021-05-05 14:52:13 +02:00
Eduard Heimbuch
7e3a6b6fb2 Show correct default branch in repository config (#1643) 2021-05-05 14:45:18 +02:00
Sebastian Sdorra
b975fb655d Feature/global notifications (#1646)
Add global notifications
2021-05-05 14:43:16 +02:00
Sebastian Sdorra
de28cac4ab Fix flickering form elements on repository initialization (#1645) 2021-05-05 07:20:36 +02:00
René Pfeuffer
77b62be68a Fix messages for post commit hooks in git (#1647)
Fixes the transmission of messages from post commit hooks in Git repositories. We therefore use a new method patched in jGit for SCM-Manager. This simplifies the trigger logic a lot.
2021-05-04 16:53:43 +02:00
Eduard Heimbuch
579b58ba5f Show hg binary verification error messages (#1637)
Show hg verification error messages on global hg config page if trying to save invalid hg binary.
2021-05-03 19:04:08 +02:00
Eduard Heimbuch
af8980de19 Improve repository information page (#1636)
Only show relevant information for repository on repository information page. The initialization code example is only shown if the repository is still empty.
2021-04-29 18:13:32 +02:00
Konstantin Schaper
32b268e6f5 add extension point for custom link protocol renderers in markdown (#1639)
This PR allows for custom link protocols to be declared and rendered in markdown.
A new extension point markdown-renderer.link.protocol allows for renderers to hook into the api and implement any custom protocol.

Example:

[description](myprotocol:somelink)
binder.bind("markdown-renderer.link.protocol", { protocol: "myprotocol", renderer: MyProtocolRenderer })
This renderer functions similar to link renderers and receives the href and the description. The latter as the children property.

This PR also fixes two bugs where external- and anchor links were not correctly rendered in pull requests by the review-plugin.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-04-29 13:15:22 +02:00
Eduard Heimbuch
8f91c217fc Add patch endpoint for global config (#1629)
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-04-28 08:47:29 +02:00
Eduard Heimbuch
d9449ba5cf Adjust changelog for release 2.17.1 2021-04-26 15:41:17 +02:00
René Pfeuffer
2b38f55991 Make code larger (#1631)
Sets the font size for code to 1rem like other text
2021-04-26 12:10:54 +02:00
René Pfeuffer
6cd8fc5ba4 Fix deserialization of embedded values in HAL objects (#1630)
The embedded avatar object of the repository avatar plugin
leads to an exception without this configuration, when
a repository json object is deserialized. This happens
for example when the description of a repository should
be modified.
2021-04-26 08:11:13 +02:00
Konstantin Schaper
2006945ce6 Adjust changelog for release 2.17.0 2021-04-22 09:59:29 +02:00
Eduard Heimbuch
7579d91505 Fix limit with negative integer for SearchUtil (#1627)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-04-21 16:19:16 +02:00
Florian Scholdei
05ef203038 Fix validation in "Add Entry" components (#1625) 2021-04-21 14:36:52 +02:00
Eduard Heimbuch
fa22581e3e Add changelog entry for remark-rehype compatibility 2021-04-21 13:19:07 +02:00
Eduard Heimbuch
8b1c56c43d Add button to hg config ui to trigger automatic configuration (#1620)
* Add button to hg config ui to trigger automatic configuration
* Fix review findings

Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
2021-04-21 11:45:02 +02:00
Eduard Heimbuch
f154ba7d83 Fix compatibility with old redux api (#1618) 2021-04-21 10:11:15 +02:00
René Pfeuffer
1e83c34823 Enable Health Checks (#1621)
In the release of version 2.0.0 of SCM-Manager, the health checks had been neglected. This makes them visible again in the frontend and adds the ability to trigger them. In addition there are two types of health checks: The "normal" ones, now called "light checks", that are run on startup, and more intense checks run only on request.

As a change to version 1.x, health checks will no longer be persisted for repositories.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-04-21 10:09:23 +02:00
Sebastian Sdorra
893cf4af4c Add graphviz to docker image (#1623)
This fixes the usage of the plantuml plugin inside of a docker
container.
2021-04-20 14:05:01 +02:00
Eduard Heimbuch
84c1e7ed37 Add new extension point for repository avatars (#1614)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-04-15 11:14:42 +02:00
Florian Scholdei
43c5c44905 Add header to toplevel error boundary (#1613)
In the event of a reload due to a change of focus, possible error boundaries were displayed without the SCM-Manager header. This change complements the appropriate header.
2021-04-07 16:18:36 +02:00
Florian Scholdei
84ba05bab8 Correct positioning and coloring of button groups in modals (#1612) 2021-04-07 13:04:30 +02:00
René Pfeuffer
0a6e6e6c85 Fix rename of namespace with UTF-8 (#1611) 2021-04-06 09:19:31 +02:00
Eduard Heimbuch
2179f816f3 Adjust changelog for release 2.16.0 2021-03-26 10:29:58 +01:00
Sebastian Sdorra
f1fdee3d90 Add more system metrics (#1609)
Add metrics about logging, file descriptors, process threads and process memory.
Rename scm.http.requests to http.server.requests to match micrometer defaults.
With this change the exposed metrics are now compatible (except for the tomcat metrics) to the official micrometer grafana dashboard (https://grafana.com/grafana/dashboards/4701).
2021-03-26 09:28:01 +01:00
Sebastian Sdorra
4cbe6b9873 Improve error messages for invalid media types (#1607)
Show separate error messages for invalid partial media types and application/json if it unsupported for the url.
2021-03-25 13:09:40 +01:00
Eduard Heimbuch
d94ebb2e3e Validate filepath and filename to prevent path traversal (#1604)
Validate filepath and filename to prevent path traversal in modification
command and provide validations for editor plugin.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-25 12:50:24 +01:00
Eduard Heimbuch
08549a37b1 Do not show repositories on the overview if a not existing namespace is selected (#1608) 2021-03-25 12:23:21 +01:00
Eduard Heimbuch
73c1609d92 Add flag to global config to enable/disable api keys as additional authentication method (#1606)
Add flag to global config to enable/disable API keys as additional authentication method.

Fixes #1599
2021-03-25 12:06:22 +01:00
René Pfeuffer
96d2e2cc1b Fix stacktrace in response for invalid url (#1605)
This fixes responses with complete stack traces for
requests with invalid urls, for example such containing
backslash ('') in the query parameter part (eg. q=search).
In this case the response contains an error object due to
this error, and requesting the uri info would trigger the
same error a second time, only that now the exception mapper
would not catch the error again. So we check whether we have
an error object before trying to create an enricher context.
2021-03-25 11:53:30 +01:00
Eduard Heimbuch
22a0362892 Feature/unicode groupname validation (#1600)
Allow all UTF-8 characters except URL identifiers as user and group names and for namespaces.

Fixes #1513

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-25 09:59:23 +01:00
Sebastian Sdorra
8f2272885b Metrics for events (#1601)
Updates legman to version 2, which allows the usage of the MicrometerPlugin. The plugin will collect metrics for subscriber invocations and the underlying executor.

Furthermore this change will fix the usage of wrong subject context in the asynchronous events.
2021-03-24 15:54:29 +01:00
Eduard Heimbuch
c5720b36b5 Collect metrics over lifetime of working copies (#1591)
Capture metrics about the lifetime of working copies used, for example, by the merge and modify commands. Working copies are internal repository clones that can place a large load on the server. Therefore, these metrics can be helpful in identifying sources of large server load.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-24 13:03:20 +01:00
Eduard Heimbuch
3ec499d22c Authentication metrics (#1595)
Expose metrics about:

- User login attempts
- Failed user logins
- User logouts
- General successful accesses to SCM-Manager via any authentication realm
- General failed accesses to SCM-Manager

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-24 08:50:14 +01:00
Eduard Heimbuch
97bad3e3a5 Fix repository create route from namespace overview page (#1602) 2021-03-23 11:51:47 +01:00
Eduard Heimbuch
e132aab7c4 Show "CUSTOM" on permission roles instead of empty entry (#1597) 2021-03-23 08:47:29 +01:00
Eduard Heimbuch
5a20eaea49 Collect cache metrics using guava cache statistics instead own counters. (#1590)
Collect guava cache statistics as metrics using micrometer. We replaced the own counter implementation of guava statistics with the guava internal caching statistics.
2021-03-22 08:56:26 +01:00
Konstantin Schaper
cf2e0b6f2b Collapse external nav links correctly in a menu (#1596) 2021-03-17 19:45:15 +01:00
Sebastian Sdorra
26b65582ce Core metrics (#1586)
Expose metrics for http requests and executor services.
2021-03-17 11:09:52 +01:00
Eduard Heimbuch
deef16646b Adjust changelog for release 2.15.1 2021-03-17 09:41:16 +01:00
René Pfeuffer
d8092bec71 Add "links" collection to index resources, again (#1594)
With the introduction of react-query, it looks like the indexResources attribute of the repository initialization extension properties lost its collection links, which was replaces by _links. In this fix we copy this collection, so that the template plugin still can use links.

Fixes #1593
2021-03-17 09:36:25 +01:00
Eduard Heimbuch
99b289ba3a Fix changelog file 2021-03-16 16:15:24 +01: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
ce0e94098e Fix navigate to detail after search (#1589)
Sometimes fails the navigation to a detail page after search.
This happens because of the OverviewPageActions which pushes the value of the filter to history.
This happens on change and on render, which could lead to a navigation back to the overview even after a click on an item in the overview.
2021-03-16 11:41:38 +01:00