Tim Düsterhus [Wed, 13 Jul 2022 10:08:19 +0000 (12:08 +0200)]
Add MySQL Native Driver check to update_com.woltlab.wcf_5.6_checkSystemRequirements.php
see #4386
Tim Düsterhus [Wed, 13 Jul 2022 10:05:34 +0000 (12:05 +0200)]
Reenable the check for MySQL Native Driver in WCFSetup
see #4386
Tim Düsterhus [Wed, 13 Jul 2022 10:09:59 +0000 (12:09 +0200)]
Fix SystemCheckPage with MySQL 5
The array key for MySQL's 5.y.z branch was removed in
9870f6ffe5a52130e858777cec48f0576a625a4a, but it still was accessed.
Tim Düsterhus [Tue, 12 Jul 2022 15:13:53 +0000 (17:13 +0200)]
Merge branch '5.5'
Alexander Ebert [Tue, 12 Jul 2022 15:11:46 +0000 (17:11 +0200)]
Add a link to the list of deleted items in the moderation
See #4900
Tim Düsterhus [Tue, 12 Jul 2022 14:32:22 +0000 (16:32 +0200)]
Merge pull request #4903 from WoltLab/fix-update-credential-dialog
Fix sending credentials when updating packages
Tim Düsterhus [Tue, 12 Jul 2022 14:06:33 +0000 (16:06 +0200)]
Merge pull request #4898 from WoltLab/5.5-ds-store
Rerun the .DS_Store deletion script
Tim Düsterhus [Thu, 7 Jul 2022 13:07:33 +0000 (15:07 +0200)]
Rerun the .DS_Store deletion script
The files.tar of 5.5.0 RC 3 contained them, the files_update.tar did not. Thus
instances upgrading from 5.4 straight to 5.5.0 RC 3 are affected by this issue,
whereas instances coming from RC 2 are not necessarily.
Add this script to the update instructions from 5.4 to clean all instances
coming from 5.4.x. Add it also to the update instructions from 5.5.2 to clean all
instances coming from 5.5.x.
see https://www.woltlab.com/community/thread/296244-ds-store-dateien-erneut-in-der-installation/
see #4699
Tim Düsterhus [Tue, 12 Jul 2022 10:27:48 +0000 (12:27 +0200)]
Update composer dependencies
Tim Düsterhus [Tue, 12 Jul 2022 09:56:11 +0000 (11:56 +0200)]
Update for PHP CS Fixer 3.9.2
Tim Düsterhus [Tue, 12 Jul 2022 09:04:00 +0000 (11:04 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Tue, 12 Jul 2022 07:53:25 +0000 (09:53 +0200)]
Fix sending credentials when updating packages
Previously the `isStoreCode` array key would not be defined when updating,
resulting in the code erroring out in PackageUpdateAction::createQueue() due to
accessing an undefined array key.
see
eb1f573e7ddf8ac96baa80132284e1efc7c9659d
Alexander Ebert [Mon, 11 Jul 2022 15:37:40 +0000 (17:37 +0200)]
Merge pull request #4901 from IceQ1337-Forks/tabmenu-subtab-spacing
Fix margin-top for sub tab content
Tim Düsterhus [Mon, 11 Jul 2022 15:37:33 +0000 (17:37 +0200)]
Merge pull request #4902 from WoltLab/exception-ignore-args
Disable `zend.exception_ignore_args` for PHP 8.2 once WCF's exception handler is bound
Tim Düsterhus [Mon, 11 Jul 2022 10:18:01 +0000 (12:18 +0200)]
Disable `zend.exception_ignore_args` for PHP 8.2 once WCF's exception handler is bound
With the introduction of the `\SensitiveParameter` attribute in PHP sensitive
values in stack traces should be sanitized and administrators already have the
capability of disabling the public printing of the stack trace.
Force enable the collection of stack frame arguments for exceptions to ease
debugging.
Tim Düsterhus [Mon, 11 Jul 2022 09:57:11 +0000 (11:57 +0200)]
Improve exception message in ImageUtil::createWebpVariant()
Marcel Werk [Sun, 10 Jul 2022 17:41:18 +0000 (19:41 +0200)]
Skip removal of conflicting file
This file was effectively removed in 3.0, but was later added again by a plugin (which mimics the original functionality) using the same name. Having this file removed causes the plugin to break after the upgrade from 5.4 to 5.5.
IceQ1337 [Sat, 9 Jul 2022 17:26:10 +0000 (19:26 +0200)]
Fix margin-top for sub tab content
Alexander Ebert [Fri, 8 Jul 2022 10:53:19 +0000 (12:53 +0200)]
Release 5.5.2
Alexander Ebert [Thu, 7 Jul 2022 11:26:43 +0000 (13:26 +0200)]
Force the redeployment of `pageMenu.scss` and `userMenu.scss`
These files were manually overwritten because of an error in the upgrade from 5.4 to 5.5.0. These updated comments will force these to be included in the update again.
Tim Düsterhus [Wed, 6 Jul 2022 14:47:40 +0000 (16:47 +0200)]
Merge branch '5.5'
Alexander Ebert [Wed, 6 Jul 2022 14:44:22 +0000 (16:44 +0200)]
Force the inclusion of the update script in `files_update.tar`
Alexander Ebert [Wed, 6 Jul 2022 14:42:04 +0000 (16:42 +0200)]
Force the update of the style variables
See
26f071679484808f0babe54fdc36d21e2d6ba59a
Alexander Ebert [Wed, 6 Jul 2022 14:38:58 +0000 (16:38 +0200)]
Release 5.5.1
Alexander Ebert [Wed, 6 Jul 2022 14:29:24 +0000 (16:29 +0200)]
Update the contents of the pre-upgrade archive
See https://www.woltlab.com/community/thread/296242-fehler-nach-update-auf-5-5-0-von-aktueller-vorheriger-version-could-not-compile/
Tim Düsterhus [Wed, 6 Jul 2022 13:52:30 +0000 (15:52 +0200)]
Merge branch '5.5'
Tim Düsterhus [Wed, 6 Jul 2022 13:52:05 +0000 (15:52 +0200)]
Merge branch '5.5'
Alexander Ebert [Wed, 6 Jul 2022 11:55:04 +0000 (13:55 +0200)]
Release 5.5.0
WoltLab [Wed, 6 Jul 2022 11:36:13 +0000 (11:36 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Wed, 6 Jul 2022 10:42:06 +0000 (12:42 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Wed, 6 Jul 2022 10:38:08 +0000 (12:38 +0200)]
Stop flagging the new version 5.5 as “Evaluation”
See
9072d357de11116a15205073237498cab86dcd5c
Alexander Ebert [Wed, 6 Jul 2022 10:35:02 +0000 (12:35 +0200)]
Release 5.4.20
Alexander Ebert [Wed, 6 Jul 2022 10:33:06 +0000 (12:33 +0200)]
Enable the upgrade notice for 5.5 by default
See WoltLab/com.woltlab.website#602
WoltLab [Wed, 6 Jul 2022 10:27:17 +0000 (10:27 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 6 Jul 2022 10:25:55 +0000 (12:25 +0200)]
Merge branch '5.3' into 5.4
Alexander Ebert [Wed, 6 Jul 2022 10:25:19 +0000 (12:25 +0200)]
Release 5.3.24
Alexander Ebert [Tue, 5 Jul 2022 15:33:54 +0000 (17:33 +0200)]
Allow HTML-like text content in links in the editor
See https://www.woltlab.com/community/thread/296219-attempting-to-link-an-html-tag-removes-the-tag/
Tim Düsterhus [Tue, 5 Jul 2022 13:49:55 +0000 (15:49 +0200)]
Merge branch '5.5'
Tim Düsterhus [Tue, 5 Jul 2022 13:43:52 +0000 (15:43 +0200)]
Add proper return types to StringUtil methods
Tim Düsterhus [Tue, 5 Jul 2022 13:43:23 +0000 (15:43 +0200)]
Merge pull request #4897 from WoltLab/user-option-output-null
Explicitly handle a `null` value in UserOptionOutput
Tim Düsterhus [Tue, 5 Jul 2022 13:35:08 +0000 (15:35 +0200)]
Explicitly handle a `null` value in UserOptionOutput
userOptions are commonly nullable, because no default value can be defined for
the `TEXT` column type family.
`null` needs to be handled explicitly, because PHP 8.1 deprecated passing
`null` to non-nullable string parameters of native functions. As an example
without this change, `null` could be passed to `StringUtil::trim()` in
`MessageUserOptioNOutput` which in turn passes it to `preg_replace()`.
Tim Düsterhus [Tue, 5 Jul 2022 12:39:36 +0000 (14:39 +0200)]
Merge branch '5.5'
Tim Düsterhus [Tue, 5 Jul 2022 12:39:03 +0000 (14:39 +0200)]
Update composer dependencies
Tim Düsterhus [Tue, 5 Jul 2022 11:42:52 +0000 (13:42 +0200)]
Merge branch '5.5'
Tim Düsterhus [Tue, 5 Jul 2022 11:28:08 +0000 (13:28 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Tue, 5 Jul 2022 11:27:48 +0000 (13:27 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 5 Jul 2022 11:25:39 +0000 (13:25 +0200)]
Merge pull request #4896 from WoltLab/abstract-category-edit-check-type
Verify that the category's objectType matches the form's objectType in AbstractCategoryEditForm
Tim Düsterhus [Tue, 5 Jul 2022 11:25:22 +0000 (13:25 +0200)]
Merge pull request #4895 from WoltLab/abstract-ajax-action
Make AbstractAjaxAction actually abstract
Tim Düsterhus [Tue, 5 Jul 2022 11:25:14 +0000 (13:25 +0200)]
Merge pull request #4894 from WoltLab/abstract-category-edit
Make AbstractCategoryEditForm actually abstract
Tim Düsterhus [Tue, 5 Jul 2022 11:25:01 +0000 (13:25 +0200)]
Merge pull request #4893 from WoltLab/tabmenu-select-invalid-container
Select the first erroneous tab in a form if multiple are erroneous
Tim Düsterhus [Tue, 5 Jul 2022 09:05:42 +0000 (11:05 +0200)]
Make AbstractAjaxAction actually abstract
Without a controller that inherits from it, the AbstractAjaxAction will do
absolutely nothing useful:
- It fires events that cannot usefully be handled in a generic way.
- It sends an empty HTML response (i.e. a white page).
Tim Düsterhus [Tue, 5 Jul 2022 09:02:19 +0000 (11:02 +0200)]
Improve type of exception for invalid object types in AbstractCategoryAddForm
This technically is a BC break, but this exception must not be caught anyway as
it indicates a clear programming error.
Tim Düsterhus [Mon, 27 Jun 2022 14:03:31 +0000 (16:03 +0200)]
Make AbstractCategoryEditForm actually abstract
This form is not functional, unless an objectType is defined in a child class.
Tim Düsterhus [Tue, 5 Jul 2022 08:37:50 +0000 (10:37 +0200)]
Handle invalid `<textarea>` elements when submitting a form within a TabMenu
Tim Düsterhus [Tue, 5 Jul 2022 07:51:24 +0000 (09:51 +0200)]
Select the first erroneous tab in a form if multiple are erroneous
This was incorrectly migrated to TypeScript. Before TypeScript this used a
regular `for` loop counting indices, allowing the `return;` to correctly leave
the loop.
see https://www.woltlab.com/community/thread/296198-formbuilder-tabmenuformcontainer-required-js-fehler/
Tim Düsterhus [Tue, 5 Jul 2022 07:48:39 +0000 (09:48 +0200)]
Add `DOM.Iterable` to tsconfig.json's `lib` list
This makes `NodeList`, `FormData` et al iterable. This is part of ES 2015 and
thus can be used.
Tim Düsterhus [Mon, 4 Jul 2022 15:33:24 +0000 (17:33 +0200)]
Merge pull request #4892 from WoltLab/remove-fetch-template-plugin
Remove the FetchCompilerTemplatePlugin
Tim Düsterhus [Mon, 4 Jul 2022 15:23:22 +0000 (17:23 +0200)]
Remove the FetchCompilerTemplatePlugin
See
2a5ce139d53d3ec7232013d4492d6e322b262cfb (which deprecated `{fetch}`) and
bfddcab778b25ece1136eaff4b688812495b96d5 which always enabled the allow list of
template modifiers, preventing `file_get_contents` even outside of enterprise
mode.
Tim Düsterhus [Mon, 4 Jul 2022 15:21:57 +0000 (17:21 +0200)]
Update fileDelete.xml
Tim Düsterhus [Mon, 4 Jul 2022 15:06:57 +0000 (17:06 +0200)]
Merge branch '5.5'
Tim Düsterhus [Mon, 4 Jul 2022 15:06:02 +0000 (17:06 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.5
Tim Düsterhus [Mon, 4 Jul 2022 15:05:48 +0000 (17:05 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Mon, 4 Jul 2022 15:05:13 +0000 (17:05 +0200)]
Merge pull request #4891 from WoltLab/fetch-template-plugin
Deprecate the `{fetch}` template plugin
Tim Düsterhus [Mon, 4 Jul 2022 14:27:39 +0000 (16:27 +0200)]
Deprecate the `{fetch}` template plugin
Alexander Ebert [Mon, 4 Jul 2022 14:45:04 +0000 (16:45 +0200)]
Add support for hover color in the user menu
See https://www.woltlab.com/community/thread/296209-wcfusermenulinkactive-fehlt/
Tim Düsterhus [Mon, 4 Jul 2022 14:11:58 +0000 (16:11 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Mon, 4 Jul 2022 14:10:48 +0000 (16:10 +0200)]
Merge pull request #4890 from WoltLab/upgrade-override-always-disable
Always allow disabling the upgrade override if enabled
Tim Düsterhus [Mon, 4 Jul 2022 14:08:34 +0000 (16:08 +0200)]
Verify that the category's objectType matches the form's objectType in AbstractCategoryEditForm
Alexander Ebert [Mon, 4 Jul 2022 13:18:13 +0000 (15:18 +0200)]
Keep the unread indicator of user menu tabs in sync
See https://www.woltlab.com/community/thread/295243-pro-und-kontra-neues-kontrollzentrum/?postID=
1897875#post1897875
Alexander Ebert [Mon, 4 Jul 2022 13:17:43 +0000 (15:17 +0200)]
Always show the unread indicator of user menu tabs
Tim Düsterhus [Mon, 4 Jul 2022 12:39:49 +0000 (14:39 +0200)]
Always allow disabling the upgrade override if enabled
Previously the following might happen:
- A community is running 5.3.
- They enable the upgrade override and upgrade to 5.4.
- They are offered the upgrade to 5.5, but don't want to do that, yet.
- They access the PackageEnableUpgradeOverrideForm to disable the upgrade.
- It complains that the search index was not yet migrated to InnoDB, preventing
the disabling of the upgrade.
Alexander Ebert [Mon, 4 Jul 2022 11:50:56 +0000 (13:50 +0200)]
Apply the special box styling to the title
See https://www.woltlab.com/community/thread/296149-styling-infoboxen/
Alexander Ebert [Mon, 4 Jul 2022 11:45:01 +0000 (13:45 +0200)]
Preselect the hex input of the color picker
See https://www.woltlab.com/community/thread/296153-farbw%C3%A4hler-ohne-fokus/
Tim Düsterhus [Mon, 4 Jul 2022 11:22:41 +0000 (13:22 +0200)]
Alexander Ebert [Mon, 4 Jul 2022 11:19:01 +0000 (13:19 +0200)]
Fix the inconsistent return value of notifications
The API returned a different data structure when there are no notifications to show compared to when there are items. This causes the JS-API to break, because it always expects the later data structure.
This is a regression of
ec1a4a80d3a8f89105d6012ec857a7115f41c97e
See https://www.woltlab.com/community/thread/296174-benachrichtigungen-werden-nicht-mehr-angezeigt/
Alexander Ebert [Mon, 4 Jul 2022 11:04:37 +0000 (13:04 +0200)]
Fix the unconditional access to an optional element
See https://www.woltlab.com/community/thread/296182-js-fehler-beim-scrollen-in-mobiler-ansicht/
Tim Düsterhus [Mon, 4 Jul 2022 10:33:31 +0000 (12:33 +0200)]
Merge branch '5.5'
Alexander Ebert [Mon, 4 Jul 2022 10:07:51 +0000 (12:07 +0200)]
Add a unique CSS class to the article page section
See #4887
Alexander Ebert [Mon, 4 Jul 2022 10:05:52 +0000 (12:05 +0200)]
Merge pull request #4889 from WoltLab/5.5-fix-delete-button-unknown-images
Fix delete button appears on failed uploads
Alexander Ebert [Mon, 4 Jul 2022 08:13:34 +0000 (10:13 +0200)]
Merge tag '5.5.0_RC_3' into 5.5
Marcel Werk [Sun, 3 Jul 2022 13:26:28 +0000 (15:26 +0200)]
Fix shrinking of content navigation buttons in desktop version
https://github.com/WoltLab/WCF/commit/
a3e4ab16d9a566149de88e2d4b649accc768f012 caused the text on the buttons to be severely shortened when the content title became too long.
joshuaruesweg [Sat, 2 Jul 2022 12:04:43 +0000 (14:04 +0200)]
Fix delete button appears on failed uploads
Alexander Ebert [Fri, 1 Jul 2022 15:40:31 +0000 (17:40 +0200)]
Release 5.5.0 RC 3
Alexander Ebert [Fri, 1 Jul 2022 15:40:31 +0000 (17:40 +0200)]
Internal release 5.5.0 RC 3
WoltLab [Fri, 1 Jul 2022 15:31:58 +0000 (15:31 +0000)]
Updating minified JavaScript files
Alexander Ebert [Fri, 1 Jul 2022 14:02:44 +0000 (16:02 +0200)]
Merge pull request #4886 from WoltLab/user-menu-incorrect-counter-update
Update the Unread Counter Using the Server-side Counter
Tim Düsterhus [Fri, 1 Jul 2022 11:54:59 +0000 (13:54 +0200)]
Merge branch '5.5'
Tim Düsterhus [Fri, 1 Jul 2022 11:52:26 +0000 (13:52 +0200)]
Update focus-trap and tabbable
Tim Düsterhus [Fri, 1 Jul 2022 11:51:17 +0000 (13:51 +0200)]
Merge branch '5.5'
Tim Düsterhus [Fri, 1 Jul 2022 11:49:20 +0000 (13:49 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Fri, 1 Jul 2022 11:44:06 +0000 (13:44 +0200)]
Update typescript
see
41b5a7f4fcc27a2fd4434d2feedb10e942930d51. We specifically upgrade
typescript also in 5.4 to ease merges, because the output of const enum
changed.
Tim Düsterhus [Fri, 1 Jul 2022 09:44:29 +0000 (11:44 +0200)]
Update gsactions/commit-message-checker
Tim Düsterhus [Fri, 1 Jul 2022 09:33:18 +0000 (11:33 +0200)]
Update npm dependencies
Alexander Ebert [Thu, 30 Jun 2022 17:00:04 +0000 (19:00 +0200)]
Update the unread badge using the server-side data
Alexander Ebert [Thu, 30 Jun 2022 16:47:58 +0000 (18:47 +0200)]
Update the unread badge using the server-side data
The previous implementation relied on the number of unread items currently visible in the user menu. This caused an incorrect number shown for >10 unread items.
Notice: This is a last-minute API change to report the correct number from the server-side.
Fixes #4877
Alexander Ebert [Thu, 30 Jun 2022 15:28:18 +0000 (17:28 +0200)]
Preserve the content when removing selection markers
In some rare cases the typed-in content could be placed within the selection markers, causing those to be removed whenever markers are being stripped.
This is a follow up for
dd829b643d403f403fae8748a8f00e2e448af490 which already mitigates some of these issues by more carefully handling selections.
Alexander Ebert [Thu, 30 Jun 2022 14:30:19 +0000 (16:30 +0200)]
Merge pull request #4883 from WoltLab/main-menu-data-binding
Partial Data Binding for the Main Menu
Alexander Ebert [Thu, 30 Jun 2022 13:55:24 +0000 (15:55 +0200)]
Use the `null` value to indicate a missing identifier
Tim Düsterhus [Thu, 30 Jun 2022 10:50:37 +0000 (12:50 +0200)]
Merge pull request #4884 from WoltLab/diactoros-requestFilter
Explicitly trust `x-forwarded-proto` for Diactoros' ServerRequest
Tim Düsterhus [Thu, 30 Jun 2022 09:44:51 +0000 (11:44 +0200)]
Specify `null` for the superglobals in ServerRequestFactory::fromGlobals()
Diactoros does not use `$_COOKIE` internally, but parses the `Cookie` header
instead, because PHP mangles cookie names when parsing into `$_COOKIE`.