Previously a query was only parsed by lucene as it is, if the query
contained a colon (:) or a wildcard character (*). With this, every query
gets parsed as it is, as long as there is one operator contained inside
the query (colon, quotation marks, logical operators, ...). These are
called "expert queries". All other queries are still processed as
"simple queries" where every part of the query is extended with a
wildcard operator.
Addtionally the user is now getting feedback for every
search, if the query is a simple query or an expert query. The syntax
documentation got also extended with the quotation mark operator
and the definition of the two query types.
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
The name of the extension point, that is used by the readme plugin for example, was fixed.
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
The e2e Tests for repository code file search were failing, because the file search url now contained a trailing slash. That trailing slash was removed.
The readme files should be rendered in the code overview below
the file tree and not in a separate page. To render the readme file,
a new extension point was added. The order of items in the side
menu also got changed.
The path gets remembered by a query parameter. Using React state to remember the current path has two downsides. First you would need to wrap the components in a context and store the current state there. Second the remembered state gets lost by refreshing the state. By using a query parameter those two downside get avoided.
Committed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
e2e Tests should validate the correct url encoding for branch names and also check for invalid branch names. This PR is ready yet, there are still some test cases i want to implement.
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@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>
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.