GitHub/WoltLab/WCF.git
3 years agoDelete preload data in StyleHandler::resetStylesheets()
Tim Düsterhus [Mon, 8 Mar 2021 15:08:39 +0000 (16:08 +0100)]
Delete preload data in StyleHandler::resetStylesheets()

see d2779a57533b315ce08c3436d9753f16ee1fdbfe

3 years agoDelete preload data in StyleHandler::resetStylesheet()
Tim Düsterhus [Mon, 8 Mar 2021 15:18:07 +0000 (16:18 +0100)]
Delete preload data in StyleHandler::resetStylesheet()

see d2779a57533b315ce08c3436d9753f16ee1fdbfe

3 years agoDo not write an empty preload manifest
Tim Düsterhus [Mon, 8 Mar 2021 14:57:08 +0000 (15:57 +0100)]
Do not write an empty preload manifest

see d2779a57533b315ce08c3436d9753f16ee1fdbfe

3 years agoMerge pull request #3988 from WoltLab/devtools-option-name-validator
Tim Düsterhus [Mon, 8 Mar 2021 14:58:27 +0000 (15:58 +0100)]
Merge pull request #3988 from WoltLab/devtools-option-name-validator

Add option name validators to devtools form for the `option` PIP

3 years agoImprove phrasing for optionName pattern error message
Tim Düsterhus [Mon, 8 Mar 2021 14:58:06 +0000 (15:58 +0100)]
Improve phrasing for optionName pattern error message

Co-authored-by: Matthias Schmidt <gravatronics@live.com>
3 years agoMerge pull request #4054 from WoltLab/password-toggle-icon
Marcel Werk [Mon, 8 Mar 2021 14:37:51 +0000 (15:37 +0100)]
Merge pull request #4054 from WoltLab/password-toggle-icon

Swap icons used in password toggle

3 years agoSwap icons used in password toggle
Tim Düsterhus [Mon, 8 Mar 2021 11:54:01 +0000 (12:54 +0100)]
Swap icons used in password toggle

Icons in buttons in WoltLab Suite usually indicate what happens when the button
is clicked and do not represent the current state.

3 years agoAdd special handling for AJAX requests failing reauth in ACP
Tim Düsterhus [Mon, 8 Mar 2021 10:46:56 +0000 (11:46 +0100)]
Add special handling for AJAX requests failing reauth in ACP

Fixes #4053

3 years agoUpdate guzzle to the current guzzle/guzzle master
Tim Düsterhus [Mon, 8 Mar 2021 10:13:38 +0000 (11:13 +0100)]
Update guzzle to the current guzzle/guzzle master

This moves guzzle away from our private fork onto the upstream repository,
albeit not onto a released version, due to the change in
8f09f3cac92beb4ec003c1b29dc37360e29b3b36 not yet being released.

3 years agoMerge pull request #4051 from WoltLab/internal-host
Tim Düsterhus [Mon, 8 Mar 2021 10:08:13 +0000 (11:08 +0100)]
Merge pull request #4051 from WoltLab/internal-host

Add INTERNAL_HOSTNAMES option

3 years agoCheck the XSRF-TOKEN cookie against the active request during 5.4 upgrade
Tim Düsterhus [Mon, 8 Mar 2021 10:02:22 +0000 (11:02 +0100)]
Check the XSRF-TOKEN cookie against the active request during 5.4 upgrade

It should not be possible to hit the issue in the real world, but we better
play safe here.

In my tests I could only reproduce the issue by:

1. Taking a snapshot while logged into the ACP.
2. Starting the upgrade until the new cookies have been set.
3. Aborting the upgrade.
4. Rolling back the snapshot.
5. Trying again.

In this case the XSRF-TOKEN cookie is correctly signed and the session cookie
matches the actual session ID. However the sessionVariables are outdated due to
the rollback. The process will continue with the old SECURITY_TOKEN, failing
after the new files from 5.4 are deployed.

This issue is fixed by also checking the cookie against the current request and
the active session to ensure all the values are correctly in place.

Resolves #4052

3 years agoAdd INTERNAL_HOSTNAMES option
Tim Düsterhus [Fri, 5 Mar 2021 15:48:05 +0000 (16:48 +0100)]
Add INTERNAL_HOSTNAMES option

Resolves #4049

3 years agoMake HtmlOutputNodeImg::getHostMatcher() reusable as Url::getHostnameMatcher()
Tim Düsterhus [Fri, 5 Mar 2021 15:41:01 +0000 (16:41 +0100)]
Make HtmlOutputNodeImg::getHostMatcher() reusable as Url::getHostnameMatcher()

3 years agoCorrectly handle apps without an option directory in `option` dev tools
Tim Düsterhus [Fri, 5 Mar 2021 15:15:01 +0000 (16:15 +0100)]
Correctly handle apps without an option directory in `option` dev tools

3 years agoAdd 'Image Proxy' comment to Image Proxy's user-agent
Tim Düsterhus [Fri, 5 Mar 2021 12:56:46 +0000 (13:56 +0100)]
Add 'Image Proxy' comment to Image Proxy's user-agent

3 years agoAdd ImageProxyAction::getHttpClient()
Tim Düsterhus [Fri, 5 Mar 2021 12:55:26 +0000 (13:55 +0100)]
Add ImageProxyAction::getHttpClient()

3 years agoAdd optional parameter for comments in an ua
joshuaruesweg [Fri, 5 Mar 2021 10:12:18 +0000 (11:12 +0100)]
Add optional parameter for comments in an ua

3 years agoFix handling of maximum response size in ImageProxyAction
Tim Düsterhus [Fri, 5 Mar 2021 12:41:00 +0000 (13:41 +0100)]
Fix handling of maximum response size in ImageProxyAction

The previous implementation might have resulted in a truncated / broken image
which is undesirable.

3 years agoAdd removal of trailing spaces in install.sql to .git-blame-ignore-revs
Tim Düsterhus [Fri, 5 Mar 2021 10:56:38 +0000 (11:56 +0100)]
Add removal of trailing spaces in install.sql to .git-blame-ignore-revs

3 years agoRemove whitespaces on blank lines in install.sql
joshuaruesweg [Fri, 5 Mar 2021 10:53:56 +0000 (11:53 +0100)]
Remove whitespaces on blank lines in install.sql

3 years agoFix preloading of perfect-scrollbar in Bootstrap.ts
Tim Düsterhus [Thu, 4 Mar 2021 12:59:02 +0000 (13:59 +0100)]
Fix preloading of perfect-scrollbar in Bootstrap.ts

Apparently TypeScript does not emit the import of the imported variable is not
used. Use the version without bindings to make the side effect clear.

3 years agoMerge pull request #4048 from WoltLab/user-group-scrollableCheckboxList
Tim Düsterhus [Thu, 4 Mar 2021 11:48:51 +0000 (12:48 +0100)]
Merge pull request #4048 from WoltLab/user-group-scrollableCheckboxList

Use .scrollableCheckboxList in UserGroupCondition

3 years agoUpdating minified JavaScript files
WoltLab [Thu, 4 Mar 2021 11:46:30 +0000 (11:46 +0000)]
Updating minified JavaScript files

3 years agoUse .scrollableCheckboxList in UserGroupCondition
Tim Düsterhus [Thu, 4 Mar 2021 10:47:50 +0000 (11:47 +0100)]
Use .scrollableCheckboxList in UserGroupCondition

Resolves #3939

3 years agoUpdate composer dependencies
Tim Düsterhus [Thu, 4 Mar 2021 09:14:58 +0000 (10:14 +0100)]
Update composer dependencies

3 years agoMove Guzzle to the proxy-stream branch of WoltLab/guzzle
Tim Düsterhus [Thu, 4 Mar 2021 09:12:36 +0000 (10:12 +0100)]
Move Guzzle to the proxy-stream branch of WoltLab/guzzle

Resolves #4038

3 years agoMerge pull request #4046 from WoltLab/article-preview
Marcel Werk [Wed, 3 Mar 2021 15:58:32 +0000 (16:58 +0100)]
Merge pull request #4046 from WoltLab/article-preview

Add preview to articleAdd

3 years agoAdd preview to articleAdd
Tim Düsterhus [Wed, 3 Mar 2021 14:25:14 +0000 (15:25 +0100)]
Add preview to articleAdd

Resolves #3965

3 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 1 Mar 2021 16:14:02 +0000 (17:14 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Mon, 1 Mar 2021 16:08:18 +0000 (17:08 +0100)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Mon, 1 Mar 2021 16:08:05 +0000 (17:08 +0100)]
Merge branch '3.1' into 5.2

3 years agoMerge branch '3.0' into 3.1
Tim Düsterhus [Mon, 1 Mar 2021 16:07:24 +0000 (17:07 +0100)]
Merge branch '3.0' into 3.1

3 years agoRelease 3.0.27
Tim Düsterhus [Mon, 1 Mar 2021 16:01:25 +0000 (17:01 +0100)]
Release 3.0.27

3 years agoAdjust upgrade notice
Tim Düsterhus [Mon, 1 Mar 2021 15:59:43 +0000 (16:59 +0100)]
Adjust upgrade notice

see f4a8700ae34fa3120576c5ab4e2096f514cffdc5
see 14a6db14f1ac63da83098dc648288ae07df62e80

3 years agoAdd upgrade instructions for 2.1.24 pl 3
Tim Düsterhus [Mon, 1 Mar 2021 15:55:23 +0000 (16:55 +0100)]
Add upgrade instructions for 2.1.24 pl 3

3 years agoMerge pull request #4044 from WoltLab/commentResponse-avatar
Marcel Werk [Mon, 1 Mar 2021 15:29:38 +0000 (16:29 +0100)]
Merge pull request #4044 from WoltLab/commentResponse-avatar

Fix avatar size in commentResponseList.tpl

3 years agoFix avatar size in commentResponseList.tpl
Tim Düsterhus [Mon, 1 Mar 2021 14:49:00 +0000 (15:49 +0100)]
Fix avatar size in commentResponseList.tpl

see 72c85f64e77a014ebb4a0358424578ce62f5f893
Resolves #4042

3 years agoMerge pull request #4043 from WoltLab/update-server-credentials-description
Marcel Werk [Mon, 1 Mar 2021 14:30:58 +0000 (15:30 +0100)]
Merge pull request #4043 from WoltLab/update-server-credentials-description

Describe location of WoltLab update server credentials location in di…

3 years agoDescribe location of WoltLab update server credentials location in dialog
Marcel Werk [Mon, 1 Mar 2021 14:16:06 +0000 (15:16 +0100)]
Describe location of WoltLab update server credentials location in dialog

Closes #3945

3 years agoReordered image proxy settings
Marcel Werk [Mon, 1 Mar 2021 11:50:52 +0000 (12:50 +0100)]
Reordered image proxy settings

Closes #3942
Closes #3941

3 years agoUse 'css' diff driver for (S)CSS files
Tim Düsterhus [Mon, 1 Mar 2021 10:47:46 +0000 (11:47 +0100)]
Use 'css' diff driver for (S)CSS files

3 years agoMerge pull request #4039 from WoltLab/menu-item-dropdown
Tim Düsterhus [Mon, 1 Mar 2021 10:22:01 +0000 (11:22 +0100)]
Merge pull request #4039 from WoltLab/menu-item-dropdown

Add quick navigation dropdown to menuItemAdd.tpl

3 years agoAdd quick navigation dropdown to menuItemAdd.tpl
Tim Düsterhus [Mon, 1 Mar 2021 10:17:07 +0000 (11:17 +0100)]
Add quick navigation dropdown to menuItemAdd.tpl

Resolves #3973

3 years agoMerge pull request #4037 from WoltLab/re-authentication-ui
Alexander Ebert [Mon, 1 Mar 2021 10:06:14 +0000 (11:06 +0100)]
Merge pull request #4037 from WoltLab/re-authentication-ui

Improved the UI for the re-authentication prompt

3 years agoReduce the width of embedded videos
Marcel Werk [Sun, 28 Feb 2021 15:22:06 +0000 (16:22 +0100)]
Reduce the width of embedded videos

Closes #3982

3 years agoIncorrect handling of sync errors
Alexander Ebert [Sun, 28 Feb 2021 12:42:00 +0000 (13:42 +0100)]
Incorrect handling of sync errors

Fixes #3946

3 years agoIncreased indentation for nested sortable lists
Alexander Ebert [Sat, 27 Feb 2021 15:24:19 +0000 (16:24 +0100)]
Increased indentation for nested sortable lists

Fixes #3968

3 years agoMerge branch 'master' into re-authentication-ui
Alexander Ebert [Fri, 26 Feb 2021 18:15:31 +0000 (19:15 +0100)]
Merge branch 'master' into re-authentication-ui

3 years agoModified the dialog to mirror the login dialog
Alexander Ebert [Fri, 26 Feb 2021 18:15:20 +0000 (19:15 +0100)]
Modified the dialog to mirror the login dialog

3 years agoMerge pull request #4033 from WoltLab/password-visibility-toggle
Alexander Ebert [Fri, 26 Feb 2021 18:14:34 +0000 (19:14 +0100)]
Merge pull request #4033 from WoltLab/password-visibility-toggle

Visibility toggle for password inputs

3 years agoMinor code improvement
Alexander Ebert [Fri, 26 Feb 2021 16:11:33 +0000 (17:11 +0100)]
Minor code improvement

3 years agoMerge pull request #4035 from WoltLab/language-import-package
Tim Düsterhus [Fri, 26 Feb 2021 16:09:55 +0000 (17:09 +0100)]
Merge pull request #4035 from WoltLab/language-import-package

Add package selection during language import

3 years agoIntegrated the password visibility into the strength checker
Alexander Ebert [Fri, 26 Feb 2021 16:08:24 +0000 (17:08 +0100)]
Integrated the password visibility into the strength checker

3 years agoShow explicit 'noSelection' message instead of an empty option
Tim Düsterhus [Fri, 26 Feb 2021 16:07:22 +0000 (17:07 +0100)]
Show explicit 'noSelection' message instead of an empty option

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
3 years agoAdd $className property to UserGroupOptionPackageInstallationPlugin
Tim Düsterhus [Fri, 26 Feb 2021 14:55:24 +0000 (15:55 +0100)]
Add $className property to UserGroupOptionPackageInstallationPlugin

Resolves #4015

3 years agoImprove explanation of the language selection within LanguageImportForm
Tim Düsterhus [Fri, 26 Feb 2021 14:21:02 +0000 (15:21 +0100)]
Improve explanation of the language selection within LanguageImportForm

3 years agoReject `packageID = -1` in LanguageEditor::updateFromXML()
Tim Düsterhus [Fri, 26 Feb 2021 14:15:25 +0000 (15:15 +0100)]
Reject `packageID = -1` in LanguageEditor::updateFromXML()

3 years agoAdd package selection to LanguageImportForm
Tim Düsterhus [Fri, 26 Feb 2021 14:12:04 +0000 (15:12 +0100)]
Add package selection to LanguageImportForm

Resolves #3976

3 years agoRemove old update scripts during the upgrade to 5.4
Tim Düsterhus [Fri, 26 Feb 2021 13:36:59 +0000 (14:36 +0100)]
Remove old update scripts during the upgrade to 5.4

3 years agoUpdate Google Fonts when upgrading to 5.4
Tim Düsterhus [Fri, 26 Feb 2021 13:32:30 +0000 (14:32 +0100)]
Update Google Fonts when upgrading to 5.4

Resolves #4034

3 years agoUpdate Open Sans
Tim Düsterhus [Fri, 26 Feb 2021 12:56:43 +0000 (13:56 +0100)]
Update Open Sans

3 years agoMerge pull request #4032 from WoltLab/preload-google-font
Tim Düsterhus [Fri, 26 Feb 2021 12:32:54 +0000 (13:32 +0100)]
Merge pull request #4032 from WoltLab/preload-google-font

Support preloading for Google Fonts

3 years agoVisibility toggle for password inputs
Marcel Werk [Fri, 26 Feb 2021 12:03:10 +0000 (13:03 +0100)]
Visibility toggle for password inputs

Closes #3392

3 years agoMerge branch '5.3'
Tim Düsterhus [Fri, 26 Feb 2021 11:05:12 +0000 (12:05 +0100)]
Merge branch '5.3'

3 years agoDisable attachment scaling for GIFs
Tim Düsterhus [Fri, 26 Feb 2021 11:01:57 +0000 (12:01 +0100)]
Disable attachment scaling for GIFs

Resolves #4030

3 years agoFix heredoc indentation / codestyle
Tim Düsterhus [Fri, 26 Feb 2021 10:21:52 +0000 (11:21 +0100)]
Fix heredoc indentation / codestyle

3 years agoSupport preloading for Google Fonts
Tim Düsterhus [Fri, 26 Feb 2021 10:14:50 +0000 (11:14 +0100)]
Support preloading for Google Fonts

see #3916
see #4029

3 years agoMerge pull request #4029 from WoltLab/preload
Tim Düsterhus [Fri, 26 Feb 2021 08:06:48 +0000 (09:06 +0100)]
Merge pull request #4029 from WoltLab/preload

Add preloading support to the StyleCompiler

3 years agoPreload the woff2 version of FontAwesome
Tim Düsterhus [Thu, 25 Feb 2021 15:50:15 +0000 (16:50 +0100)]
Preload the woff2 version of FontAwesome

3 years agoAdd preload tags to the generated HTML
Tim Düsterhus [Thu, 25 Feb 2021 15:49:51 +0000 (16:49 +0100)]
Add preload tags to the generated HTML

3 years agoAdd preload support to StyleCompiler
Tim Düsterhus [Thu, 25 Feb 2021 15:49:18 +0000 (16:49 +0100)]
Add preload support to StyleCompiler

3 years agoGenerate uncompressed stylesheet in developer mode
Tim Düsterhus [Thu, 25 Feb 2021 15:46:31 +0000 (16:46 +0100)]
Generate uncompressed stylesheet in developer mode

3 years agoFix indentation for SCSS functions in StyleCompiler
Tim Düsterhus [Thu, 25 Feb 2021 15:46:03 +0000 (16:46 +0100)]
Fix indentation for SCSS functions in StyleCompiler

3 years agoMerge branch 'master' of https://github.com/WoltLab/WCF
Marcel Werk [Thu, 25 Feb 2021 13:02:14 +0000 (14:02 +0100)]
Merge branch 'master' of https://github.com/WoltLab/WCF

3 years agoDefault languages (de/en) can no longer be deleted
Marcel Werk [Thu, 25 Feb 2021 13:02:04 +0000 (14:02 +0100)]
Default languages (de/en) can no longer be deleted

Closes #3969

3 years agoPrint the unix load with 2 decimal digits on ACP IndexPage
Tim Düsterhus [Thu, 25 Feb 2021 13:00:14 +0000 (14:00 +0100)]
Print the unix load with 2 decimal digits on ACP IndexPage

3 years agoMerge pull request #4025 from WoltLab/mail-admin-address-desc
Marcel Werk [Thu, 25 Feb 2021 12:03:34 +0000 (13:03 +0100)]
Merge pull request #4025 from WoltLab/mail-admin-address-desc

Improve the description of the MAIL_ADMIN_ADDRESS

3 years agoMerge pull request #4023 from WoltLab/account-security-full-ua
Tim Düsterhus [Thu, 25 Feb 2021 11:58:03 +0000 (12:58 +0100)]
Merge pull request #4023 from WoltLab/account-security-full-ua

Add `title` attribute to device name in session list

3 years agoImprove the description of the MAIL_ADMIN_ADDRESS
Tim Düsterhus [Thu, 25 Feb 2021 10:47:42 +0000 (11:47 +0100)]
Improve the description of the MAIL_ADMIN_ADDRESS

Resolves #3677

3 years agoMerge pull request #4024 from WoltLab/purchase-search-license
Marcel Werk [Thu, 25 Feb 2021 10:02:56 +0000 (11:02 +0100)]
Merge pull request #4024 from WoltLab/purchase-search-license

Request license information for purchased package search

3 years agoRequest license information for purchased package search
Tim Düsterhus [Thu, 25 Feb 2021 09:44:50 +0000 (10:44 +0100)]
Request license information for purchased package search

Resolves #3910

3 years agoAdd `title` attribute to device name in session list
Tim Düsterhus [Thu, 25 Feb 2021 09:12:24 +0000 (10:12 +0100)]
Add `title` attribute to device name in session list

3 years agoAdd UserAgent::getUserAgent()
Tim Düsterhus [Thu, 25 Feb 2021 09:04:15 +0000 (10:04 +0100)]
Add UserAgent::getUserAgent()

3 years agoMerge branch '5.3'
Alexander Ebert [Wed, 24 Feb 2021 17:22:45 +0000 (18:22 +0100)]
Merge branch '5.3'

3 years agoReset the internal state of the embedded object manager to its previous state (#4021)
Alexander Ebert [Wed, 24 Feb 2021 15:56:30 +0000 (16:56 +0100)]
Reset the internal state of the embedded object manager to its previous state (#4021)

* Reset the internal state of the embedded object manager to its previous state

See #4018

* Isolate the active message for each call

* Typo

* Redundant call to a semi internal API

* Explicit global scope for `array_pop`

3 years agoMerge branch 'email-safe-image'
Tim Düsterhus [Wed, 24 Feb 2021 11:28:33 +0000 (12:28 +0100)]
Merge branch 'email-safe-image'

3 years agoUse ->getSafeImageTag() in emails
Tim Düsterhus [Wed, 24 Feb 2021 11:01:09 +0000 (12:01 +0100)]
Use ->getSafeImageTag() in emails

see #3864

3 years agoMerge pull request #4014 from WoltLab/style-livereload
Tim Düsterhus [Tue, 23 Feb 2021 16:50:29 +0000 (17:50 +0100)]
Merge pull request #4014 from WoltLab/style-livereload

Add live reload to style CSS

3 years agoMerge pull request #4016 from WoltLab/delete-legacy-thumbnails
Tim Düsterhus [Tue, 23 Feb 2021 16:08:11 +0000 (17:08 +0100)]
Merge pull request #4016 from WoltLab/delete-legacy-thumbnails

Delete legacy avatar thumbnails in UserRebuildDataWorker

3 years agoDelete legacy avatar thumbnails in UserRebuildDataWorker
Tim Düsterhus [Tue, 23 Feb 2021 15:53:26 +0000 (16:53 +0100)]
Delete legacy avatar thumbnails in UserRebuildDataWorker

Resolves #4010

3 years agoAdd live reload to style CSS
Tim Düsterhus [Tue, 23 Feb 2021 15:08:38 +0000 (16:08 +0100)]
Add live reload to style CSS

After submitting StyleAddForm or StyleGlobalValuesForm the CSS within the
frontend will be reloaded automatically.

3 years agoAdd missing module comment for Acp/Ui/Maintenance/RebuildData
Tim Düsterhus [Tue, 23 Feb 2021 14:50:10 +0000 (15:50 +0100)]
Add missing module comment for Acp/Ui/Maintenance/RebuildData

see b84cb3855cadd73733cfb7fe2abde6a343a0aeb0

3 years agoMerge pull request #4013 from WoltLab/gdpr-export-permission
Tim Düsterhus [Tue, 23 Feb 2021 14:27:46 +0000 (15:27 +0100)]
Merge pull request #4013 from WoltLab/gdpr-export-permission

Add permission to access the GDPR export

3 years agoMerge branch '5.3'
Tim Düsterhus [Tue, 23 Feb 2021 14:14:32 +0000 (15:14 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Tue, 23 Feb 2021 14:12:19 +0000 (15:12 +0100)]
Merge branch '5.2' into 5.3

3 years agoProperly handle empty logfiles in ExceptionLogUtil::splitLog()
Tim Düsterhus [Tue, 23 Feb 2021 14:11:55 +0000 (15:11 +0100)]
Properly handle empty logfiles in ExceptionLogUtil::splitLog()

3 years agoProperly handle corrupted or huge log files in exception mailer
Tim Düsterhus [Tue, 23 Feb 2021 14:10:22 +0000 (15:10 +0100)]
Properly handle corrupted or huge log files in exception mailer

3 years agoFix German long form of GDPR (“Datenschutz-Grundverordnung”)
Tim Düsterhus [Tue, 23 Feb 2021 13:52:41 +0000 (14:52 +0100)]
Fix German long form of GDPR (“Datenschutz-Grundverordnung”)

3 years agoAdd permission to access the GDPR export
Tim Düsterhus [Tue, 23 Feb 2021 13:49:50 +0000 (14:49 +0100)]
Add permission to access the GDPR export

Resolves #3993

3 years agoMerge pull request #4012 from WoltLab/rebuild-all
Tim Düsterhus [Tue, 23 Feb 2021 11:26:08 +0000 (12:26 +0100)]
Merge pull request #4012 from WoltLab/rebuild-all

Add button to run all rebuildData workers