This new modifications provider consistently computes the modifications caused by a push to a branch. In contrast to the changeset provider that often has been used before to check what has changed, this also works for forced updates, rebased branches and fast-forwards. Because these types of changes are normally only used with git, this provider (for now) has only been implemented for git.
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Pushed-by: Alexander Dammeier<alexander.dammeier@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Replaces the headlessui combobox with a custom implementation following the aria patterns of a menu. This allows us to have interactive links in the popup while connecting it to the input. The pattern is most common with buttons and is less documented yet valid for inputs.
Pushed-by: Konstantin Schaper<konstantin.schaper@cloudogu.com>
Co-authored-by: Konstantin Schaper<konstantin.schaper@cloudogu.com>
In the general admin settings, the user can find two button to either invalidate the cache or rebuild the search index. The endpoints are defined in the InvalidationResource class in scm-webapp.
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Pass the ancestor commit as the old revision if it is set in the GitDiffResult. This fixes the image diff renderer if the pull requests consists of multiple commits to show the full diff instead of the changes between the latest two commits.
This PR contains new Radiobutton components that are needed for the signature-check-plugin. Additionally the ref passing for ControlledChipInputs was also fixed. The current styling of the Radio Buttons need to be discussed with Philipp again. The Signature Check Plugin provides an example use of it.
Co-authored-by: Konstantin Schaper<konstantin.schaper@cloudogu.com>
This allows re-rendering of useLocalStorage hooks whenever the value for the associated key changes. In the previous implementation, reading and writing via useLocalStorage did not cause a re-render and was therefore impossible.
When importing a SCM exported Repo with Metadata the creator wasnt set as the owner and thus couldnt view the imported repository. This bug has been fixed.
Pushed-by: Tarik Gürsoy<tarik.guersoy@cloudogu.com>
Co-authored-by: Tarik Gürsoy<tarik.guersoy@cloudogu.com>
The AuditEntry annotation recevied a new property called autoMask. If that property is set to true, then fields get automatically masked in the audit log, if the field name contain certain phrases.
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Reviewed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
The DefaultNamespaceManager has not been a singleton.
Because of this, instances could be removed before
the event has been handled completely and therefore
the handler could no longer be removed from the queue,
resulting in an IllegalStateException.
By making the manager a singleton, it is no longer
garbage collected and therefore we do not get the
exception any longer.
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
The initialization to set the default branch in
git repositories should not be executed for
non-git repositories. Otherwise, this throws
exceptions in SVN repositories all the time
because the branch command is not supported.
Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Another Search Bar is added in the Search Page directly. This one persists the current query even after triggering another search.
Committed-by: Tarik Gürsoy <tarik.guersoy@cloudogu.com>
Authored-by: tzerr <thomas.zerr@cloudogu.com>
SCM-Manager created directories for each plugin every time the plugin is installed without deleting the old directories. With this change the old directories will be removed.
Committed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>