Commit Graph

3079 Commits

Author SHA1 Message Date
Laura Gorzitze
89bcd7c099 Prepare for next development iteration 2023-01-18 15:55:59 +01:00
Laura Gorzitze
dcabdfc25a Release version 2.41.0 2023-01-18 15:26:43 +01:00
Konstantin Schaper
7d2f9b7fe1 add missing @since annotations to ui-forms & ui-buttons 2023-01-16 13:56:56 +01:00
Konstantin Schaper
d5e5490b53 Add new overlay ui module with tooltip component
Our current tooltip component has been causing ui glitches for over a year now because it did not use react portal to render the tooltip content outside the react render tree which interfered with html/css. The new component is based on a fully accessible component by radix-ui. The styling, for now, has been kept from the original tooltip.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-01-16 13:37:52 +01:00
Konstantin Schaper
d529928287 fix publish ui publish configs 2023-01-16 09:22:53 +01:00
Eduard Heimbuch
ac419daa3f Add ConfigurationAdapterBase and extension points for trash bin
Adds the new abstract class ConfigurationAdapterBase to simplify the creation of global configuration views. In addition there is some cleanup, interfaces and extension points for the repository trash bin plugin.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-01-13 13:08:51 +01:00
Eduard Heimbuch
5c4c759bd2 Make the diff header sticky 2023-01-11 16:04:39 +01:00
Eduard Heimbuch
72dfe80843 Introduce ui-forms framework
Adding a new ui framework to make creating forms as easy and consistent as possible. It wraps a lot of boilerplate code and enforces good practices for make the forms in the "SCM-Manager way".


Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>

Reviewed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-01-02 08:59:07 +01:00
Rene Pfeuffer
f2f2f29791 Render images from repository correctly
This adds a markdown renderer for images, so that images
that are referenced by their repository path are resolved
correctly. In this case, the content rest endpoint is
rendered as source url. For this, two new contexts
(RepositoryContext and RepositoryRevisionContext)
have been added, that make the repository and the
current revision available, so that the content url can
be resolved properly. These new contexts may be used
by plugins like the scm-readme-plugin.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

Reviewed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-12-19 10:12:01 +01:00
Rene Pfeuffer
6ba792e5bc Adds a new extension point repository.overview.listOptions that can be used to set the page size, whether to list archived repositories or not and potentially other options for the repository overview. If no extension is bound, the default values will be used.
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-12-15 11:16:01 +01:00
CES Marvin
4db07d15f6 Prepare for next development iteration 2022-12-07 09:59:31 +00:00
CES Marvin
d1c3fd7ae9 Release version 2.40.1 2022-12-07 09:25:24 +00:00
Rene Pfeuffer
ef11da489b Preselect namespace in repository create forms
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-12-05 09:33:41 +01:00
Snyk bot
3c93cd73a5 fix: upgrade @wojtekmaj/enzyme-adapter-react-17 from 0.6.7 to 0.7.0 (#2162)
Snyk has created this PR to upgrade @wojtekmaj/enzyme-adapter-react-17 from 0.6.7 to 0.7.0.

See this package in npm:
https://www.npmjs.com/package/@wojtekmaj/enzyme-adapter-react-17

See this project in Snyk:
https://app.snyk.io/org/scm-manager/project/d104e3cb-72cf-43cb-b378-45f6ba58515e?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-11-28 10:16:12 +01:00
CES Marvin
e454647975 Prepare for next development iteration 2022-11-22 16:14:42 +00:00
CES Marvin
55f75a3948 Release version 2.40.0 2022-11-22 15:17:02 +00:00
Konstantin Schaper
03bd5b117b Implement focus for links and html buttons (#2160)
When set programmatically, browsers don't always consistently show a focus indicator which is required for list navigation via keyboard to function properly. We already implemented a custom focus indicator for buttons which has now been expanded with slight tweaks to anchor tags as well. This is by no means a complete solution and will be revisited at a later date.
2022-11-21 15:26:07 +01:00
Konstantin Schaper
19938b3af8 Add accessibility settings where you can disable keyboard shortcuts (#2157)
An accessibility requirement dictates that our custom shortcut system must be allowed to be disabled. A new accessibility settings page has been added to the user profile, similar to the theme settings. It is persisted in local storage.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-11-16 16:50:17 +01:00
Konstantin Schaper
4a556dda8b Implement sub-iterators for list navigation (#2155)
We recently introduced shortcut-based list navigation that ran into problems when the list contained items that were loaded asynchronously but had stand at the beginning of the list. As the system is based on render order, we had to introduce a new layer in-between the main iterator and the asynchronously loaded items. This new layer is called a "sub-iterator", which functions literally like the main iterator with the exception that it can also be used as an item of a parent-iterator. This allows for more complicated use-cases and the support of keyboard iterators around extension points. This pull request also fixes an unreleased regression where usages of the deprecated confirmAlert function caused a nullpointer exception.
2022-11-16 11:01:27 +01:00
Konstantin Schaper
3e74985203 Remove forced word break from markdown view (#2142)
In `751343f` we forced words to wrap in a variety of places in the SCM-Manager to prevent unintentional overflow breaking the layout. This was also added to the markdown view which had implications for tables in these views including long headers that would now break in a not so pretty fashion. After investigating potential implications and checking other usages of the markdown view, we removed the problematic class again in this particular instance as it was seemingly not serving any positive purpose and removing it had no negative impact.
2022-11-15 18:37:03 +01:00
Konstantin Schaper
eea60deadb Add keyboard navigation for users, groups, branches, tags, sources, changesets and plugins (#2153)
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-11-10 11:44:53 +01:00
Konstantin Schaper
e74d0c9c8b Add keyboard navigation to repository overview list (#2146)
A new api is introduced to allow focus-based list iteration through keyboard shortcuts. The api is initially considered closed and only used in the repository overview.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-11-04 18:05:16 +01:00
Konstantin Schaper
7b933c6821 Improve plugin center error feedback and cache invalidation (#2147)
The plugin center cache was not invalidated when the proxy configuration was changed in the global settings. This caused stale and inconsistent state to be displayed to the user while there was no feedback that something was wrong.
2022-11-04 11:49:08 +01:00
Konstantin Schaper
ec83de3600 Fix modal de-registration firing twice (#2145)
Global Modals as components, and as a result their registration hooks, have a lifecycle that spans the whole application. Because of this, they never get unmounted. The registration hook will simply be re-rendered with an updated "active" flag. Because the hook did not reset to its initial state when switching from "active" to "deactive", it decremented the modal count twice. Once in the cleanup of the previous hook render and once in the else block ("inactive").
2022-11-03 19:17:39 +01:00
René Pfeuffer
54081ccdc6 Git import with lfs support (#2133)
This adds the possibility to load files managed by lfs to the repository import of git repositories.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2022-10-25 09:14:40 +02:00
Konstantin Schaper
8a0686459d improve visibility of shortcut keys in the documentation by adding a contrasting border (#2135) 2022-10-24 10:16:08 +02:00
Konstantin Schaper
da70fc0946 Expose api for declaring keyboard shortcuts (#2139)
In recent weeks we have created an api for declaring keyboard shortcuts and tested its usage in internal modules. After successfully verifying it, we are now exposing it for plugins to use. The api has also received some tweaks in the process to make it more flexible, such as allowing bound shortcuts not to appear in the documentation dialog or allowing shortcuts to explicitly allow event bubbling.
2022-10-21 08:47:42 +02:00
Konstantin Schaper
dec919bcfb Display some shortcut keywords as unicode characters in the documentation (#2136) 2022-10-19 04:18:54 +02:00
René Pfeuffer
88c51f57e9 Merge hotfix release 2.39.1 into develop 2022-10-12 11:35:32 +02:00
René Pfeuffer
378c6d8ce5 Prepare for next development iteration 2022-10-12 11:35:05 +02:00
CES Marvin
c795184484 Release version 2.39.1 2022-10-12 08:31:24 +00:00
Konstantin Schaper
65f111b8b4 Add keyboard shortcuts documentation (#2129)
There is currently no documentation which shortcuts are available to the end user, neither within the application nor the documentation published on scm-manager.org. This PR adds the missing documentation in both places and introduces a new api for developers to add documentation when using `useShortcut`. It also improves the api for conditional shortcuts significantly.
2022-10-11 16:29:33 +02:00
Florian Scholdei
33f7dd994a Fix navbar at the top of the page (#2128) 2022-10-11 16:01:22 +02:00
Konstantin Schaper
42bdd1d22e update storyshots 2022-09-29 11:41:16 +02:00
Konstantin Schaper
9b7553f44c tweak feedback urls 2022-09-29 09:15:22 +02:00
Eduard Heimbuch
43e36921b5 Fix typo 2022-09-28 10:00:44 +02:00
Florian Scholdei
89386928b6 Add feedback links to footer (#2125)
Add feedback links in "Support" section of the footer. The links refer to the creation of a new topic in the SCMM section of the forum.
2022-09-27 16:18:03 +02:00
Konstantin Schaper
74702591ed Revert "Add feedback form (#1967)"
This reverts commit 4407dc6d8a.

# Conflicts:
#	scm-ui/ui-api/src/config.ts
#	scm-ui/ui-api/src/index.ts
#	scm-ui/ui-webapp/public/locales/en/commons.json
#	scm-ui/ui-webapp/src/containers/App.tsx
#	scm-ui/ui-webapp/src/containers/Feedback.tsx
2022-09-27 10:27:08 +02:00
Florian Scholdei
abad4d504a Keyboard shortcuts for global and repository-specific navigation (#2122)
The global navigation can be accessed with the following key combination:

Option-R = Repositories
Option-U = User
Option-G = Groups
Option-A = Administration

The navigation within a repository can be accessed with a combination with g:

gi = Information
gb = Branches
gt = Tags
gc = Code
gs = Settings
2022-09-26 10:36:09 +02:00
Konstantin Schaper
af9aaec095 Add keyboard shortcut for global search (#2118)
Enable users to jump to the global search bar by pressing the "/" key from anywhere. Open modals block this shortcut. This PR also introduces a generic system for declaring global shortcuts by utilizing the third-party library mousetrap.
2022-09-15 14:16:22 +02:00
CES Marvin
1e72eb52bd Prepare for next development iteration 2022-09-15 10:11:03 +00:00
CES Marvin
bb96c9e2b9 Release version 2.39.0 2022-09-15 09:47:11 +00:00
Konstantin Schaper
0170760082 Add depcheck preset (#2119)
Add a preset for the depcheck library that is applied to all projects in scm-ui. Some minor dependency issues were discovered and resolved along the way. Some features of depcheck did not work correctly or were missing, which is why the configuration file is a bit more verbose than desired.
2022-09-14 13:31:50 +02:00
Matthias Thieroff
54b7b96ac8 Fix encoding in global search (#2116)
Using plus symbol in global search led to a space in the query parameter of the URL. We now encode the query string properly in global search and additionally fixed the expert search documentation.
2022-09-14 08:05:31 +02:00
Eduard Heimbuch
30e26b8d4e Keep search context for search results pagination (#2115) 2022-09-09 09:41:37 +02:00
Konstantin Schaper
61676c6dd4 Handle missing encoding of square brackets in filenames (#2117)
Due to unexpected and largely unchangeable behavior by both react-router and the browser, square brackets are not correctly encoded in the url when clicking a file link in the source view where the filename contains either of these characters. The source view then tries to use the useSources hook to get the file content but fails, because the path param for the file path it gets from the url has unencoded square brackets in them which are illegal in urls except for declaring IPv6 addresses. We have created a catch for exactly this scenario at the latest possible point before the actual http request is fired, which is in the useSources hook. It seems like the square brackets are the only affected special characters so we force encoding on them specifically. Only the path portion of the URL is checked so the host portion of the url may still contain unencoded square brackets which are left untouched.
2022-09-09 08:19:04 +02:00
Eduard Heimbuch
9ea76073b2 Show warning for search requests without valid search context (#2114) 2022-09-06 18:24:34 +02:00
Konstantin Schaper
4b92959b9c Revert introduction of tailwind (#2109)
After many days invested in making tailwind work in the SCM-Manager environment as well as a long discussion last week, we have decided not to move further with tailwind, but still keep adding new, independent modules for frontend components. Tailwind simply overcomplicated our build pipeline because bulma was already part of the api and the two were incompatible on several occasions. Styling will continue to be guided by bulma and all parts related to tailwind are removed. We therefore continue the trend of focusing on improving our existing stack rather than adding further complexity.
2022-08-29 10:23:40 +02:00
Matthias Thieroff
3e236fe5ac Optimize global search result view (#2107)
Enhance search result view by sorting the categories after their translation (repositories will still be sticky on top). Further disable categories with no search results and be more explicit with the text displayed if no search results were found.
2022-08-18 09:04:45 +02:00
Konstantin Schaper
56ace2811b Implement reindex mechanism for search (#2104)
Adds a new button to repository settings to allow users to manually delete and re-create search indices. The actual re-indexing is happening in plugins that subscribe to the newly created event.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-08-17 13:22:34 +02:00