11886 Commits

Author SHA1 Message Date
CES Marvin
9a2204b68c Release version 2.16.0 2.16.0 2021-03-26 09:39:47 +00: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
7b6dfb3880 Bump smp gradle plugin version to fix missing plugin description in plugin center 2021-03-22 16:11:01 +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
Eduard Heimbuch
9a057ec655 Add missing dependencies to module "scm-test" (#1598)
These are needed for the unit tests inside plugins.
2021-03-19 09:26:42 +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
CES Marvin
4dbcc019b7 Prepare for next development iteration 2021-03-17 09:19:04 +00:00
CES Marvin
05062844f8 Release version 2.15.1 2.15.1 2021-03-17 08:52:18 +00: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
Konstantin Schaper
48e9986f5a fix unit tests broken after react-query upgrade 2021-03-16 17:33:40 +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
Sebastian Sdorra
9b254b4a8d Fix diff for mercurial and subversion (#1588)
The useDiff hook appends the query param for the limit always with a question mark, even if the link has already query parameters.
Now we check if the url has an question mark and then we use an ampersand instead if the question mark to append the limit.
2021-03-16 09:11:19 +01:00
Eduard Heimbuch
89e938c6d7 Encode revision for extension point to fix breaking change (#1585)
Encode revision on extension points to fix a breaking change which slipped through with release 2.14.0.
2021-03-16 08:39:31 +01:00
Eduard Heimbuch
2ca4aa08de Enhance reverse proxies documentation 2021-03-15 16:00:02 +01:00
René Pfeuffer
5bb6b73526 Fix names for open api spec (#1582)
Names must not contain spaces, therefore we replace
them with underscores.
2021-03-15 15:26:54 +01:00
Sebastian Sdorra
b339dd068f Repository specific mercurial encoding (#1583)
* Use HgRepositoryConfig instead of HgConfig for hg commands

* Rename HgConfig to HgGlobalConfig

* Resolve encoding from repository specific configuration

* Add ui for repository specific configuration

* Validate encoding on dto
2021-03-15 08:40:05 +01:00
CES Marvin
ddac6b1e50 Prepare for next development iteration 2021-03-12 13:43:05 +00:00
CES Marvin
6b90e3efe4 Release version 2.15.0 2.15.0 2021-03-12 13:07:53 +00:00
Eduard Heimbuch
09af8b3f23 Adjust changelog for release 2.15.0 2021-03-12 13:59:07 +01:00
René Pfeuffer
84c8e02bf1 Feature Partial Diff (#1581)
With this pull request, diffs for Git are loaded in chunks. This means, that for diffs with a lot of files only a part of them are loaded. In the UI a button will be displayed to load more. In the REST API, the number of files can be specified. This only works for diffs, that are delivered as "parsed" diffs. Currently, this is only available for Git.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-12 13:52:17 +01:00
Konstantin Schaper
e66553705f Create api for markdown ast plugins (#1578)
Currently we only have the option to adjust rendering of the markdown output, but no option to change the generated ast tree before rendering takes place (i.e. to adjust the structure like when replacing text with links). This PR adds a new api to create ast plugins that can be integrated with the markdown view component. This is intended to be backwards-compatible and work independently from the underlying implementation.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-11 10:28:18 +01:00
Florian Scholdei
0d3339b0cb Add repository-specific non-ff disallowed option (#1579)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-11 10:13:26 +01:00
Eduard Heimbuch
831877564d Fix null check 2021-03-10 15:12:21 +01:00
Sebastian Sdorra
7656c2dc14 Add API for metrics based on Micrometer (#1576) 2021-03-10 10:07:29 +01:00
Sebastian Sdorra
aa15227f0a Mark configuration files in debian package (#1574)
Mark server-config.xml, logging.xml and defaults explicit as
configuration files.
Due too a bug in gradle-ospackage-plugin it is not enough to mark them via fileType.

https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/118
2021-03-08 09:33:30 +01:00
Florian Scholdei
692c71c192 Small typo 2021-03-06 14:26:18 +01:00
Eduard Heimbuch
644b2e106c Add privileged startup api (#1573)
Add privileged startup api to perform startup action with
administration context. This extracts the different startup
actions into own classes. Doing so, they will run independently
of settings for the user creation.
2021-03-05 15:43:09 +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
René Pfeuffer
512bf20659 Run JUnit 5 integration tests again (#1571)
With the migration to gradle we lost the JUnit 5 integration tests. This is fixed here. In addition we have to adapt the AnonymousAccessITCase to the change, that the anonymous access is disabled when creating the default test data.
2021-03-05 15:08:20 +01:00
Eduard Heimbuch
861e1d34ca Fix endless running test (#1572)
Fix endless running ui tests.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-05 10:10:02 +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
Florian Scholdei
bafe84b79a Fix wrapping of title and actions in source view (#1569)
The title of a file and the action buttons had to share the space. Now the title takes it needs and the actions move down if necessary. This behavior is similar to the list of files in changeset view (content component).
2021-03-04 09:54:08 +01:00
CES Marvin
087c7f3712 Prepare for next development iteration 2021-03-03 15:16:52 +00:00
CES Marvin
396789efa4 Release version 2.14.1 2.14.1 2021-03-03 14:21:12 +00:00