Commit Graph

3233 Commits

Author SHA1 Message Date
Eduard Heimbuch
49195fd2e1 Fix log out endless loop which occurred on slow connections and could tear down the SCM-Manager server. 2021-11-09 16:17:42 +01:00
Eduard Heimbuch
cb7dbb0578 Fix useChangesets hook limit and refactor ChangesetRow.tsx 2021-11-08 14:20:11 +01:00
CES Marvin
2e01505e34 Prepare for next development iteration 2021-11-04 13:24:39 +00:00
CES Marvin
b5343bf714 Release version 2.26.0 2021-11-04 12:57:47 +00:00
Eduard Heimbuch
6f61fefec5 Improve a11y (#1841)
Improve accessibility by removing unnecessary tags without hrefs. Also remove many eslint errors and warnings.
2021-11-04 09:16:08 +01:00
Sebastian Sdorra
0efdd2a483 Add experimental high contrast mode (#1845)
Add an experimental high contrast color theme to SCM-Manager. The high contrast mode uses a dark background and color with a high contrast for a better accessibility.
The change adds the theme to ui-styles and theme switcher to the storybook of ui-components.
2021-11-04 08:33:11 +01:00
Sebastian Sdorra
241dcb6f0c Add viewer for pdf files (#1843)
Adds an viewer for pdf files to the source code browser.
2021-11-03 14:47:14 +01:00
Eduard Heimbuch
0cc12ba061 Fix storyshots 2021-11-03 10:53:46 +01:00
Florian Scholdei
b896df5046 Add alternative text to controls to allow screen readers to read them aloud (#1840)
Add alternative text to controls to allow screen readers to read them aloud.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-03 10:11:40 +01:00
Eduard Heimbuch
b78742ed0b Read all errors with screen reader (#1839)
Make error notifications accessible for screen readers.
2021-11-03 08:14:54 +01:00
Florian Scholdei
f44ef0be48 Move right row fileTree extension links to the right 2021-11-02 17:10:46 +01:00
René Pfeuffer
e1a2d27256 Implement file lock for git (#1838)
Adds a "file lock" command that can be used to mark files as locked by a specific user. This command is implemented for git using a store to keep the locks.

Additionally, the Git LFS locking API is implemented.

To display locks, the scm-manager/scm-file-lock-plugin can be used.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-01 16:54:58 +01:00
Sebastian Sdorra
87aea1936b Remove www from scm-manager.org url (#1837) 2021-10-28 11:00:24 +02:00
CES Marvin
3201cee91b Prepare for next development iteration 2021-10-21 12:54:14 +00:00
CES Marvin
241ea02c82 Release version 2.25.0 2021-10-21 12:23:34 +00:00
René Pfeuffer
27b9d2c78a Resolved branch revision in Source Extension Point (#1803)
This adds the "resolved revision" of the HEAD (of the current branch, if branches are supported) to the extension point repos.sources.extensions. This "resolved revision" holds the current HEAD revision of the repository (or the selected branch, if branches are supported). This means you can check, whether the release has changed since an extension has been rendered for the first time.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-10-20 13:29:47 +02:00
Konstantin Schaper
d41b293109 remove query keys when deleting individual entities (#1832)
When deleting individual entities, their query keys should be removed, not only invalidated. This is to prevent situations, where an entity is deleted via the web interface and react-query attempts a re-fetch before a redirect to the collection view can occur. This could lead to a not found error.
2021-10-20 13:15:17 +02:00
Konstantin Schaper
92e2093759 fix broken storybook story 2021-10-20 10:02:12 +02:00
Konstantin Schaper
57aacba03a New extension points for repository overview (#1828)
The landing-page-plugin is being reworked and integrated into the repository overview. This requires new extension points and slightly adjusted components to better match the repository overview page visually. Also, binder options can now be passed as an object which offer a new priority option that causes sorting in descending order.
2021-10-19 09:31:40 +02:00
Eduard Heimbuch
35f4cb3e61 Always show SCM-Manager footer (#1826) 2021-10-18 16:23:30 +02:00
Florian Scholdei
3cb8fb52bb Correct import in RepositoryGroupEntry (#1825)
* Move GroupEntries to ui-webapp

* Add changelog entry
2021-10-12 14:01:19 +02:00
Sebastian Sdorra
516b733ec2 Avoid refetch of markdown content (#1823)
* Update react-query to 3.25.1
* Avoid refetching of markdown content on toggle between source and md view
2021-10-11 15:24:12 +02:00
CES Marvin
3a7e4845a1 Prepare for next development iteration 2021-10-07 14:47:34 +00:00
CES Marvin
264fd6b048 Release version 2.24.0 2021-10-07 14:23:06 +00:00
Sebastian Sdorra
1318f40e6d Fix bugs in svn and source tree for folders with a % in the name (#1818)
* Update svnkit to 1.10.3-scm1 to fix handling of path with % in the name
* Fix source tree and breadcrumb navigation for folders with a % in the name
2021-10-04 11:19:25 +02:00
Sebastian Sdorra
f5d9855a24 Add extension points for source tree (#1816)
This change will add an extension point which allows to wrap the source tree. This is required in order to use a context provider e.g. to capture a selected file. Another extension point allows to add a row between the row of a file.
In order to implement the extension points ui-extensions has now a wrapper property and passes the children of an extension point to implementing extension.
2021-09-30 16:41:04 +02:00
Eduard Heimbuch
922dc27c49 Add delete method for configuration store (#1814)
Add method to delete configuration stores completely.
2021-09-30 08:54:22 +02:00
Florian Scholdei
ad2dfa42fd Fix DangerZone spacing 2021-09-24 16:38:55 +02:00
Florian Scholdei
cf7664ad1f Update Button.tsx 2021-09-16 17:56:04 +02:00
Florian Scholdei
2cb006d040 Replace styled-components with bulma helpers (#1783)
Use Bulma helpers whenever possible instead of custom styled components.
This pull request replaces primarily color definitions, spacing and flex instructions.
2021-09-15 17:40:08 +02:00
CES Marvin
a95a18512d Prepare for next development iteration 2021-09-08 12:07:31 +00:00
CES Marvin
ae699571f3 Release version 2.23.0 2021-09-08 11:42:03 +00:00
Sebastian Sdorra
92fa67e937 Fix missing encoding of useBranch hook (#1798) 2021-09-08 07:45:41 +02:00
Sebastian Sdorra
856315a15f Fix broken login page if login info response could not be parsed (#1795) 2021-09-06 08:33:24 +02:00
Eduard Heimbuch
43e1ea06c8 Fix HalRepresentationWithEmbedded type (#1793)
Fix HalRepresentationWithEmbedded type since _embedded can be null.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-09-02 15:47:15 +02:00
Sebastian Sdorra
0ba8300051 Fix duplicate entries in branch selector (#1794) 2021-09-02 15:09:45 +02:00
Sebastian Sdorra
61c2ebe80e Keep quick search input on page reload (#1788) 2021-08-31 13:30:15 +02:00
Eduard Heimbuch
58f792a285 Fetch clone modal data on first opening (#1784)
Get the data of the clone modal the first time it is opened. This way, we display a loading spinner for a fraction of a second when the modal is first opened. But we also prevent fetching a lot of data that is probably not needed.
2021-08-31 07:39:02 +02:00
Sebastian Sdorra
0a26741ebd One index per type and parallel indexing (#1781)
Before this change the search uses a single index which distinguishes types (repositories, users, etc.) with a field (_type).
But it has turned out that this could lead to problems, in particular if different types have the same field and uses different analyzers for those fields. The following links show even more problems of a combined index:

    https://www.elastic.co/blog/index-vs-type
    https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html

With this change every type becomes its own index and the SearchEngine gets an api to modify multiple indices at once to remove all documents from all indices, which are related to a specific repository, for example.

The search uses another new api to coordinate the indexing, the central work queue.
The central work queue is able to coordinate long-running or resource intensive tasks. It is able to run tasks in parallel, but can also run tasks which targets the same resources in sequence. The queue is also persistent and can restore queued tasks after restart.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-08-25 15:40:11 +02:00
Florian Scholdei
5c9b270e6e Remove deletion of modalRoot node (#1779)
Remove deletion of empty modalRoot node to allow a different modal to continue to exist
2021-08-24 11:26:16 +02:00
Sebastian Sdorra
03449de238 Fix repository viewer for filenames which contains a hash (#1776)
Add missing url encoding for file links in the repository viewer.

Fixes #1766
2021-08-23 20:05:10 +02:00
Sebastian Sdorra
a7bb67f36b Fix branch selector display revision if selected instead of first branch (#1767)
The select component displays the first option if the value is not part of the options. This behaviour breaks the BranchSelector which uses Select since version 2.22.0 (before it used the deprecated DropDown component). The BranchSelector has to display the revision if one is selected, which is not part of the options.
This change will add a addValueToOptions property to the Select component and restore the old behaviour.
2021-08-16 14:54:50 +02:00
Sebastian Sdorra
c03a9f6fcb Fix error message for parse error on search result page (#1768)
Show same parse error on detail page as on omni search.
2021-08-16 13:19:03 +02:00
Sebastian Sdorra
d1ea249539 Improve search syntax page (#1770)
Remove non-searchable fields from syntax site, do no translate field names, use field name for title if no translation is available, refactor syntax page to respect error states
2021-08-16 13:17:25 +02:00
Sebastian Sdorra
8330f8fddd Fix submission of empty search queries (#1769)
Fixes submission of OmniSearch with an empty query or one which contains only a single character.
2021-08-16 13:11:44 +02:00
Sebastian Sdorra
1b280e0aa4 Keep search result type if searched from result page (#1764)
Whenever OmniSearch was used, the user was redirected to the repository results. However, if you are looking for a different type and want to refine your search after the first results, it makes sense to stay on the same type when searching again.
So whenever a search is started from the search result page the selected type keeps selected.
2021-08-11 09:41:10 +02:00
Konstantin Schaper
ddd2fc1055 Add additional help to quick search and an advanced search documentation page (#1757)
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-08-09 12:07:28 +02:00
René Pfeuffer
f2249cea73 Update to eslint-plugin 2.13.0 2021-08-06 10:34:30 +02:00
Eduard Heimbuch
842b0b7698 Show empty file (#1762)
Show empty file instead of an endless loading spinner.
2021-08-06 08:31:36 +02:00
Sebastian Sdorra
8ce69d9848 Allow enrichment of embedded repositories on search hits (#1760)
* Introduce RepositoryCoordinates

RepositoryCoordinates will be used for the enrichment of the embedded repositories of search result hits. This is required, because if we used the normal repository for the enrichment, we would get a lot of unrelated enrichers would be applied.

* Add builder method to HalEnricherContext

With the new builder method it is possible to add an object to the context with an interface as key.

* Add enricher support for embedded repository by applying enricher for RepositoryCoordinates

* Use embedded repository for avatars
2021-08-05 15:12:48 +02:00