Commit Graph

12162 Commits

Author SHA1 Message Date
René Pfeuffer
ad6000722d LRU semantic for workdir cache (#1735)
Introduces a maximum size for the simple workdir cache. On cache overflow workdirs are evicted using an LRU strategy.
Furthermore parallel requests for the same repository will now block until the workdir is released.
2021-07-28 07:54:37 +02:00
Sebastian Sdorra
f2cc9f67ac Fix overflow of quick search results with long repository names (#1739) 2021-07-26 13:50:24 +02:00
Eduard Heimbuch
903285ad96 Improve collapse api on diff to enable external state management (#1736)
Create new diff collapse api which allows to handle the collapse state externally.
2021-07-26 10:32:10 +02:00
Konstantin Schaper
e5a1702e95 rework valueless text adapter to be backwards-compatible with edge-cases (#1737)
When implementing the remark rehype rework, which was supposed to be backwards-compatible, incorrect mdast was produced by the remarkValuelessTextAdapter in some edge-cases. This caused markdown generated by other plugins, such as the issue-tracker-plugin, to be faulty (e.g. Und die #10 ist *so* toll caused visual artifacts). This PR solves the issue by inlining the children of the empty text node instead of wrapping them in a paragraph. This is also more consistent with the previous output, as can be observed when pairing SCM-Manager <= 2.15.0 with the issue-tracker-plugin and using the aforementioned snippet.
2021-07-23 15:54:04 +02:00
Eduard Heimbuch
f52c0b07bf Enhance push command with username/password authentication (#1734) 2021-07-23 13:42:39 +02:00
Eduard Heimbuch
624605daaa Fix story-shots 2021-07-23 08:54:02 +02:00
Sebastian Sdorra
60045f2c71 Adjust logo for small header 2021-07-22 16:57:54 +02:00
CES Marvin
4b2ec8cb66 Prepare for next development iteration 2021-07-21 11:05:18 +00:00
CES Marvin
e6807ad56a Release version 2.21.0 2.21.0 2021-07-21 10:36:56 +00:00
Eduard Heimbuch
21c378bfa0 Adjust changelog for release 2.21.0 2021-07-21 11:32:48 +02:00
René Pfeuffer
2ddb679796 Prevent null search string
A request without search string will not prevented
otherwise and therefore will lead to a NPE with
an internal server error response (500).
2021-07-21 11:32:14 +02:00
Sebastian Sdorra
39d2f12b66 Return separate links for searchable types instead of single templated link (#1733)
The search link of the index resource is now an array of links instead of single templated link.
The array contains one link for each searchable type.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-07-21 10:07:41 +02:00
Phil-Ah
8ba93422a2 Add colors for high-contrast-mode (#1731)
Tweaking the existing color scheme for SCM-Mananger to fulfill accessibility requirements lead to the conclusion, that an additional high-contrast-mode is necessary. The proposed colors are demonstrated in the PR.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-07-20 08:30:47 +02:00
Sebastian Sdorra
e75d937ee5 Prepare search api for different types (#1732)
We introduced a new annotation '@IndexedType' which gets collected by the scm-annotation-processor. All classes which are annotated are index and searchable. This opens the search api for plugins.
2021-07-19 08:48:43 +02:00
Eduard Heimbuch
2de60a3007 Fix small header glitches on mobile view 2021-07-16 13:06:46 +02:00
Sebastian Sdorra
e321133ff7 Add search engine and quick search for repositories (#1727)
Add a powerful search engine based on lucene to the scm-manager api.
The api can be used to index objects, simply by annotating them and add them to an index.
The first indexed object is the repository which could queried by quick search in the header.
2021-07-14 11:49:38 +02:00
Eduard Heimbuch
ce4b869a7a Fix header actions (#1728)
The notifications blocked 2 connections which decreased the amount of available connections.
2021-07-14 08:47:39 +02:00
Florian Scholdei
0d0f9995fe Add files to empty repository (#1717)
It should also be possible to create new files in empty non-initiated repositories with the help of scm-manager/scm-editor-plugin/pull/39. So that the plugin can mount itself, a new endpoint was provided hereby.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-07-13 11:40:49 +02:00
René Pfeuffer
1ce19eea4a Use link instead of history push 2021-07-07 19:33:27 +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
Eduard Heimbuch
123bf5c862 Improve plugin center for Cloudogu plugins 2021-07-05 09:48:50 +02:00
René Pfeuffer
04f7a3497c Specify admin username at startup (#1722)
In addition to the admin password, the admin user name can
be (optionally) specified, too.
2021-07-02 12:22:31 +02:00
René Pfeuffer
4fcdfc28e3 Fix display of contributor table (#1718)
Fixes the display of the contributors table in the changeset details view.
2021-07-02 10:41:20 +02:00
Sebastian Sdorra
e5ebb78146 Fixed missing update if content of diff changes (#1714)
* Fixed missing update if content of diff changes

* Add property to disable automatic refetch in diffs

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-06-30 16:36:26 +02:00
Eduard Heimbuch
59c15feb87 Show last modified date on repository overview (#1715)
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-06-30 08:40:49 +02:00
Konstantin Schaper
e1239aff92 implement react-query for edge-cases (#1711)
When initially implementing react-query, we focussed on core features. This pull request now replaces the remaining apiClient usages in ui-components and ui-webapp with react-query hooks.
2021-06-28 13:19:03 +02:00
Eduard Heimbuch
2cd46ce8a0 Prevent overwrite read only gpg keys (#1713)
It was possible to download the default SCM-Manager gpg keys and overwrite them with the same raw key. This made the new key deletable. This behaviour is not longer possible.
2021-06-28 11:27:13 +02:00
Eduard Heimbuch
7a3db7ee3f Include cloudogu plugins to plugin center (#1709)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-06-25 09:22:53 +02:00
René Pfeuffer
d9d3547a22 Create custom initial user (#1707)
Using a default user with a default password has the implicit risk, that this user is not changed and therefore this system can be compromised. With this change, SCM-Manager does not create the default user with the default password on startup any more, but it shows an initial form where the initial values for the administration user have to be entered by the user. To secure this form, a random token is created on startup and printed in the log.

To implement this form, the concept of an InitializationStep is introduced. This extension point can be implemented to offer different setup tasks. The creation of the administration user is the first implementation, others might be things like first plugin selections or the like.

Frontend components are selected by the name of these initialization steps, whose names will be added to the index resource
(whichever is active at the moment) and will be show accordingly.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-06-24 09:29:42 +02:00
Konstantin Schaper
d6e36e7145 implement react-query for all content views (#1708)
Implements react-query and replaces direct apiClient usage for sources, annotate and history content views.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-06-23 14:14:56 +02:00
René Pfeuffer
8e47238bf7 Fix language attribute of top level html tag (#1705)
Sets aka "fixes" the language attribute of the top level html tag. This was hard coded to 'en' before, what led to bad experiences with screen readers. We now set overwrite the attribute with the language from i18next.
2021-06-21 13:10:08 +02:00
René Pfeuffer
0af1d4058e Fix changelog 2021-06-18 11:46:24 +02:00
Florian Scholdei
9b6fb991e5 Building forms documentation with react-hook-form (#1704)
Building forms documentation with react-hook-form
2021-06-16 17:19:55 +02:00
CES Marvin
a80ea62d09 Prepare for next development iteration 2021-06-16 13:34:20 +00:00
CES Marvin
0fe8914f9d Release version 2.20.0 2.20.0 2021-06-16 13:05:07 +00:00
Konstantin Schaper
a08ac025fd Adjust changelog for release 2.20.0 2021-06-16 14:55:59 +02:00
Eduard Heimbuch
ab2bd6d679 Fix single tag deletion (#1700)
Redirect to tags overview after a single tag was deleted to prevent error page.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-06-16 14:45:40 +02:00
René Pfeuffer
b9d5c3aa8d Fix hook events for git mirror command (#1703)
Currently the mirror command implementation for git fires post receive repository hook events, that return every changeset of the repository instead of those really added by the single mirror update.

This fixes this issue by first creating a working copy, running the fetch and the update in this clone, and then pushing back the result to the central repository. This triggers the internal mechanisms used in other commands like the modify command.

The downside of this is, that we first have to create the clone, so for big mirrors a cached working copy is strongly recommended.
2021-06-16 14:26:02 +02:00
René Pfeuffer
b6d343bf09 Make auth expiration for LFS configurable (#1697)
When SCM-Manager is used behind a reverse proxy like
Nginx it may be the case, that lfs PUT requests are
buffered by the reverse proxy and will be sent to the
SCM-Manager after the whole file has been received. Due
to the expiration time of 5 minutes for the authentivation
token that had been requested by Git before the upload
has been started, this request from the proxy to
SCM-Manager fails if the upload from the client to the
reverse proxy took longer than these 5 minutes.

To solve this, we make this expiration time configurable,
so that whenever you have very large files or small
bandwidth the expiration timeout can be increased.
2021-06-16 09:14:52 +02:00
Eduard Heimbuch
97b32f3918 Clear caches if gpg key was added or deleted (#1701)
Clear more caches if GPG key was added or deleted. It seems quite difficult to find the right way to invalidate partial caches so for now we keep purging everything.

Maybe we could add an API to efficiently find out what parts of the cache can be removed.

Fixes #1668
2021-06-15 19:10:48 +02:00
Konstantin Schaper
17ecec03b2 tidy up suggestions api (#1699)
Streamlines the suggestions/autocomplete api and removes redundancy. All logic accessing the backend is now in hooks in ui-api.
2021-06-15 15:36:21 +02:00
Eduard Heimbuch
e5e79398d2 Update story-shots 2021-06-15 10:13:08 +02:00
Konstantin Schaper
aa98044290 Form elements that support react-hook-form can now be made read-only (#1696)
The recently integrated form library react-hook-form does not submit disabled inputs, but a behaviour where interaction with an input is not possible and it is still submitted is necessary. This feature implements a readOnly property for all components that support react-hook-form. It is visually indistinguishable from a disabled input but will be submitted when the form is submitted. All form fields use disabled fieldset wrappers to accomplish this goal because react-hook-form only checks the disabled property on the input itself, not any ancestors, and the inputs are still correctly displayed as disabled.
2021-06-15 10:11:59 +02:00
Florian Scholdei
58a8232aa9 Uniform rendering of tooltips for repository badges (#1698)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-06-15 09:29:24 +02:00
Sebastian Sdorra
965b5dbced Add support for basic authentication with access token (#1694)
A special user __bearer_token with a valid access token as password can be used with basic authentication.
2021-06-10 08:27:01 +02:00
CES Marvin
ce2440ad02 Prepare for next development iteration 2021-06-09 15:32:47 +00:00
CES Marvin
f415cde6be Release version 2.19.1 2.19.1 2021-06-09 14:55:01 +00:00
Eduard Heimbuch
253a642180 Adjust changelog for release 2.19.1 2021-06-09 16:44:57 +02:00
Florian Scholdei
b058764fa1 Harmonize FileInput component with styleguide (#1693) 2021-06-09 16:39:07 +02:00
Florian Scholdei
f274b7f4b2 Add handling when duplicated branch part cannot be created (#1692)
Add handling when duplicated branch cannot be created because a part of the name already exists as a branch
2021-06-09 14:58:59 +02:00