First, we make "encryptPassword" in the PasswordService
idempotent, so that the method will not change the password
when the method is called with an already encrypted string.
Then, in the user manager, we will always call this method
to encrypt the password, if this is not already the case.
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
One of our users would like to create a new plugin that provides alternative methods of authentication. For that purpose, we need an additional extension point that can either replace the login form entirely, or extend it by adding login buttons. By default, the extension point simply renders the original login form.
Passwords should be checked when created or changed in the frontend just as they are in the backend for REST and CLI.
Also extend the password validation to allow upto 1024 characters instead of 32.
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
If a mirrored git repository uses LFS, SCM-Manager will now also load the binaries, so that the mirrored repository can be used without missing LFS files.
The landing-page-plugin is using the CardColumnSmall component from ui-components to display event as tiles. Most events have a link, but some, like the RepositoryDeletedEvent do not. For a better UX it is therefore necessary, to have a CardColumnSmall that is not internally wrapped in a link.
Users should easily understand which kind of import they should choose depending on their dump-file. The export and import with metadata is not experimental any longer. Labels and help text should be short and concise.
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
This change allows our ui libraries to be built separately. It is therefore to utilize different build tools for individual projects, as well as using build caches for the local build.
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
Validate lfs file checksum to ensure that the file was transferred successfully. If an error occurs, the blob will be deleted to prevent corrupt files inside the storage.
Normally, all resources (like the hg process) will be released after
the stream of the diff. But this may lead to errors, when
DiffCommandBuilder#getContent is used and other commands are used
afterwards.
So with this we introduce a new interface method in the DiffCommand
that can be implemented without closing resources. This method is
used for the computation of the diff as string.
We use this to distinguish between the computation of diffs as a
stream like in rest calls, and the computation as a single string
result that may we followed by other commands using the same context.
The feedback button overlaps the warp menu when the SCM-Manager is used as a dogu in a Cloudogu EcoSystem on small screens. The default position is changed to avoid masking the warp menu. The z-index of the feedback button is reduced to avoid masking the open warp menu.
The DOM-sequence is changed to ensure users with keyboard navigation can access important parts of the page before the feedback button.