GitHub/WoltLab/WCF.git
3 years agoAdd Message-ID filter to email log
Tim Düsterhus [Fri, 13 Aug 2021 13:52:11 +0000 (15:52 +0200)]
Add Message-ID filter to email log

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 13 Aug 2021 09:00:24 +0000 (11:00 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4461 from WoltLab/php7.3
Tim Düsterhus [Fri, 13 Aug 2021 08:57:41 +0000 (10:57 +0200)]
Merge pull request #4461 from WoltLab/php7.3

Move PHP 7.3 from recommended to sufficient in SystemCheckPage

3 years agoMove PHP 7.3 from recommended to sufficient in SystemCheckPage
Tim Düsterhus [Fri, 13 Aug 2021 08:50:00 +0000 (10:50 +0200)]
Move PHP 7.3 from recommended to sufficient in SystemCheckPage

3 years agoFix PHP 8.1 compatibility in DatabaseObject::getDatabaseTableIndexName()
Tim Düsterhus [Fri, 13 Aug 2021 08:45:58 +0000 (10:45 +0200)]
Fix PHP 8.1 compatibility in DatabaseObject::getDatabaseTableIndexName()

3 years agoRemove obsolete import
Tim Düsterhus [Fri, 13 Aug 2021 08:11:45 +0000 (10:11 +0200)]
Remove obsolete import

Fixes 2f37e5b400b80ecd8342d11f6d9e54e8f2e6c51e

3 years agoUse PSR-7 responses in PollAction
Tim Düsterhus [Fri, 13 Aug 2021 07:59:35 +0000 (09:59 +0200)]
Use PSR-7 responses in PollAction

3 years agoMark RequestHandler::checkOfflineMode() and ::checkAppEvaluation() as private
Tim Düsterhus [Fri, 13 Aug 2021 07:51:14 +0000 (09:51 +0200)]
Mark RequestHandler::checkOfflineMode() and ::checkAppEvaluation() as private

3 years agoMerge pull request #4460 from WoltLab/laminas-progressbar
Tim Düsterhus [Fri, 13 Aug 2021 07:25:35 +0000 (09:25 +0200)]
Merge pull request #4460 from WoltLab/laminas-progressbar

Replace Zend/ProgressBar by laminas-progressbar

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 13 Aug 2021 07:20:30 +0000 (09:20 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 13 Aug 2021 07:19:27 +0000 (09:19 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge pull request #4459 from SoftCreatR/bugfix/custom-errors
Tim Düsterhus [Fri, 13 Aug 2021 07:18:36 +0000 (09:18 +0200)]
Merge pull request #4459 from SoftCreatR/bugfix/custom-errors

Unify error handling in several templates

3 years agoUnified error handling in several templates
Sascha Greuel [Thu, 12 Aug 2021 16:08:27 +0000 (18:08 +0200)]
Unified error handling in several templates

3 years agoUpdate Zend\ProgressBar imports to Laminas\ProgressBar
Tim Düsterhus [Thu, 12 Aug 2021 12:21:31 +0000 (14:21 +0200)]
Update Zend\ProgressBar imports to Laminas\ProgressBar

3 years agoReplace Zend/ProgressBar by laminas-progressbar
Tim Düsterhus [Thu, 12 Aug 2021 12:05:04 +0000 (14:05 +0200)]
Replace Zend/ProgressBar by laminas-progressbar

This is a drop-in replacement for our use-case due to laminas-zendframework-bridge.

3 years agoSlightly improve phrasing in de.xml
Tim Düsterhus [Thu, 12 Aug 2021 15:22:34 +0000 (17:22 +0200)]
Slightly improve phrasing in de.xml

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 12 Aug 2021 14:32:55 +0000 (16:32 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4437 from WoltLab/meta-psr-7
Tim Düsterhus [Thu, 12 Aug 2021 14:19:04 +0000 (16:19 +0200)]
Merge pull request #4437 from WoltLab/meta-psr-7

Meta: PSR-7

3 years agoMerge pull request #4447 from WoltLab/psr-7-full
Tim Düsterhus [Thu, 12 Aug 2021 14:14:29 +0000 (16:14 +0200)]
Merge pull request #4447 from WoltLab/psr-7-full

Use PSR-7 responses in additional actions

3 years agoConsistently use `getControllerLink` in Facebook|Github|GoogleAuthAction
Tim Düsterhus [Thu, 12 Aug 2021 11:45:54 +0000 (13:45 +0200)]
Consistently use `getControllerLink` in Facebook|Github|GoogleAuthAction

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 12 Aug 2021 08:09:17 +0000 (10:09 +0200)]
Merge branch '5.3' into 5.4

3 years agoAdd missing call to ->loadVariables() before downloading Google Font during style...
Tim Düsterhus [Thu, 12 Aug 2021 08:07:08 +0000 (10:07 +0200)]
Add missing call to ->loadVariables() before downloading Google Font during style import

3 years agoRename `Ui/Object/Action/Toogle` to `Toggle` (#4450)
Joshua Rüsweg [Thu, 12 Aug 2021 07:23:30 +0000 (09:23 +0200)]
Rename `Ui/Object/Action/Toogle` to `Toggle` (#4450)

3 years agoMerge pull request #4457 from WoltLab/proxy-sourcemap-laminas
Tim Düsterhus [Wed, 11 Aug 2021 14:44:44 +0000 (16:44 +0200)]
Merge pull request #4457 from WoltLab/proxy-sourcemap-laminas

Simplify proxy_sourcemap.php using the Laminas libraries

3 years agoDeprecate AbstractAjaxAction
Tim Düsterhus [Tue, 10 Aug 2021 14:23:03 +0000 (16:23 +0200)]
Deprecate AbstractAjaxAction

3 years agoUse PSR-7 responses in NotificationConfirmAction
Tim Düsterhus [Tue, 10 Aug 2021 14:12:31 +0000 (16:12 +0200)]
Use PSR-7 responses in NotificationConfirmAction

3 years agoUse PSR-7 responses in AbstractDialogAction
Tim Düsterhus [Tue, 10 Aug 2021 13:40:45 +0000 (15:40 +0200)]
Use PSR-7 responses in AbstractDialogAction

3 years agoUse PSR-7 responses in MessageQuoteAction
Tim Düsterhus [Tue, 10 Aug 2021 13:25:29 +0000 (15:25 +0200)]
Use PSR-7 responses in MessageQuoteAction

3 years agoUse PSR-7 responses in AJAXUploadAction
Tim Düsterhus [Tue, 10 Aug 2021 12:49:29 +0000 (14:49 +0200)]
Use PSR-7 responses in AJAXUploadAction

The IE 9 fallback technically should no longer be required, but the (legacy)
JavaScript still references the `isFallback` parameter.

3 years agoUse PSR-7 responses in NotificationDisableAction
Tim Düsterhus [Tue, 10 Aug 2021 12:44:21 +0000 (14:44 +0200)]
Use PSR-7 responses in NotificationDisableAction

3 years agoUse PSR-7 responses in GithubAuthAction
Tim Düsterhus [Fri, 6 Aug 2021 13:59:01 +0000 (15:59 +0200)]
Use PSR-7 responses in GithubAuthAction

3 years agoUse PSR-7 responses in FacebookAuthAction
Tim Düsterhus [Fri, 6 Aug 2021 13:58:09 +0000 (15:58 +0200)]
Use PSR-7 responses in FacebookAuthAction

3 years agoUse PSR-7 responses in GoogleAuthAction
Tim Düsterhus [Fri, 6 Aug 2021 13:56:48 +0000 (15:56 +0200)]
Use PSR-7 responses in GoogleAuthAction

3 years agoSupport returning PSR-7 responses in AbstractOauth2Action
Tim Düsterhus [Fri, 6 Aug 2021 13:55:13 +0000 (15:55 +0200)]
Support returning PSR-7 responses in AbstractOauth2Action

3 years agoUse PSR-7 responses in CoreRewriteTestAction
Tim Düsterhus [Fri, 6 Aug 2021 13:51:37 +0000 (15:51 +0200)]
Use PSR-7 responses in CoreRewriteTestAction

3 years agoUse PSR-7 responses in BackgroundQueuePerformAction
Tim Düsterhus [Fri, 6 Aug 2021 13:49:17 +0000 (15:49 +0200)]
Use PSR-7 responses in BackgroundQueuePerformAction

3 years agoUse PSR-7 responses in UserQuickSearchAction
Tim Düsterhus [Fri, 6 Aug 2021 13:43:16 +0000 (15:43 +0200)]
Use PSR-7 responses in UserQuickSearchAction

3 years agoUse PSR-7 responses in UserExportGdprAction
Tim Düsterhus [Fri, 6 Aug 2021 13:37:58 +0000 (15:37 +0200)]
Use PSR-7 responses in UserExportGdprAction

3 years agoAdd HeaderUtil::withNoCacheHeaders()
Tim Düsterhus [Fri, 6 Aug 2021 13:36:30 +0000 (15:36 +0200)]
Add HeaderUtil::withNoCacheHeaders()

3 years agoUse PSR-7 responses in FullLogoutAction
Tim Düsterhus [Fri, 6 Aug 2021 13:29:44 +0000 (15:29 +0200)]
Use PSR-7 responses in FullLogoutAction

3 years agoUse PSR-7 responses in CacheClearAction
Tim Düsterhus [Fri, 6 Aug 2021 13:28:51 +0000 (15:28 +0200)]
Use PSR-7 responses in CacheClearAction

3 years agoSimplify proxy_sourcemap.php using the Laminas libraries
Tim Düsterhus [Wed, 11 Aug 2021 14:25:45 +0000 (16:25 +0200)]
Simplify proxy_sourcemap.php using the Laminas libraries

3 years agoMerge pull request #4456 from WoltLab/style-edit-description
Tim Düsterhus [Wed, 11 Aug 2021 13:31:13 +0000 (15:31 +0200)]
Merge pull request #4456 from WoltLab/style-edit-description

Prevent StyleEditForm from creating phrases with empty name

3 years agoDelete the empty phrase when updating to 5.4.5
Tim Düsterhus [Wed, 11 Aug 2021 12:22:10 +0000 (14:22 +0200)]
Delete the empty phrase when updating to 5.4.5

3 years agoValidate the languageVariable in I18nHandler::save()
Tim Düsterhus [Wed, 11 Aug 2021 12:19:53 +0000 (14:19 +0200)]
Validate the languageVariable in I18nHandler::save()

3 years agoAdd LanguageEditor::validateItemName()
Tim Düsterhus [Wed, 11 Aug 2021 12:17:49 +0000 (14:17 +0200)]
Add LanguageEditor::validateItemName()

3 years agoStore deterministic language variable for style description in StyleEditForm
Tim Düsterhus [Wed, 11 Aug 2021 12:12:42 +0000 (14:12 +0200)]
Store deterministic language variable for style description in StyleEditForm

If the `styleDescription` was empty (as it might be for the default style) this
attempted to store the description in the language item with empty name.

3 years agoMerge pull request #4454 from WoltLab/psr-7-cache-control-private
Tim Düsterhus [Wed, 11 Aug 2021 11:40:48 +0000 (13:40 +0200)]
Merge pull request #4454 from WoltLab/psr-7-cache-control-private

Add `cache-control: private` to PSR-7 responses

3 years agoClean up the `cache-control` processing in RequestHandler::sendPsr7Response()
Tim Düsterhus [Wed, 11 Aug 2021 11:32:06 +0000 (13:32 +0200)]
Clean up the `cache-control` processing in RequestHandler::sendPsr7Response()

3 years agoMissing information who reported a content, if report was made by a guest
Marcel Werk [Wed, 11 Aug 2021 11:26:02 +0000 (13:26 +0200)]
Missing information who reported a content, if report was made by a guest

3 years agoAdd `cache-control: private` to PSR-7 responses
Tim Düsterhus [Tue, 10 Aug 2021 15:21:31 +0000 (17:21 +0200)]
Add `cache-control: private` to PSR-7 responses

see #4273

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 11 Aug 2021 09:56:40 +0000 (11:56 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 11 Aug 2021 09:56:10 +0000 (11:56 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge pull request #4453 from WoltLab/iformbutton-is-available
Tim Düsterhus [Wed, 11 Aug 2021 09:37:23 +0000 (11:37 +0200)]
Merge pull request #4453 from WoltLab/iformbutton-is-available

Check whether an IFormButton is available before rendering

3 years agoCheck whether an IFormButton is available before rendering
Tim Düsterhus [Wed, 11 Aug 2021 07:54:12 +0000 (09:54 +0200)]
Check whether an IFormButton is available before rendering

3 years agoMerge branch 'master' into meta-psr-7
Tim Düsterhus [Tue, 10 Aug 2021 14:08:56 +0000 (16:08 +0200)]
Merge branch 'master' into meta-psr-7

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 10 Aug 2021 14:06:44 +0000 (16:06 +0200)]
Merge branch '5.4'

3 years agoAdd missing `@since` tags for PSR-7 methods
Tim Düsterhus [Tue, 10 Aug 2021 14:06:04 +0000 (16:06 +0200)]
Add missing `@since` tags for PSR-7 methods

3 years agoMerge pull request #4436 from WoltLab/psr-7
Tim Düsterhus [Tue, 10 Aug 2021 13:48:44 +0000 (15:48 +0200)]
Merge pull request #4436 from WoltLab/psr-7

Add initial support for sending PSR-7 responses

3 years agoMerge pull request #4452 from WoltLab/markQuotesForRemoval
Tim Düsterhus [Tue, 10 Aug 2021 13:40:25 +0000 (15:40 +0200)]
Merge pull request #4452 from WoltLab/markQuotesForRemoval

Deprecate MessageQuoteAction::markForRemoval()

3 years agoUpdating minified JavaScript files 5.4.4
WoltLab [Tue, 10 Aug 2021 13:30:36 +0000 (13:30 +0000)]
Updating minified JavaScript files

3 years agoRelease 5.4.4
Alexander Ebert [Tue, 10 Aug 2021 13:26:04 +0000 (15:26 +0200)]
Release 5.4.4

3 years agoDeprecate MessageQuoteAction::markForRemoval()
Tim Düsterhus [Tue, 10 Aug 2021 13:15:22 +0000 (15:15 +0200)]
Deprecate MessageQuoteAction::markForRemoval()

This method is no longer used as of commit
9d118fa4c035827b399acdcb4c6c05ad1be5f3c5 (3.0.x).

3 years agoRebuild JavaScript
Tim Düsterhus [Tue, 10 Aug 2021 12:36:32 +0000 (14:36 +0200)]
Rebuild JavaScript

see 33e803caa3e934a078a240687d452f54825379d9

3 years agoFix typo in Ui/Reaction/Handler.ts
Tim Düsterhus [Tue, 10 Aug 2021 12:34:12 +0000 (14:34 +0200)]
Fix typo in Ui/Reaction/Handler.ts

see 679d5fe8a2353c69b75fd103753831dc785f83a8

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 10 Aug 2021 10:19:35 +0000 (12:19 +0200)]
Merge branch '5.4'

3 years agouse the sessions language id instead of the user's default in `I18nDatabaseObjectList`
mutec [Tue, 10 Aug 2021 10:06:27 +0000 (12:06 +0200)]
use the sessions language id instead of the user's default in `I18nDatabaseObjectList`

`WCF::getUser()->languageID` doesn't return a valid language id as integer in every case. Additionally we (normally) want to use a specific language or the session's language - which might be different from the user's default in some moments.

see #4407

3 years agoRelease 5.4.3 5.4.3
Alexander Ebert [Tue, 10 Aug 2021 09:05:07 +0000 (11:05 +0200)]
Release 5.4.3

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 9 Aug 2021 16:39:16 +0000 (16:39 +0000)]
Updating minified JavaScript files

3 years agoWorkaround for unfreezing the screen in iOS Safari
Alexander Ebert [Mon, 9 Aug 2021 16:36:13 +0000 (18:36 +0200)]
Workaround for unfreezing the screen in iOS Safari

The change to the CSS class and the properties cause a recalculation that could sometimes interfere with the page scrolling.

Forcing the scrolling into the next iteration of the event loop solves this issue by separating both actions. Since the scrolling does depend on the actions in the lines above it, this is reasonably safe to do.

3 years agoMerge pull request #4451 from WoltLab/multiselect-condition
Tim Düsterhus [Mon, 9 Aug 2021 15:18:13 +0000 (17:18 +0200)]
Merge pull request #4451 from WoltLab/multiselect-condition

Fix conditions for MultiSelectOptionType

3 years agoFix sorting status column in emailLogList.tpl
joshuaruesweg [Mon, 9 Aug 2021 13:22:31 +0000 (15:22 +0200)]
Fix sorting status column in emailLogList.tpl

3 years agoFix conditions for MultiSelectOptionType
Tim Düsterhus [Fri, 9 Jul 2021 14:58:42 +0000 (16:58 +0200)]
Fix conditions for MultiSelectOptionType

This cleans up the SQL conditions used for searching for users with a specific
selection and fixes the following issues:

- It avoids the use of `escapeString()` in favor of proper prepared statements.
- It avoids the use of `preg_quote()` to escape a regular expression for use in
  MySQL, which might not be safe.
- It fixes matching when the options are later reordered, as the saved value is
  not being normalized and instead reused the order of the options within the
  select.

The generated query does not look great, but is not really worse than the
regular expression either.

In the future it might be possible to migrate this option type to a JSON based
storage and to use `JSON_CONTAINS()`.

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 9 Aug 2021 12:39:01 +0000 (14:39 +0200)]
Merge branch '5.4'

3 years agoSkip XML that have been unchanged for 5.3 -> 5.4
Alexander Ebert [Mon, 9 Aug 2021 12:00:00 +0000 (14:00 +0200)]
Skip XML that have been unchanged for 5.3 -> 5.4

3 years agoMerge pull request #4445 from WoltLab/template-sandbox-foreachvars
Alexander Ebert [Mon, 9 Aug 2021 10:53:43 +0000 (12:53 +0200)]
Merge pull request #4445 from WoltLab/template-sandbox-foreachvars

Sandbox `foreachVars` in templates

3 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 9 Aug 2021 09:48:45 +0000 (11:48 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4446 from WoltLab/mfa-setup-allocation-failed
Marcel Werk [Mon, 9 Aug 2021 09:35:07 +0000 (11:35 +0200)]
Merge pull request #4446 from WoltLab/mfa-setup-allocation-failed

Show nicer error message if allocating the MFA setup fails

3 years agoShow nicer error message if allocating the MFA setup fails
Tim Düsterhus [Mon, 9 Aug 2021 09:27:51 +0000 (11:27 +0200)]
Show nicer error message if allocating the MFA setup fails

`Setup::allocateSetUpId` can deadlock if the form is submitted twice at the
same time. This error should not be normally seen by the user. If they do they
will be directed to "Try again" and then see that MFA is active, because one of
the requests succeeded. They will also receive the info mail letting them know
where to regenerate their backup codes if necessary.

3 years agoAdd RejectEverythingFormField if email MFA is already active
Tim Düsterhus [Mon, 9 Aug 2021 09:07:27 +0000 (11:07 +0200)]
Add RejectEverythingFormField if email MFA is already active

We must not allow submitting the form in this case, because we will trigger the
assertion otherwise.

3 years agoFix assertion in EmailMultifactorMethod::processManagementForm()
Tim Düsterhus [Mon, 9 Aug 2021 09:06:39 +0000 (11:06 +0200)]
Fix assertion in EmailMultifactorMethod::processManagementForm()

3 years agoSandbox `foreachVars` in templates
Alexander Ebert [Sun, 8 Aug 2021 09:29:26 +0000 (11:29 +0200)]
Sandbox `foreachVars` in templates

Nesting the same template inside a `foreach` loop that is also accessed inside the nested call will overwrite the values from the outer template due to identical identifiers being used.

The sandbox did not protected `$this->foreachVars` despite being stateful.

See #4431
Fixes #4444

3 years agoSearch for not filled user option fields was not possible
Marcel Werk [Sat, 7 Aug 2021 09:42:38 +0000 (11:42 +0200)]
Search for not filled user option fields was not possible

3 years agoImproved acp search
Marcel Werk [Sat, 7 Aug 2021 09:18:22 +0000 (11:18 +0200)]
Improved acp search

Closes #3335

3 years agoMerge branch '5.4'
Alexander Ebert [Sat, 7 Aug 2021 08:48:34 +0000 (10:48 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4442 from SoftCreatR/css-optimizations
Alexander Ebert [Sat, 7 Aug 2021 08:48:11 +0000 (10:48 +0200)]
Merge pull request #4442 from SoftCreatR/css-optimizations

Prefixed CSS First

3 years agoPrefixed CSS First
Sascha Greuel [Fri, 6 Aug 2021 18:42:21 +0000 (20:42 +0200)]
Prefixed CSS First

Ensured vendor-prefixed versions of a CSS property are listed before the standardized, unprefixed version.

When multiple versions of the same CSS property are specified, the last supported one will be used due to how browsers handle fallback values. This means the order matters when using both vendor-prefixed and unprefixed versions of the same property. Specifically, the unprefixed version must be listed last to ensure standardized behavior takes precedence.

3 years agoRemoving inline formatting yielded empty elements and broke the selection
Alexander Ebert [Fri, 6 Aug 2021 16:15:55 +0000 (18:15 +0200)]
Removing inline formatting yielded empty elements and broke the selection

See https://community.woltlab.com/thread/291496-fettmarkierung-bei-einem-einzelnen-wort-kann-nicht-mehr-entfernt-werden/

3 years agoStrip de fact empty paragraphs in messages
Alexander Ebert [Fri, 6 Aug 2021 14:44:42 +0000 (16:44 +0200)]
Strip de fact empty paragraphs in messages

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 6 Aug 2021 13:25:14 +0000 (15:25 +0200)]
Merge branch '5.4'

3 years agoUpdating minified JavaScript files
WoltLab [Fri, 6 Aug 2021 12:52:45 +0000 (12:52 +0000)]
Updating minified JavaScript files

3 years agoMerge pull request #4440 from WoltLab/sourcemap-proxy
Tim Düsterhus [Fri, 6 Aug 2021 12:44:42 +0000 (14:44 +0200)]
Merge pull request #4440 from WoltLab/sourcemap-proxy

Add proxy_sourcemap.php

3 years agoMerge branch '5.3' into 5.4
Alexander Ebert [Fri, 6 Aug 2021 12:41:10 +0000 (14:41 +0200)]
Merge branch '5.3' into 5.4

3 years agoPrevent submitting an empty message to the preview
Alexander Ebert [Fri, 6 Aug 2021 12:41:00 +0000 (14:41 +0200)]
Prevent submitting an empty message to the preview

3 years agoMerge pull request #4441 from WoltLab/acp-logout-to-reauth
Tim Düsterhus [Fri, 6 Aug 2021 12:34:52 +0000 (14:34 +0200)]
Merge pull request #4441 from WoltLab/acp-logout-to-reauth

Redirect the user to ACP reauthentication instead of frontend after logout

3 years agoAdd proxy_sourcemap.php
Tim Düsterhus [Fri, 6 Aug 2021 08:04:23 +0000 (10:04 +0200)]
Add proxy_sourcemap.php

3 years agoRedirect the user to ACP reauthentication instead of frontend after logout
Tim Düsterhus [Fri, 6 Aug 2021 11:43:36 +0000 (13:43 +0200)]
Redirect the user to ACP reauthentication instead of frontend after logout

3 years agoRevert "Update Open Sans"
Tim Düsterhus [Fri, 6 Aug 2021 11:34:59 +0000 (13:34 +0200)]
Revert "Update Open Sans"

This reverts Open Sans back to the non-variable version, as the variable one
appears to render pretty badly on Windows.

This reverts commit 33c8866a790e9e6bc46358f6e82df76d2e32f56e.

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 6 Aug 2021 10:32:25 +0000 (12:32 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 6 Aug 2021 10:31:18 +0000 (12:31 +0200)]
Merge branch '5.3' into 5.4