GitHub/WoltLab/WCF.git
2 years agoIncorrect handling of `null` values for metacode attributes
Alexander Ebert [Tue, 3 Aug 2021 15:17:12 +0000 (17:17 +0200)]
Incorrect handling of `null` values for metacode attributes

2 years agoMerge pull request #4430 from WoltLab/js-legacy-inheritance
Alexander Ebert [Tue, 3 Aug 2021 12:36:05 +0000 (14:36 +0200)]
Merge pull request #4430 from WoltLab/js-legacy-inheritance

Resolved side effects from previous inheritance approach

2 years agoMerge pull request #4429 from WoltLab/form-field-data-handler-es6
Tim Düsterhus [Tue, 3 Aug 2021 12:35:40 +0000 (14:35 +0200)]
Merge pull request #4429 from WoltLab/form-field-data-handler-es6

Support ES 6 default exports for form builder field JavaScript data handlers

2 years agoSupport ES 6 default exports for form builder field JavaScript data handlers
Tim Düsterhus [Mon, 2 Aug 2021 15:05:36 +0000 (17:05 +0200)]
Support ES 6 default exports for form builder field JavaScript data handlers

For legacy exports the value loaded by `require()` (`FormBuilderField`) will be
whatever the module author returned within the module definition. ES 6 modules
on the other hand will be passed as an object containing the exported values,
with the default export residing in the `default` key.

tslib's `__importDefault` will transform a legacy export into a ES 6 module, by
putting the exported value into the `default` key of an freshly created object.

This allows us to handle both legacy as well as ES 6 default exports identically
by simply using the `default` value of the `FormBuilderField` variable.

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 3 Aug 2021 10:39:34 +0000 (12:39 +0200)]
Merge branch '5.3' into 5.4

2 years agoMerge pull request #4431 from WoltLab/foreach-empty
Marcel Werk [Tue, 3 Aug 2021 08:56:51 +0000 (10:56 +0200)]
Merge pull request #4431 from WoltLab/foreach-empty

Fix `{foreach}` loops when the to-be-iterated value is empty

2 years agoFix `{foreach}` loops when the to-be-iterated value is empty
Tim Düsterhus [Tue, 3 Aug 2021 07:55:35 +0000 (09:55 +0200)]
Fix `{foreach}` loops when the to-be-iterated value is empty

The restoring of the `item` value failed, because the necessary data in
`foreachVars` was only being filled when the `foreach()` loop was actually
entered. Move this saving of the old value up to ensure it always happens.

see 75ce18bc18904d1215c7d021ac0ac18c0a7a5d42
see #4425

2 years agoResolved side effects from previous inheritance approach
Alexander Ebert [Mon, 2 Aug 2021 17:06:53 +0000 (19:06 +0200)]
Resolved side effects from previous inheritance approach

This is a follow-up for db23f8af33398c4851d6ba36436592f406b35a0d which introduced a flawed change.

The iteration over the prototype chain caused the prototype itself being bound to an object on runtime, conflicting with other objects.

The root cause was that some parts of the inherited functions were still bound to `constructed`, which was attempted to be fixed by poking the prototype chain.

This new fix is a bit weird, unless one understands that the call to `Reflect.construct()` is a bit tricky because any bound call inside the constructor of `legacyClass` will be bound to `constructed`.

This change is more of a sledge hammer approach, but it works all cases that I tested, including those that were initially the cause for the previous fix as well as new issues caused by the fix.

2 years agoSneaky whitespace
Alexander Ebert [Sat, 31 Jul 2021 10:03:07 +0000 (12:03 +0200)]
Sneaky whitespace

2 years agoIncorrect value type when using the legacy MySQL extension
Alexander Ebert [Sat, 31 Jul 2021 09:46:23 +0000 (11:46 +0200)]
Incorrect value type when using the legacy MySQL extension

2 years agoImproved a11y of content items
Marcel Werk [Fri, 30 Jul 2021 21:21:07 +0000 (23:21 +0200)]
Improved a11y of content items

2 years agoImproved usability of footer links on mobile devices
Marcel Werk [Fri, 30 Jul 2021 17:14:02 +0000 (19:14 +0200)]
Improved usability of footer links on mobile devices

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 30 Jul 2021 12:51:19 +0000 (14:51 +0200)]
Merge branch '5.3' into 5.4

2 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 30 Jul 2021 12:45:20 +0000 (14:45 +0200)]
Merge branch '5.2' into 5.3

2 years agoMerge pull request #4427 from WoltLab/label-form-field-dependency
Tim Düsterhus [Fri, 30 Jul 2021 12:44:55 +0000 (14:44 +0200)]
Merge pull request #4427 from WoltLab/label-form-field-dependency

Add missing check for dependencies in LabelFormField processor

2 years agoMerge pull request #4426 from WoltLab/label-form-field-selection
Tim Düsterhus [Fri, 30 Jul 2021 12:43:01 +0000 (14:43 +0200)]
Merge pull request #4426 from WoltLab/label-form-field-selection

Properly show the label form field's selection if it has a value upon load

2 years agoACL values were not deleted when deleting categories
Marcel Werk [Fri, 30 Jul 2021 12:38:05 +0000 (14:38 +0200)]
ACL values were not deleted when deleting categories

2 years agoProperly show the label form field's selection if it has a value upon load
Tim Düsterhus [Fri, 30 Jul 2021 08:27:05 +0000 (10:27 +0200)]
Properly show the label form field's selection if it has a value upon load

This got broken during the TypeScript migration, because the constructor's
`labelId` parameter is typed as string, but in reality it was passed an
integer. This broke a `===` comparison with the `data-label-id` property of the
list items, thus failing to properly select the label.

2 years agoAdd missing check for dependencies in LabelFormField processor
Tim Düsterhus [Fri, 30 Jul 2021 09:03:55 +0000 (11:03 +0200)]
Add missing check for dependencies in LabelFormField processor

2 years agoMerge pull request #4425 from WoltLab/template-engine-foreach-variable-unset-fix
Marcel Werk [Thu, 29 Jul 2021 15:34:19 +0000 (17:34 +0200)]
Merge pull request #4425 from WoltLab/template-engine-foreach-variable-unset-fix

Foreach tag unset variables that have the value NULL

2 years agoRe-added previous share button selector to keep compatibility
Marcel Werk [Wed, 28 Jul 2021 16:00:48 +0000 (18:00 +0200)]
Re-added previous share button selector to keep compatibility

Missing js file

2 years agoRe-added previous share button selector to keep compatibility
Marcel Werk [Wed, 28 Jul 2021 15:48:49 +0000 (17:48 +0200)]
Re-added previous share button selector to keep compatibility

2 years agoshare button class name changed to prevent blocking by ad blockers
Marcel Werk [Wed, 28 Jul 2021 14:07:48 +0000 (16:07 +0200)]
share button class name changed to prevent blocking by ad blockers

2 years agoForeach tag unset variables that have the value NULL
Marcel Werk [Wed, 28 Jul 2021 12:24:50 +0000 (14:24 +0200)]
Foreach tag unset variables that have the value NULL

2 years agoUse correct English quote marks in en.xml (5.4)
Tim Düsterhus [Wed, 28 Jul 2021 07:58:10 +0000 (09:58 +0200)]
Use correct English quote marks in en.xml (5.4)

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 28 Jul 2021 07:57:35 +0000 (09:57 +0200)]
Merge branch '5.3' into 5.4

2 years agoUse correct English quote marks in en.xml
Tim Düsterhus [Wed, 28 Jul 2021 07:56:09 +0000 (09:56 +0200)]
Use correct English quote marks in en.xml

2 years agoMerge pull request #4423 from WoltLab/oauth-pkce
Tim Düsterhus [Tue, 27 Jul 2021 15:21:22 +0000 (17:21 +0200)]
Merge pull request #4423 from WoltLab/oauth-pkce

Add PKCE support to AbstractOauth2Action

2 years agoName “Notfallcodes“ consistently
Tim Düsterhus [Tue, 27 Jul 2021 14:37:05 +0000 (16:37 +0200)]
Name “Notfallcodes“ consistently

Drop the hyphen from “Notfall-Code”.

2 years agoAdd PKCE support to AbstractOauth2Action
Tim Düsterhus [Tue, 27 Jul 2021 14:32:27 +0000 (16:32 +0200)]
Add PKCE support to AbstractOauth2Action

2 years agoMerge pull request #4421 from WoltLab/5.4-deleteDsStore
Tim Düsterhus [Tue, 27 Jul 2021 14:15:24 +0000 (16:15 +0200)]
Merge pull request #4421 from WoltLab/5.4-deleteDsStore

Add files/acp/update_com.woltlab.wcf_5.4.3_deleteDsStore.php

2 years agoMerge pull request #4422 from WoltLab/5.4-check-search-rebuild
Marcel Werk [Tue, 27 Jul 2021 13:27:51 +0000 (15:27 +0200)]
Merge pull request #4422 from WoltLab/5.4-check-search-rebuild

Refer to RebuildDataPage in the system check for search engine tables

2 years agoRefer to RebuildDataPage in the system check for search engine tables
Tim Düsterhus [Tue, 27 Jul 2021 12:53:47 +0000 (14:53 +0200)]
Refer to RebuildDataPage in the system check for search engine tables

2 years agoGenerate preload manifest when testing style
Tim Düsterhus [Tue, 27 Jul 2021 12:44:15 +0000 (14:44 +0200)]
Generate preload manifest when testing style

2 years agoFix system font stack when combined with a Google Font
Tim Düsterhus [Tue, 27 Jul 2021 12:36:12 +0000 (14:36 +0200)]
Fix system font stack when combined with a Google Font

Perform the replacement of the system font name, before prepending the Google
font to properly match the font name without the Google font prefix.

2 years agoAdd files/acp/update_com.woltlab.wcf_5.4.3_deleteDsStore.php
Tim Düsterhus [Tue, 27 Jul 2021 12:18:15 +0000 (14:18 +0200)]
Add files/acp/update_com.woltlab.wcf_5.4.3_deleteDsStore.php

2 years agoDrop obsolete update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php
Tim Düsterhus [Tue, 27 Jul 2021 12:31:26 +0000 (14:31 +0200)]
Drop obsolete update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php

This was only required to fix a bug in 5.4.0.

2 years agoMerge branch '5.4' of https://github.com/WoltLab/WCF into 5.4 5.4.2
Alexander Ebert [Mon, 26 Jul 2021 16:04:32 +0000 (18:04 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4

2 years agoRelease 5.4.2
Alexander Ebert [Mon, 26 Jul 2021 16:04:20 +0000 (18:04 +0200)]
Release 5.4.2

2 years agoMerge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Marcel Werk [Mon, 26 Jul 2021 16:03:10 +0000 (18:03 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4

2 years agoFix code style
Marcel Werk [Mon, 26 Jul 2021 15:59:17 +0000 (17:59 +0200)]
Fix code style

2 years agoUpdating minified JavaScript files
WoltLab [Mon, 26 Jul 2021 15:54:45 +0000 (15:54 +0000)]
Updating minified JavaScript files

2 years agoMerge pull request #4417 from WoltLab/captcha-delete-after-use
Alexander Ebert [Mon, 26 Jul 2021 15:53:29 +0000 (17:53 +0200)]
Merge pull request #4417 from WoltLab/captcha-delete-after-use

Delete the captcha registration after retrieving data in Comment/Add and Message/Reply

2 years agoUpdating minified JavaScript files
WoltLab [Mon, 26 Jul 2021 15:51:34 +0000 (15:51 +0000)]
Updating minified JavaScript files

2 years agoTOC code was visible in search results of articles
Marcel Werk [Mon, 26 Jul 2021 15:50:31 +0000 (17:50 +0200)]
TOC code was visible in search results of articles

2 years agoIgnore click events that were triggered outside of the editor
Alexander Ebert [Mon, 26 Jul 2021 15:23:41 +0000 (17:23 +0200)]
Ignore click events that were triggered outside of the editor

This appears to haben if the click event was partially intercepted because of an open overlay that was implicitly closed.

2 years agoCaret misplacement due to U+200B in Safari after pasting
Alexander Ebert [Mon, 26 Jul 2021 13:36:35 +0000 (15:36 +0200)]
Caret misplacement due to U+200B in Safari after pasting

2 years agoDelete the captcha registration after retrieving data in Comment/Add and Message...
Tim Düsterhus [Mon, 26 Jul 2021 12:42:44 +0000 (14:42 +0200)]
Delete the captcha registration after retrieving data in Comment/Add and Message/Reply

When a validation error is encountered, a new template with a new captcha will
be sent. However the logic within the captcha controller prevents a callback
from being added for a specific captcha ID if one is already registered. This
leads to the previous captcha callback being reused for another attempt.

This does not work, because a single instance of reCAPTCHA may only be used
once, thus erroring out if the callback is invoked a second time.

Fix this issue by deleting the captcha callback once we used it once. Upon
another failure another template will be sent, re-registering a new and valid
captcha.

It was also considered caching the return value, however this will cause issues
if the user mistypes a captcha as they will be unable to correct the error, due
to the same value being returned on the next attempt.

Ideally the `getData()` function would automatically delete the callback,
making it a single-use callback by design. This might break API users relying
on this current (broken) behavior, though.

The whole (AJAX) CAPTCHA API looks broken beyond repair. It also relies on the
jQuery parts being available. It should be cleanly refactored in a future
version.

2 years agoIncorrect text alignment on mobile
Alexander Ebert [Mon, 26 Jul 2021 12:26:14 +0000 (14:26 +0200)]
Incorrect text alignment on mobile

2 years agoDecrease sitemap size to 25,000 objects
joshuaruesweg [Fri, 23 Jul 2021 17:45:26 +0000 (19:45 +0200)]
Decrease sitemap size to 25,000 objects

Google allows up to 50,000 items in a single sitemap. This makes these sitemaps potentially very large. Even though Google allows up to 50 MB, too large sitemaps are still problematic, especially when it comes to troubleshooting in Google Webmaster Tools. Therefore, we minimise the limit of objects in a sitemap to 25,000 objects. This does not have any negative effects for Google as long as no more than 50,000 sitemaps are linked in the index sitemap.

2 years agoFix sitemap name of duplicate sitemaps
joshuaruesweg [Fri, 23 Jul 2021 17:22:20 +0000 (19:22 +0200)]
Fix sitemap name of duplicate sitemaps

The issue was introduced with the commit 98dcdefc38574de9a249b19e378958a5cbdcb5d4

2 years agoSome external links in the admin panel did not open in a new window
Marcel Werk [Fri, 23 Jul 2021 16:12:04 +0000 (18:12 +0200)]
Some external links in the admin panel did not open in a new window

2 years agoTrim trailing whitespace
Tim Düsterhus [Fri, 23 Jul 2021 10:48:24 +0000 (12:48 +0200)]
Trim trailing whitespace

2 years agoFix IpAddress::toBulletMasked() for IP addresses with unmasked quadruplets with value...
Tim Düsterhus [Fri, 23 Jul 2021 10:33:23 +0000 (12:33 +0200)]
Fix IpAddress::toBulletMasked() for IP addresses with unmasked quadruplets with value zero

Rebuild the IPv6 masking algorithm to a proper parser handling the quadruplets
one-by-one, instead of attempting to process the IP address using regular
expressions.

This patch fixes masking of IP addresses such as:

    2001:db8:1234:0:abcd::1234

Applying a /64 mask will transform the IP address into:

    2001:db8:1234::

Note how the explicit 0 block is elided as well.

Previously the bullet masking algorithm would transform this into:

    2001:db8:1234:••••:••••:••••:••••

Resulting in an IP address with just 7 quadruplets. Now it correctly returns:

    2001:db8:1234:0:••••:••••:••••:••••

2 years agoMerge remote-tracking branch 'origin/5.4' into 5.4
Tim Düsterhus [Fri, 23 Jul 2021 07:15:48 +0000 (09:15 +0200)]
Merge remote-tracking branch 'origin/5.4' into 5.4

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 23 Jul 2021 07:12:08 +0000 (09:12 +0200)]
Merge branch '5.3' into 5.4

2 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 23 Jul 2021 07:10:50 +0000 (09:10 +0200)]
Merge branch '5.2' into 5.3

2 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Fri, 23 Jul 2021 07:10:26 +0000 (09:10 +0200)]
Merge branch '3.1' into 5.2

2 years agoEncode HTML in smileyTitle in Smiley::getHtml()
Tim Düsterhus [Fri, 23 Jul 2021 07:09:56 +0000 (09:09 +0200)]
Encode HTML in smileyTitle in Smiley::getHtml()

2 years agoMerge pull request #4415 from WoltLab/focus-not-on-never
Tim Düsterhus [Thu, 22 Jul 2021 15:04:51 +0000 (17:04 +0200)]
Merge pull request #4415 from WoltLab/focus-not-on-never

Help TSC understand the data flow in Dropdown/Simple#toggle

2 years agoHelp TSC understand the data flow in Dropdown/Simple#toggle
Tim Düsterhus [Thu, 22 Jul 2021 14:32:11 +0000 (16:32 +0200)]
Help TSC understand the data flow in Dropdown/Simple#toggle

Newer TSC versions determine that `firstListItem` must always be `null`, thus
resulting in `firstListItem` being of type `never` within the `if
(firstListItem !== null)` condition, ultimately complaining about calling
`.focus()` on a `never` type:

> Property 'focus' does not exist on type 'never'.

The issue lies in the TypeScript compiler not properly understanding the
semantics of the `.forEach()`, assuming it might not synchronously call the
callback function.

Rewrite this logic to support TSC in understanding the code and to also make
the intent clearer to the human reader by adding additional helper variables.

2 years agoWrong background color for hero boxes in mobile version
Marcel Werk [Thu, 22 Jul 2021 14:08:14 +0000 (16:08 +0200)]
Wrong background color for hero boxes in mobile version

2 years agoFix TypeScript code style
Tim Düsterhus [Thu, 22 Jul 2021 13:15:58 +0000 (15:15 +0200)]
Fix TypeScript code style

see 2ec1474e944428806ee4dd18ed161dec9eaa8308

2 years agoCorrectly pass COMPILER_TARGET_DEFAULT when building WoltLabSuite.Core*.min.js
Tim Düsterhus [Thu, 22 Jul 2021 13:03:19 +0000 (15:03 +0200)]
Correctly pass COMPILER_TARGET_DEFAULT when building WoltLabSuite.Core*.min.js

2 years agoReference `COMPILER_TARGET_DEFAULT` without going via `globalThis`
Tim Düsterhus [Thu, 22 Jul 2021 12:56:37 +0000 (14:56 +0200)]
Reference `COMPILER_TARGET_DEFAULT` without going via `globalThis`

This is required, because the minifier will not detect it otherwise.

2 years agoText links in the mobile menu of the admin panel did not work
Marcel Werk [Thu, 22 Jul 2021 11:43:45 +0000 (13:43 +0200)]
Text links in the mobile menu of the admin panel did not work

3 years agoFix mistake in informal version of de.xml
Tim Düsterhus [Wed, 21 Jul 2021 13:18:37 +0000 (15:18 +0200)]
Fix mistake in informal version of de.xml

3 years agoMerge pull request #4412 from WoltLab/coverPhoto-upgrade
Tim Düsterhus [Tue, 20 Jul 2021 15:18:05 +0000 (17:18 +0200)]
Merge pull request #4412 from WoltLab/coverPhoto-upgrade

Improve resiliency of the style cover photo upgrade script

3 years agoCheck whether the style's cover photo exists during upgrade to 5.4
Tim Düsterhus [Tue, 20 Jul 2021 14:27:31 +0000 (16:27 +0200)]
Check whether the style's cover photo exists during upgrade to 5.4

3 years agoMerge pull request #4411 from WoltLab/test-for-webp-support
Alexander Ebert [Tue, 20 Jul 2021 13:59:03 +0000 (15:59 +0200)]
Merge pull request #4411 from WoltLab/test-for-webp-support

Fall-back to GD if ImageMagick does not satisfy the requirements

3 years agoPartially reverted the logic for the image library check
Alexander Ebert [Tue, 20 Jul 2021 13:50:29 +0000 (15:50 +0200)]
Partially reverted the logic for the image library check

3 years agoFall-back to GD if ImageMagick does not satisfy the requirements
Alexander Ebert [Tue, 20 Jul 2021 12:42:39 +0000 (14:42 +0200)]
Fall-back to GD if ImageMagick does not satisfy the requirements

3 years agoAdd update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php
Tim Düsterhus [Tue, 20 Jul 2021 10:52:24 +0000 (12:52 +0200)]
Add update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php

3 years agoDefault IP address to `::` if `$_SERVER['REMOTE_ADDR']` is unavailable
Tim Düsterhus [Tue, 20 Jul 2021 10:43:38 +0000 (12:43 +0200)]
Default IP address to `::` if `$_SERVER['REMOTE_ADDR']` is unavailable

The session list within the AccountSecurityPage relies on all sessions storing
valid IP addresses. When using `cli.php` no `REMOTE_ADDR` will be available and
an empty string was being stored. As the empty string is not a valid IP address
the `\wcf\util\IpAddress` class errored out.

Fix this issue by always returning a syntactically valid IP address from
`UserUtil::getIpAddress()`. `::` is being used which is commonly used to
indicate unknown IP addresses and must never appear within valid IP packets.

3 years agoDisable unfurled links in AMP pages
joshuaruesweg [Tue, 20 Jul 2021 10:12:15 +0000 (12:12 +0200)]
Disable unfurled links in AMP pages

3 years agoPrevent inverting permissions, if the object is visible for everyone
joshuaruesweg [Tue, 20 Jul 2021 09:36:13 +0000 (11:36 +0200)]
Prevent inverting permissions, if the object is visible for everyone

If the permission is inverted and the object is allowed for everyone, the object cannot seen by anyone. Furthermore the admin can only uncheck the inverted permissions button, if the object is not allowed for everyone anymore.

3 years agoFix faulty invertPermission label logic
joshuaruesweg [Tue, 20 Jul 2021 08:50:29 +0000 (10:50 +0200)]
Fix faulty invertPermission label logic

3 years agoAdd missing `@since` to ISafeFormatAvatar
Tim Düsterhus [Tue, 20 Jul 2021 07:10:20 +0000 (09:10 +0200)]
Add missing `@since` to ISafeFormatAvatar

3 years agoMissing implicit function scope
Alexander Ebert [Mon, 19 Jul 2021 15:35:42 +0000 (17:35 +0200)]
Missing implicit function scope

3 years agoCast empty values for the file size to int
Alexander Ebert [Mon, 19 Jul 2021 15:32:25 +0000 (17:32 +0200)]
Cast empty values for the file size to int

PHP 8 is much more sensitive to type mismatches, before PHP 8 the value `''` was implicitly converted to `0`.

3 years agoWebP was not recognised as image format when uploading images
Marcel Werk [Mon, 19 Jul 2021 14:24:38 +0000 (16:24 +0200)]
WebP was not recognised as image format when uploading images

3 years agoMake renaming columns with PHP DB API idempotent (#4367)
Matthias Schmidt [Mon, 5 Jul 2021 09:15:20 +0000 (11:15 +0200)]
Make renaming columns with PHP DB API idempotent (#4367)

An error message should only be shown if the neither a column with the old name, nor with the name name exists so that after the rename, a second rename is a no-op.

Close #4362
See #3765

(cherry picked from commit 1a029332791f3e3cdca054d8f139857b5ef78791)

3 years agoMerge pull request #4405 from WoltLab/migrateMultifactor-deleted-user
Joshua Rüsweg [Fri, 16 Jul 2021 08:43:12 +0000 (10:43 +0200)]
Merge pull request #4405 from WoltLab/migrateMultifactor-deleted-user

Skip authenticators of deleted users in update_com.woltlab.wcf_5.4_migrate_multifactor.php

3 years agoSkip authenticators of deleted users in update_com.woltlab.wcf_5.4_migrate_multifacto...
Tim Düsterhus [Thu, 15 Jul 2021 14:50:59 +0000 (16:50 +0200)]
Skip authenticators of deleted users in update_com.woltlab.wcf_5.4_migrate_multifactor.php

3 years agoMerge branch '5.3' into 5.4 5.4.1
Alexander Ebert [Thu, 15 Jul 2021 12:07:03 +0000 (14:07 +0200)]
Merge branch '5.3' into 5.4

3 years agoRelease 5.3.12 5.3.12
Alexander Ebert [Thu, 15 Jul 2021 12:04:15 +0000 (14:04 +0200)]
Release 5.3.12

3 years agoRelease 5.4.1
Alexander Ebert [Thu, 15 Jul 2021 11:58:44 +0000 (13:58 +0200)]
Release 5.4.1

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 15 Jul 2021 11:56:01 +0000 (13:56 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge pull request #4404 from WoltLab/imagick-webp-optional
Alexander Ebert [Thu, 15 Jul 2021 11:05:26 +0000 (13:05 +0200)]
Merge pull request #4404 from WoltLab/imagick-webp-optional

Permit the upgrade if only GD with WebP support is present

3 years agoRebuild the pre-update file archive
Alexander Ebert [Thu, 15 Jul 2021 11:00:55 +0000 (13:00 +0200)]
Rebuild the pre-update file archive

3 years agoMerge branch '5.4' into imagick-webp-optional
Alexander Ebert [Thu, 15 Jul 2021 11:00:14 +0000 (13:00 +0200)]
Merge branch '5.4' into imagick-webp-optional

3 years agoMerge pull request #4403 from WoltLab/5.4-sqlLog
Alexander Ebert [Thu, 15 Jul 2021 10:57:46 +0000 (12:57 +0200)]
Merge pull request #4403 from WoltLab/5.4-sqlLog

Add missing SQL log entry for `wcf1_acp_session_virtual` during upgrade to 5.4

3 years agoUpdated the pre-update file archive
Alexander Ebert [Thu, 15 Jul 2021 10:52:39 +0000 (12:52 +0200)]
Updated the pre-update file archive

3 years agoAllow bypass of a broken imagick extension, improved error messages
Alexander Ebert [Thu, 15 Jul 2021 10:50:51 +0000 (12:50 +0200)]
Allow bypass of a broken imagick extension, improved error messages

3 years agoImproved the explanation for missing system requirements
Alexander Ebert [Thu, 15 Jul 2021 10:45:36 +0000 (12:45 +0200)]
Improved the explanation for missing system requirements

3 years agoAdd missing SQL log entry for `wcf1_acp_session_virtual` during upgrade to 5.4
Tim Düsterhus [Thu, 15 Jul 2021 09:57:39 +0000 (11:57 +0200)]
Add missing SQL log entry for `wcf1_acp_session_virtual` during upgrade to 5.4

This entry is required to be able to delete this table later in the process.

3 years agoCheck for WebP support in the selected adapter
Alexander Ebert [Thu, 15 Jul 2021 09:22:06 +0000 (11:22 +0200)]
Check for WebP support in the selected adapter

3 years agoFix typo in de.xml
Tim Düsterhus [Thu, 15 Jul 2021 07:19:22 +0000 (09:19 +0200)]
Fix typo in de.xml

3 years agoRelease 5.4.0 5.4.0
Alexander Ebert [Wed, 14 Jul 2021 15:38:49 +0000 (17:38 +0200)]
Release 5.4.0

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 14 Jul 2021 13:34:06 +0000 (15:34 +0200)]
Merge branch '5.3' into 5.4