278 Commits

Author SHA1 Message Date
René Pfeuffer
0611cd4098 Adjust changelog for release 2.30.0 2022-01-21 15:59:17 +01:00
Konstantin Schaper
d0cf976a54 Improve modal accessibility
Implement initial focus for modals. Change all modals including forms to put initial focus on the first input. When Enter is pressed on any input (CTRL + Enter for Textareas), the form is submitted if it is valid.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-01-21 14:25:19 +01:00
Eduard Heimbuch
49844d1595 Compare branches, tags and revisions (#1920)
Add branch/tag/revision compare to see diffs and changesets between the source and target revisions. This feature is reachable from the branch/tag detail page and also the source code view.

Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-01-20 11:00:49 +01:00
René Pfeuffer
6e555a855a Set HEAD to correct default branch (#1929)
Sets the HEAD for new Git repositories to the default branch (this is 'main' for the default configuration).
This change led to errors in unit tests, that depended on the 'master' branch.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-01-20 10:19:27 +01:00
Matthias Thieroff
0f01bb82c6 Fix bugs in unit tests which occur on Windows only (#1927)
On Windows it is much more necessary to close files to avoid locked files which prevent deleting a temporary file or folder. Also paths need to be handled differently because of the drive letter and colon appearing on Windows.
2022-01-20 08:48:13 +01:00
Eduard Heimbuch
63ec4e6172 Add security notifications to inform about vulnerabilities (#1924)
Add security notifications in SCM-Manager to inform running instances about known security issues. These alerts can be core or plugin specific and will be shown to every user in the header.

Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
Co-authored-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-01-19 11:58:55 +01:00
Eduard Heimbuch
07fa753f80 Encrypt myCloudogu refresh token on file system (#1923)
Encrypt myCloudogu refresh token on file system and update current stored tokens using an update step.
2022-01-19 09:26:01 +01:00
René Pfeuffer
4ed38d62f5 Keep user/group selection in permissions dialog (#1919)
In the dialog to add permissions for a repository, this will keep
the selection whether to add a user or a group after a new entry
has been added.
2022-01-18 09:51:04 +01:00
René Pfeuffer
f2a1effc77 Sorted autocomplete (#1918)
Users, groups, repositories and repository roles have been sorted in the rest layer by default if no other sort option was given. In the layers "below" (aka the manager classes or the dao), the collections have been unsorted. This led to the effect, that the autocomplete resource, which did not sort all values beforehand, returned unsorted results. As a sideeffect, direct matches for an input could occur at a random position or not at all (as reported in #1695), when there were enough other matches.

With this pull request the databases for users, groups, repositories and repository roles will use instances of TreeMap instead of LinkedHashMap internally, so that these values are sorted implicitly (by id respectively name for users, groups and repository roles and namespace/name for repositories).

Due to this change the default sort applied in the rest layer could be removed.
2022-01-18 09:46:10 +01:00
René Pfeuffer
e9f22e89ec Autocomplete for namespaces (#1916)
Changes the "namespace" input in the repository creation form or the "rename repository" dialog to an
autocomplete input. Of course this is only available for the "custom" namespace strategy.
2022-01-11 16:17:57 +01:00
René Pfeuffer
6107f1b5bf Adjust changelog for release 2.29.0 2022-01-07 17:37:57 +01:00
Florian Scholdei
586a060043 Fix high contrast mode issues (#1910)
Additionally adds css variables to be used by plugins

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-01-07 16:54:17 +01:00
René Pfeuffer
788787db5b Copy button for md code blocks (#1902)
Adds a small "copy to clipboard" button in the upper right corner of code blocks in rendered markdown files.
Additionally this removes the trailing lines in such code blocks.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
2022-01-06 13:42:07 +01:00
Phil-Ah
a82569fdce Unify and improve mono-fontstack. (#1912)
Unify and enhance font stack for mono-fonts. The updated font stack should provide a better UX on diverse platforms by using standard fonts. Fallbacks are more diverse. The amount of similar but not equal fonts in relation to 3rd-party plugins should be reduced.
2022-01-06 11:50:34 +01:00
Eduard Heimbuch
aa1558dbac Disable repository types (#1908)
Disable repository types via global config for Git, Mercurial and Subversion. It is only possible to disable a type, if no repositories of this type exist. Also prevent repository creation if no type is allowed at all to catch nasty errors.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2022-01-06 10:05:01 +01:00
Eduard Heimbuch
82ac06f896 Add property to make breadcrumb not clickable (#1907)
Make breadcrumb not clickable with new property. This is useful to show the breadcrumb for path that does not exist yet.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-01-05 14:30:14 +01:00
Matthias Thieroff
a756b86f77 Add ability to render storyshots async (#1906) 2022-01-04 12:32:37 +01:00
Matthias Thieroff
8136aa1cbd Set the line ending used for license files to LF (#1904)
Set line ending explicitly to LF because on Windows using the system line ending does not get along well with our git settings.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-12-23 09:43:32 +01:00
René Pfeuffer
722c4b431b Adjust changelog for release 2.28.0 2021-12-22 16:46:14 +01:00
Matthias Thieroff
bc86ed4474 Display search result fixes (#1901)
Fix syntax highlighting on non highlighted fields. Fix ellipsis on new lines in code syntax highlighting. Fix ellipsis on content start or end in non code fields.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-12-21 15:10:08 +01:00
Matthias Thieroff
5b700dc0c7 Fix closing of repository while getting the latest commit asynchronously (#1903)
Getting the latest commit can run asynchronously, which can lead to a reopening of a repository after the RepositoryService has already closed it. This lead to an open file handle which prevented a proper deletion of the repository. We now explicitly open and close the repository when getting the latest commit.
2021-12-21 15:09:41 +01:00
René Pfeuffer
631aafafa6 Update logback 2021-12-17 19:29:52 +01:00
Florian Scholdei
16960d742e High contrast mode findings (#1892)
Fixes most of the flaws in high contrast mode.
2021-12-16 17:54:39 +01:00
Eduard Heimbuch
af35ab5ff8 Fix extension point "main.route" which was broken because the index links were no longer provided. This broke the activity plugin and maybe some other plugins too. 2021-12-16 15:47:11 +01:00
pmarkiewka
e70e860e07 Adds compatibility for OCP and ICP (#1870)
Adds compatibility for OCP (openshift container platform) and ICP (IBM cloud private)

- Sets folder permissions to group 0, because the arbitrary assigned user ids in openshift are all part of group 0
- Removes usage of root user 0, because it is prohibited in some environments
- Use numerical user id, because some environments do not accept non-numerical user ids
- Removes initContainer for setting volume permissions, because it is not needed anymore
- Removes chown in plugin script, because it is not needed anymore
- Adds extraArgs option in Helm chart to add arguments on server startup, i.e. initial admin username and password

Signed-off-by: pmarkiewka <philipp.markiewka@cloudogu.com>
2021-12-16 13:59:56 +01:00
Sebastian Sdorra
a3ec5bcbeb Improved quick search experience for screen readers (#1898)
Improved screen reader experience by adding textual description of search results, which are only readable for screen readers.
2021-12-16 11:51:34 +01:00
Matthias Thieroff
11673e6d07 Fix display of ellipsis in search fragments (#1896)
Display ellipsis as an indicator that there is more content before or behind a search result fragment only if there really is more content.
2021-12-15 15:07:46 +01:00
René Pfeuffer
1118ddd146 Ahead/behind in branch details (#1893)
Adds the ahead/behind count to the branch details view.
2021-12-15 15:03:40 +01:00
Sebastian Sdorra
e2d63cc2a1 Use more accurate language detection for syntax highlighting (#1891)
Updated spotter to version 4 in order to get prism syntax mode for detected coding languages.
Expose syntax modes of coding languages as headers on content endpoint and as fields on diff dto.
Remove leading line break on search result fragments.
Use mark instead of span or strong for highlighted search results.
Add option to use syntax highlighting in TextHitField component.

Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
2021-12-13 17:03:08 +01:00
Eduard Heimbuch
b8d6c219ee Add extension point to branches overview (#1888)
Prepare branches overview to show additional branch details.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-12-10 11:04:59 +01:00
Eduard Heimbuch
289175331f Fix es lint errors and warnings and enforce es lint as build breaker. (#1878)
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-12-09 09:12:02 +01:00
René Pfeuffer
65d1e4ffd2 Fix access to ScmPathInfoStore as Provider to prevent injection errors (#1889)
Fix access to ScmPathInfoStore as Provider to prevent injection errors. Errors might happen, if beans using ScmPathInfoStore (like the BranchLinkProvider) are injected in beans that are singletons or that have be created outside of request scope otherwise. We do so knowing that this might lead to runtime errors (eg. when links shall be build in a thread that has no request scope). We have decided nonetheless that injection errors on startup are worse for plugin developers, that may have no clue how to solve injection problems.
2021-12-09 07:05:12 +01:00
Sebastian Sdorra
9375d2694c Highlight only queried fields (#1887)
Expert queries highlight only the fields which are used in the query.
2021-12-07 08:08:21 +01:00
Sebastian Sdorra
ad5bbfeef3 Fix search highlighting conflict with jsx code (#1886)
Replaces "<>", "</>" highlighting marks with "<|[[--" and "--]]|>" to avoid conflicts when highlighting jsx code.
2021-12-06 16:49:31 +01:00
Eduard Heimbuch
e4936260a1 Fix overview document title (#1885) 2021-12-03 13:56:31 +01:00
Eduard Heimbuch
f7d8636b35 Fix footer links (#1882)
Fix footer links. Before each personal link were redirected to the theme page.
2021-12-03 08:50:37 +01:00
René Pfeuffer
fa17c339a2 Bugfix for files with colons (#1881)
Fix source code view for files with colons (:).
2021-12-02 09:29:23 +01:00
Florian Scholdei
7f807a8e0f Improve headings structure (#1883)
The content of the SCM-Manager should be made accessible and usable in a sensibly structured way so that web content is easy to use for ever user.
2021-12-02 08:45:50 +01:00
Eduard Heimbuch
9cc134f5a8 Feature/branch details (#1876)
Enrich branch overview with more details like last committer and ahead/behind commits. Since calculating this information is pretty intense, we request it in chunks to prevent very long loading times. Also we cache the results in frontend and backend.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-12-01 14:19:18 +01:00
René Pfeuffer
ce2eae1843 Enhance error messages on gpg key import (#1879) 2021-11-30 12:22:54 +01:00
René Pfeuffer
6ea77b42ca Fix edge cases in move (#1874)
Fixes edge cases for "move" in the modify command, like

- reject backslashes in validation
- add overwrite option
- check for invalid source and target options

This is an update to the implementation of "move" in #1859.

Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
2021-11-30 08:49:47 +01:00
Eduard Heimbuch
5eb1d9cd22 Clean up html structure (#1869)
Fix different html syntax errors to improve a11y.
2021-11-29 13:57:05 +01:00
Sebastian Sdorra
9dee08f68d Update Gradle to 7.3 (#1873)
Update Gradle to 7.3. in order to profit from the performance improvement and to prepare for dependency lockfiles. Due to the upgrade to 7.x we had to use a license plugin which supports Gradle 7.
2021-11-29 09:05:24 +01:00
Sebastian Sdorra
1082d39120 Keep whole lines for code highlighting in search (#1871)
We now use SimpleSpanFragmenter with a fragment size of 200 for each highlighted field. For code fields we ensure that each line is complete.
2021-11-25 13:48:36 +01:00
Matthias Thieroff
f0ab0950a2 Fix move in modify command for windows (#1872)
On Windows the path after moving files was not recognized correctly by git, hg and svn. The move resulted in a deletion without adding new files. Therefore we now change the path to unix style before adding files whenever we detect a non unix style file separator.
2021-11-24 14:23:20 +01:00
René Pfeuffer
b26ed95333 Autocloseable streams in XML DB (#1868)
Introduce autocloseable streams for file handling in xml database module.
2021-11-22 10:26:00 +01:00
Konstantin Schaper
13590676fd Add move to modify command (#1859)
dds a move/rename functionality to the modify command. This currently only works for absolute destination paths and does not work with backslashes. If the destination path does not exist, it is created. The action fails if the target file already exists.
2021-11-19 08:43:44 +01:00
René Pfeuffer
675dde1501 Adjust changelog for release 2.27.0 2021-11-16 16:44:08 +01:00
Sebastian Sdorra
6f67fa8142 Update vulnerable dependencies 2021-11-16 16:40:05 +01:00
René Pfeuffer
23b7e0d85a Fix color of source header 2021-11-16 15:35:03 +01:00