Alexander Ebert [Tue, 28 Jun 2022 12:10:20 +0000 (14:10 +0200)]
Clearly mark the StoreCode as sensitive
The Plugin-Store StoreCode can contain credentials that are considered to be sensitive and should not be shared with third parties.
This change adds a unique prefix that serves as a warning to prevent users from unintentionally sharing these credentials with others.
In addition, this unique prefix makes it possible to block this string from appearing in messages using the censorship feature.
Alexander Ebert [Tue, 28 Jun 2022 11:06:20 +0000 (13:06 +0200)]
Guarantee integrity of packages downloaded via a Plugin-Store StoreCode
The package system was unaware of the context of an installation request and permitted the download from unintended package servers.
This can cause the download to be initiated from a different server than the user expected, potentially causing the download of a modified version.
This commit fixes this issue by restricting the package sources to official servers only when the download via the Plugin-Store‘s StoreCode is requested.
Alexander Ebert [Tue, 28 Jun 2022 12:17:31 +0000 (14:17 +0200)]
Explicitly define the text color in the mobile menu
The elements previously implicitly inherited the text color from the surrounding HTML context rather than the element itself. This caused the colors from the content area to bleed into the mobile menu.
See https://www.woltlab.com/community/thread/295243-pro-und-kontra-neues-kontrollzentrum/?postID=
1897430#post1897430 ff
Alexander Ebert [Mon, 27 Jun 2022 16:53:37 +0000 (18:53 +0200)]
Force restore saved selections after inserting links into the editor
Redactor‘s selection handling is very fragile and “forgetting” to restore the selection can cause some very strange side-effects.
The user will start typing inside a selection marker, which will not cause any visual effects, but the content will get lost once the editor removes the markers.
See https://www.woltlab.com/community/thread/296022-einf%C3%BCgen-von-links-im-editor-unter-ipados/
See https://www.woltlab.com/community/thread/296116-einf%C3%BCgen-von-links-im-editor-unter-ipados-text-verschwindet/
See https://www.woltlab.com/community/thread/294753-text-wird-beim-speichern-abgeschnitten/
Marcel Werk [Mon, 27 Jun 2022 16:04:38 +0000 (18:04 +0200)]
Merge branch '5.5' of https://github.com/WoltLab/WCF into 5.5
Marcel Werk [Mon, 27 Jun 2022 16:04:37 +0000 (18:04 +0200)]
Fix sorting of articles by number of comments
Sorting by comments resulted in an exception because the comments column is no longer present in the article table.
Tim Düsterhus [Mon, 27 Jun 2022 14:56:56 +0000 (16:56 +0200)]
Strengthen check for non-instantiable classes in ControllerMap::getClassData()
Alexander Ebert [Thu, 23 Jun 2022 16:56:28 +0000 (18:56 +0200)]
Refresh the mobile unread indicator on DOM update
The unread indicator might become out of sync if the menu is closed, but an action causes the last remaining element(s) to be marked as read.
Using a `MutationObserver` removes the need of signaling such change directly by all actions, for example a “Mark All as Read” button.
See https://www.woltlab.com/community/thread/296063-alle-als-gelesen-markieren-entfernt-badge-nicht/
Alexander Ebert [Thu, 23 Jun 2022 16:31:05 +0000 (18:31 +0200)]
Detect active menu items that have no children
Links with children have the `active` class set on them, but links without have it placed on the parent instead.
See https://www.woltlab.com/community/thread/296045-mobiles-hauptmen%C3%BC-teilweise-nicht-vorausgew%C3%A4hlt-wenn-man-auf-einer-unterseite-is/
Alexander Ebert [Thu, 23 Jun 2022 13:21:43 +0000 (15:21 +0200)]
Preserve the scroll position in CodeMirror on navigation
The previous code stopped working after the update of CodeMirror.
See https://www.woltlab.com/community/thread/296010-nach-css-%C3%A4nderung-nicht-an-selber-stelle/
Alexander Ebert [Thu, 23 Jun 2022 11:34:40 +0000 (13:34 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Thu, 23 Jun 2022 11:32:27 +0000 (13:32 +0200)]
Bind event listeners on editor elements only once
The previous code caused the event listeners to be bound with every iteration. Every invocation touches the DOM by updating the title, which in return caused `observe.load()` to be triggered again. This causes the number of bound event listeners (and thus DOM updates!) to increase exponentionally.
See https://www.woltlab.com/community/thread/296068-dialog-container-vom-spoiler-tag-kann-das-forum-aufh%C3%A4ngen/
Marcel Werk [Tue, 21 Jun 2022 13:31:13 +0000 (15:31 +0200)]
Fix appearance of content navigation buttons in mobile version
Buttons went beyond the edge of the screen instead of wrapping.
Tim Düsterhus [Tue, 21 Jun 2022 08:58:32 +0000 (10:58 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.5
Tim Düsterhus [Tue, 21 Jun 2022 08:58:08 +0000 (10:58 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Tue, 21 Jun 2022 08:57:19 +0000 (10:57 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 21 Jun 2022 08:52:30 +0000 (10:52 +0200)]
Tim Düsterhus [Tue, 21 Jun 2022 08:48:28 +0000 (10:48 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Tue, 21 Jun 2022 08:47:11 +0000 (10:47 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 21 Jun 2022 08:44:38 +0000 (10:44 +0200)]
Update guzzlehttp/psr7
This is a dependency for an updated Guzzle.
see guzzle/psr7@
e98e3e6d4f86621a9b75f623996e6bbdeb4b9318
see guzzle/guzzle@
a52f0440530b54fa079ce76e8c5d196a42cad981
Tim Düsterhus [Tue, 21 Jun 2022 08:44:10 +0000 (10:44 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Tue, 21 Jun 2022 08:43:19 +0000 (10:43 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 21 Jun 2022 08:41:51 +0000 (10:41 +0200)]
Regenerate composer files
Alexander Ebert [Mon, 20 Jun 2022 15:38:01 +0000 (17:38 +0200)]
Release 5.5.0 RC 2
WoltLab [Mon, 20 Jun 2022 15:02:28 +0000 (15:02 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Mon, 20 Jun 2022 13:42:01 +0000 (15:42 +0200)]
Add missing newline at EOF in acp/style/layout.scss
see
89763fcf8fea68d5cda6bda419a5bd8326d4db58
Alexander Ebert [Sat, 18 Jun 2022 13:48:56 +0000 (15:48 +0200)]
Skip the search close handler if it was not open
Executing the callback causes some unintentional changes to the page state.
See https://www.woltlab.com/community/thread/295991-dialoge-hintergrund-scrollt/
Alexander Ebert [Sat, 18 Jun 2022 12:32:10 +0000 (14:32 +0200)]
Align the mobile ACP user drop-down to the right
See https://www.woltlab.com/community/thread/295980-acp-men%C3%BC-mobil-ausrichtung-%C3%A4ndern/
Marcel Werk [Fri, 17 Jun 2022 13:13:17 +0000 (15:13 +0200)]
Merge branch '5.5' of https://github.com/WoltLab/WCF into 5.5
Marcel Werk [Fri, 17 Jun 2022 13:13:15 +0000 (15:13 +0200)]
Fix non-functioning template scripting in language variable
Tim Düsterhus [Wed, 15 Jun 2022 13:56:41 +0000 (15:56 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Wed, 15 Jun 2022 13:45:38 +0000 (15:45 +0200)]
Match foreign keys independent of referenced column casing in PHP DDL
Early versions of MySQL 8 contained a bug that would return the column names of
the referenced table in lowercase whenever querying the FOREIGN KEY or when
showing the table's structure:
https://bugs.mysql.com/bug.php?id=88718
This issue also affects the any created database dumps and is not corrected
when importing the dump into a fixed version of MySQL:
https://bugs.mysql.com/bug.php?id=98976
Thus any instances that were ever dumped with an affected version of MySQL 8
will have foreign keys with a mismatching column case.
The FOREIGN KEY itself will be completely functional, MySQL does not care about
the casing of column names.
However the PHP DDL considers those FOREIGN KEYs to be different when
attempting to find an existing FOREIGN KEY to update, thus believing that the
FOREIGN KEY does not yet exist. As a result it attemtps to create it,
generating a name that is identical to the existing FOREIGN KEY's, leading to
conflicts when attempting to log the change into package_installation_sql_log.
Fix this issue by lowercasing the referenced column names when grabbing the
`->getDiffData()`. The PHP DDL will then find the existing FOREIGN KEY, but it
will realize that it is different when diffing the `->getData()`.
This will lead to the "broken" FOREIGN KEY being dropped and it being recreated
correctly, both avoiding the duplicate key error and also actually correcting
the column name.
Tim Düsterhus [Wed, 15 Jun 2022 11:33:36 +0000 (13:33 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.5
Tim Düsterhus [Wed, 15 Jun 2022 11:33:13 +0000 (13:33 +0200)]
Merge branch 'php8.2-fixes' into 5.5
Tim Düsterhus [Fri, 10 Jun 2022 08:22:13 +0000 (10:22 +0200)]
Fix PHP 8.2 compatibility in TemplateEngine
> Creation of dynamic property wcf\system\template\TemplateEngine::$pluginObjects is deprecated
> Creation of dynamic property wcf\system\template\TemplateEngine::$tagStack is deprecated
Tim Düsterhus [Fri, 10 Jun 2022 08:03:15 +0000 (10:03 +0200)]
Fix PHP 8.2 compatibility in HascontentPrefilterTemplatePlugin
> Use of "self" in callables is deprecated
Marcel Werk [Wed, 15 Jun 2022 10:54:32 +0000 (12:54 +0200)]
Fix saving box for page assignments
The methods still contained code that became obsolete with the PR linked below.
see https://github.com/WoltLab/WCF/pull/4866
Marcel Werk [Tue, 14 Jun 2022 10:26:35 +0000 (12:26 +0200)]
Removed obsolete update script for box condition conversion
see https://github.com/WoltLab/WCF/pull/4866
Tim Düsterhus [Tue, 14 Jun 2022 07:25:11 +0000 (09:25 +0200)]
Merge remote-tracking branch 'origin/5.5' into 5.5
Tim Düsterhus [Tue, 14 Jun 2022 07:24:50 +0000 (09:24 +0200)]
Update composer dependencies
Alexander Ebert [Mon, 13 Jun 2022 17:08:33 +0000 (19:08 +0200)]
Merge pull request #4866 from WoltLab/box-visibility-conditions
Hiding boxes did not work properly
Alexander Ebert [Mon, 13 Jun 2022 16:37:29 +0000 (18:37 +0200)]
Modernized the embedded JavaScript
Marcel Werk [Mon, 13 Jun 2022 15:47:58 +0000 (17:47 +0200)]
Hiding boxes did not work properly
Tim Düsterhus [Mon, 13 Jun 2022 13:57:56 +0000 (15:57 +0200)]
Tim Düsterhus [Mon, 13 Jun 2022 10:07:09 +0000 (12:07 +0200)]
Mark closure in KeywordHighlighter as static
see
406348deb7debaeaa908db6fc1a724a40e82e8a3
Tim Düsterhus [Mon, 13 Jun 2022 08:18:49 +0000 (10:18 +0200)]
Fix typo in PHPDoc of CheckboxFormField
Alexander Ebert [Fri, 10 Jun 2022 14:25:59 +0000 (16:25 +0200)]
Skip the highlighting of words with a length < 3
See https://www.woltlab.com/community/thread/295850-highlighter-in-suchergebnissen-hebt-zu-kurze-begriffe-hervor/
Alexander Ebert [Fri, 10 Jun 2022 13:35:54 +0000 (15:35 +0200)]
Quote links now imply the `https` protocol if not set
Alexander Ebert [Fri, 10 Jun 2022 13:31:20 +0000 (15:31 +0200)]
Default to `https` for protocol-less links
Alexander Ebert [Fri, 10 Jun 2022 13:26:42 +0000 (15:26 +0200)]
Use the same icon for quotes in the editor
Alexander Ebert [Fri, 10 Jun 2022 13:22:23 +0000 (15:22 +0200)]
Right sidebar boxes did not span the entire width
See https://www.woltlab.com/community/thread/295902-rechte-sidebardarstellung-im-userprofil-mobil-fehlerhaft/
The CSS was accidentally removed in
c00bdb0694b993be21d779ecef6badc8524e8967
Tim Düsterhus [Fri, 10 Jun 2022 12:32:38 +0000 (14:32 +0200)]
Merge pull request #4863 from WoltLab/thumbnail-graceful
Gracefully ignore Thumbnail generation failures in DefaultUploadFileSaveStrategy
Tim Düsterhus [Fri, 10 Jun 2022 10:14:45 +0000 (12:14 +0200)]
Gracefully ignore Thumbnail generation failures in DefaultUploadFileSaveStrategy
`->generateThumbnails()` might already not do anything of the memory limit is
likely going to be exceeded, causing image upload to be thumbnail-less. Extend
this to all cases of thumbnail generation failure by catching exceptions thrown
when loading the image or when performing the resizing operation.
Tim Düsterhus [Fri, 10 Jun 2022 09:13:18 +0000 (11:13 +0200)]
Fix SCSS formatting
Tim Düsterhus [Fri, 10 Jun 2022 07:24:28 +0000 (09:24 +0200)]
Update composer dependencies
Especially for guzzle/guzzle@
e3ff079b22820c2029d4c2a87796b6a0b8716ad8.
Tim Düsterhus [Fri, 10 Jun 2022 07:23:48 +0000 (09:23 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Fri, 10 Jun 2022 07:22:50 +0000 (09:22 +0200)]
Tim Düsterhus [Fri, 10 Jun 2022 07:22:17 +0000 (09:22 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Fri, 10 Jun 2022 07:21:12 +0000 (09:21 +0200)]
Marcel Werk [Thu, 9 Jun 2022 17:00:15 +0000 (19:00 +0200)]
Use ellipsis to replace quotes in simplified text
Marcel Werk [Thu, 9 Jun 2022 16:39:09 +0000 (18:39 +0200)]
Optimized message list / message group list for medium screens
Alexander Ebert [Thu, 9 Jun 2022 16:25:11 +0000 (18:25 +0200)]
New grid list element to replace `.containerList`
See https://www.woltlab.com/community/thread/295789-%C3%BCberlappung-in-suchergebnissen-bei-langem-themen-titel/
Alexander Ebert [Thu, 9 Jun 2022 13:50:03 +0000 (15:50 +0200)]
Incorrect alignment of drop-down menus on mobile
See https://www.woltlab.com/community/thread/295903-abonniert-dropdown-fehlerhafte-darstellung/
Tim Düsterhus [Thu, 9 Jun 2022 07:17:31 +0000 (09:17 +0200)]
Update composer dependencies
Tim Düsterhus [Wed, 8 Jun 2022 14:10:14 +0000 (16:10 +0200)]
Suppress PHP 8.1 deprecation for IDN domains
The true/punycode library appears to be no longer maintained and is not PHP 8.1
deprecation clean: true/php-punycode#35
Suppress the deprecation warning for now. The library should be replaced in a
future version.
Tim Düsterhus [Wed, 8 Jun 2022 07:31:42 +0000 (09:31 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Tue, 7 Jun 2022 15:02:19 +0000 (17:02 +0200)]
Release 5.4.19
Tim Düsterhus [Tue, 7 Jun 2022 12:27:47 +0000 (14:27 +0200)]
Fix update instructions from 5.4
Alexander Ebert [Tue, 7 Jun 2022 11:17:32 +0000 (13:17 +0200)]
Release 5.5.0 RC 1
WoltLab [Tue, 7 Jun 2022 11:06:42 +0000 (11:06 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Tue, 7 Jun 2022 10:01:01 +0000 (12:01 +0200)]
Clear `AVAILABLE_UPGRADE_VERSION` for 5.5
see
15933d22a95b67d57ae794a88471098326911aba
Tim Düsterhus [Tue, 7 Jun 2022 10:00:14 +0000 (12:00 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Mon, 6 Jun 2022 12:17:51 +0000 (14:17 +0200)]
Inconsistent behavior of text formatting on iPadOS
See https://www.woltlab.com/community/thread/295811-schriftfarbe-schriftart-oder-schriftgr%C3%B6%C3%9Fe-%C3%A4ndern-auf-ipad/
Alexander Ebert [Sun, 5 Jun 2022 10:25:28 +0000 (12:25 +0200)]
Missing comma
Alexander Ebert [Fri, 3 Jun 2022 16:37:44 +0000 (18:37 +0200)]
Broken auth dialog for package update servers
See https://www.woltlab.com/community/thread/295831-fehler-beim-update-beta-3-4/
Alexander Ebert [Fri, 3 Jun 2022 15:01:14 +0000 (17:01 +0200)]
Aborting a previously successful worker failed
See https://www.woltlab.com/community/thread/295857-schlie%C3%9Fen-des-dialogs-beim-anzeigen-aktualisieren-unterbricht-das-aktualisieren/
Alexander Ebert [Fri, 3 Jun 2022 14:49:07 +0000 (16:49 +0200)]
Merge pull request #4852 from WoltLab/upgrade-to-55
Enable the upgrade to WoltLab Suite 5.5
Alexander Ebert [Fri, 3 Jun 2022 13:36:39 +0000 (15:36 +0200)]
Incorrect URL for the upgrade instructions
Alexander Ebert [Fri, 3 Jun 2022 13:10:21 +0000 (15:10 +0200)]
Enable the upgrade to WoltLab Suite 5.5
Based on
41f100782ce6abe92f144810b719c15e53bf4849
Tim Düsterhus [Fri, 3 Jun 2022 12:22:36 +0000 (14:22 +0200)]
Sync update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php with PackageEnableUpgradeOverrideForm
see
94607cf2b21854a52f2805ad4211b74d6d9cbe96
Tim Düsterhus [Fri, 3 Jun 2022 12:22:16 +0000 (14:22 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Fri, 3 Jun 2022 12:21:57 +0000 (14:21 +0200)]
Merge pull request #4849 from WoltLab/package-override-55
Update checks in PackageEnableUpgradeOverrideForm for 5.5
Tim Düsterhus [Fri, 3 Jun 2022 12:18:56 +0000 (14:18 +0200)]
Improve issue description in PackageEnableUpgradeOverrideForm
Tim Düsterhus [Fri, 3 Jun 2022 12:14:54 +0000 (14:14 +0200)]
Fix PackageEnableUpgradeOverrideForm
The form differs from the update scripts by also having a title for each issue.
Tim Düsterhus [Fri, 3 Jun 2022 10:08:33 +0000 (12:08 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Fri, 3 Jun 2022 08:08:54 +0000 (10:08 +0200)]
Update checks in PackageEnableUpgradeOverrideForm for 5.5
- update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php
Tim Düsterhus [Fri, 3 Jun 2022 08:13:41 +0000 (10:13 +0200)]
Drop duplicate empty line in RequestHandler
Tim Düsterhus [Fri, 3 Jun 2022 07:52:15 +0000 (09:52 +0200)]
Re-add search addon to CodeMirror
The browser search does not work well with CodeMirror, re-add the search addon
to make Ctrl+F work more or less as expected.
This got lost when CodeMirror was adjusted to make use of require.js in
480b6b11d0822015d4fe4515e7a72b495fe78a69.
Alexander Ebert [Thu, 2 Jun 2022 16:54:19 +0000 (18:54 +0200)]
Incorrect tracking of open page overlays
Calling this method (implicitly) while the dialog is still open causes the same dialog to be counted multiple times.
See https://www.woltlab.com/community/thread/295827-boxen-im-benutzerprofil/
Alexander Ebert [Thu, 2 Jun 2022 16:26:11 +0000 (18:26 +0200)]
Incorrect editor access from within a dialog
See https://www.woltlab.com/community/thread/295821-fehler-beim-einf%C3%BCgen-von-zitaten/
Tim Düsterhus [Thu, 2 Jun 2022 14:12:14 +0000 (16:12 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Thu, 2 Jun 2022 14:11:52 +0000 (16:11 +0200)]
Fix update instructions from 5.4
Alexander Ebert [Thu, 2 Jun 2022 14:11:32 +0000 (16:11 +0200)]
Preset was lacking the inversion of permissions
See https://www.woltlab.com/community/thread/295793-box-kopieren-option-wird-nicht-%C3%BCbernommen/
Tim Düsterhus [Thu, 2 Jun 2022 14:10:37 +0000 (16:10 +0200)]
Revert "Removed the upgrade instructions from 5.4.*"
This reverts commit
a3f3064f44253cc761748f38742aae6027e4c2dd.
Alexander Ebert [Thu, 2 Jun 2022 14:02:02 +0000 (16:02 +0200)]
Force a refresh of CodeMirror on tab navigation
See https://www.woltlab.com/community/thread/295824-codemirror-gerne-mal-nicht-initialisiert/
Alexander Ebert [Thu, 2 Jun 2022 13:02:37 +0000 (15:02 +0200)]
Bad position of the mobile overflow indicator
See https://www.woltlab.com/community/thread/295832-men%C3%BCschatten-mobil/
Alexander Ebert [Thu, 2 Jun 2022 12:37:41 +0000 (14:37 +0200)]
Improved phrasing on the behavior of polling
See https://www.woltlab.com/community/thread/295788-fehlerhafte-sprachvariable-wcf-acp-option-enable-polling-description/
Tim Düsterhus [Thu, 2 Jun 2022 08:37:15 +0000 (10:37 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Thu, 2 Jun 2022 08:35:38 +0000 (10:35 +0200)]
Create the initial user with a non-NULL signature
see #4845
see
8cf90dac71a2e42c56dafba6e23f0dd5a1c5d64c
Tim Düsterhus [Thu, 2 Jun 2022 08:33:43 +0000 (10:33 +0200)]
Fix PHP 8.1 compatibility in UserRebuildDataWorker for NULL signatures
see #4845