Alexander Ebert [Tue, 7 Sep 2021 11:32:43 +0000 (13:32 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
WoltLab [Tue, 7 Sep 2021 11:30:44 +0000 (11:30 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 7 Sep 2021 11:28:49 +0000 (13:28 +0200)]
Removed the upgrade instructions for 5.3.*
This greatly reduces the size of the update packages. Upgrade from 5.3 will still work, but will upgrade to 5.4.6 only and then apply the remaining updates.
Alexander Ebert [Tue, 7 Sep 2021 11:21:01 +0000 (13:21 +0200)]
Check against the current menu item during editing only
Marcel Werk [Thu, 2 Sep 2021 13:55:21 +0000 (15:55 +0200)]
Merge branch '5.3' into 5.4
Marcel Werk [Thu, 2 Sep 2021 13:54:36 +0000 (15:54 +0200)]
New link format for Facebook videos
Alexander Ebert [Tue, 31 Aug 2021 20:31:14 +0000 (22:31 +0200)]
`exif` was not listed as a required extension
Alexander Ebert [Tue, 31 Aug 2021 20:29:15 +0000 (22:29 +0200)]
Typo (missing comma)
Alexander Ebert [Tue, 31 Aug 2021 20:04:47 +0000 (22:04 +0200)]
Merge pull request #4487 from WoltLab/npm
Upgrade npm dependencies
Alexander Ebert [Tue, 31 Aug 2021 14:52:04 +0000 (16:52 +0200)]
Release 5.4.6
Alexander Ebert [Tue, 31 Aug 2021 14:33:48 +0000 (16:33 +0200)]
Release 5.4.5
Alexander Ebert [Tue, 31 Aug 2021 14:20:29 +0000 (16:20 +0200)]
Release 5.4.5
Alexander Ebert [Tue, 31 Aug 2021 13:57:40 +0000 (15:57 +0200)]
Merge branch '5.3' into 5.4
Alexander Ebert [Tue, 31 Aug 2021 12:49:21 +0000 (14:49 +0200)]
Release 5.3.13
WoltLab [Tue, 31 Aug 2021 12:35:22 +0000 (12:35 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 31 Aug 2021 12:32:44 +0000 (14:32 +0200)]
Merge branch '5.2' into 5.3
Alexander Ebert [Tue, 31 Aug 2021 11:40:31 +0000 (13:40 +0200)]
Release 5.2.15
Alexander Ebert [Tue, 31 Aug 2021 11:31:31 +0000 (13:31 +0200)]
Merge branch '3.1' into 5.2
Alexander Ebert [Tue, 31 Aug 2021 10:32:33 +0000 (12:32 +0200)]
Release 3.1.23
Tim Düsterhus [Mon, 30 Aug 2021 10:33:04 +0000 (12:33 +0200)]
Satisfy eslint
Tim Düsterhus [Mon, 30 Aug 2021 10:08:35 +0000 (12:08 +0200)]
Run prettier
Tim Düsterhus [Mon, 30 Aug 2021 09:50:56 +0000 (11:50 +0200)]
Upgrade TypeScript
Tim Düsterhus [Mon, 30 Aug 2021 09:48:16 +0000 (11:48 +0200)]
Update all npm dependendencies except TypeScript itself
Alexander Ebert [Fri, 27 Aug 2021 10:43:18 +0000 (12:43 +0200)]
Release 5.4.5 RC 1
WoltLab [Fri, 27 Aug 2021 09:38:25 +0000 (09:38 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Fri, 27 Aug 2021 09:26:53 +0000 (11:26 +0200)]
Add placeholder to the 'path' input in DevtoolsProjectAddForm
Tim Düsterhus [Fri, 27 Aug 2021 09:23:49 +0000 (11:23 +0200)]
Add description to the path input in DevtoolsProjectAddForm
Resolves #4479
Tim Düsterhus [Fri, 27 Aug 2021 09:03:25 +0000 (11:03 +0200)]
Revert "Remove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()"
This had the unintended side-effect of no longer listing the database PIP
within the “Sync” view of dev tools. This will need to be revisited (#4480).
This reverts commit
d5b180155d5805bda7e3132df2f4fde6627a49db.
Alexander Ebert [Thu, 26 Aug 2021 14:31:32 +0000 (16:31 +0200)]
Merge pull request #4478 from ilouHD/patch-2
Update de.xml
ilou [Thu, 26 Aug 2021 14:26:25 +0000 (16:26 +0200)]
Update de.xml
fixed some typos when creating a new project using the devtools-gui in the german language.
Regarding the item `wcf.acp.devtools.project.isApplication.description` I'm unsure, why template-folders are mentioned explicitly. As I know they're the same as in plugins/projects, which are no applications.
Alexander Ebert [Thu, 26 Aug 2021 14:06:18 +0000 (16:06 +0200)]
Incorrect alignment of positioned elements when they are hidden
The calculation did not consider the `display` attribute, causing the elements dimensions to be considered as `0x0` for the purpose of the calculation.
See https://community.woltlab.com/thread/291896-beitragsoptionen-verschoben/
Alexander Ebert [Thu, 26 Aug 2021 12:45:28 +0000 (14:45 +0200)]
Reset the floating code box header when the sticky page header is hidden
See https://community.woltlab.com/thread/291977-sticky-code-header-w%C3%A4hrend-antwort-unsch%C3%B6n/
Tim Düsterhus [Thu, 26 Aug 2021 10:11:39 +0000 (12:11 +0200)]
Drop obsolete update scripts for 5.4.2 -> 5.4.3
Tim Düsterhus [Thu, 26 Aug 2021 10:06:39 +0000 (12:06 +0200)]
Remove erroneous DatabasePackageInstallationPlugin::getDefaultFilename()
Tim Düsterhus [Thu, 26 Aug 2021 08:32:39 +0000 (10:32 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Thu, 26 Aug 2021 08:30:59 +0000 (10:30 +0200)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Thu, 26 Aug 2021 08:30:10 +0000 (10:30 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Thu, 26 Aug 2021 08:29:10 +0000 (10:29 +0200)]
Fix return type comment for AbstractDatabaseObjectAction::getSingleObject()
Tim Düsterhus [Wed, 25 Aug 2021 11:52:15 +0000 (13:52 +0200)]
Clean up control and data flow in UserFormField::validate()
Tim Düsterhus [Wed, 25 Aug 2021 11:48:44 +0000 (13:48 +0200)]
Fix typo in en.xml
Tim Düsterhus [Wed, 25 Aug 2021 11:47:33 +0000 (13:47 +0200)]
Fix error message for nonExistent user in UserFormField
Tim Düsterhus [Wed, 25 Aug 2021 11:39:38 +0000 (13:39 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 25 Aug 2021 11:37:43 +0000 (13:37 +0200)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Wed, 25 Aug 2021 11:36:54 +0000 (13:36 +0200)]
Correctly handle null values in UserFormField::validate()
Closes #4471
Co-authored-by: Fabii547 <Fabii547@users.noreply.github.com>
Tim Düsterhus [Wed, 25 Aug 2021 11:32:55 +0000 (13:32 +0200)]
Simplify UserFormField's form data processor using `\array_column()`
Tim Düsterhus [Wed, 25 Aug 2021 11:25:31 +0000 (13:25 +0200)]
Make requirement validation more readable in UserFormField::validate()
Tim Düsterhus [Wed, 25 Aug 2021 11:21:07 +0000 (13:21 +0200)]
Return explicit `null` in UserFormField::getSaveValue()
Tim Düsterhus [Wed, 25 Aug 2021 08:37:13 +0000 (10:37 +0200)]
Add missing 'not' in error message in AbstractFormFieldDecorator
Tim Düsterhus [Wed, 25 Aug 2021 07:19:28 +0000 (09:19 +0200)]
Trim trailing whitespace in Core/Ui/Object/Action.ts
Alexander Ebert [Tue, 24 Aug 2021 21:53:37 +0000 (23:53 +0200)]
Prevent the default action of a toggle button
Alexander Ebert [Tue, 24 Aug 2021 21:23:55 +0000 (23:23 +0200)]
Prevent the menu item itself being selected as its parent item
See https://community.woltlab.com/thread/291999-men%C3%BCpunkt-verschwindet-wenn-%C3%BCbergeordneter-men%C3%BCpunkt-der-gleiche-ist/
Alexander Ebert [Tue, 24 Aug 2021 21:15:20 +0000 (23:15 +0200)]
Match mentions later because they are less specific
Parts like `@example` can legitimately appears as part of a link that gets auto-detected.
This issue was discovered when an URL was pasted that happens to also match a user that is named `document`. The "offending" URL was: `https://developer.mozilla.org/de/docs/Web/CSS/@document`
The `@document` is recognized as part of a mention because the forward slash is a valid token that matches the boundary condition (`\b`) of the regex for mentions.
See https://community.woltlab.com/thread/292020-automatische-link-umwandlung-schl%C3%A4gt-fehlt/
Alexander Ebert [Tue, 24 Aug 2021 16:10:20 +0000 (18:10 +0200)]
Improved phrasing of merging user accounts
https://community.woltlab.com/thread/292121-merging-user-accounts/
Alexander Ebert [Tue, 24 Aug 2021 15:52:44 +0000 (17:52 +0200)]
Improved phrasing
https://community.woltlab.com/thread/292111-typo-verbesserung-types-of-content-und-by-zu-of/
Alexander Ebert [Tue, 24 Aug 2021 15:47:31 +0000 (17:47 +0200)]
Reset the page cache when modifying the app landing pages
Fixes #4475
Alexander Ebert [Tue, 24 Aug 2021 15:17:21 +0000 (17:17 +0200)]
Recommend the maintenance mode while rebuilding data
Closes #4419
Tim Düsterhus [Tue, 24 Aug 2021 14:44:05 +0000 (16:44 +0200)]
Exclude banned users from list of users awaiting approval
WoltLab [Tue, 24 Aug 2021 12:28:06 +0000 (12:28 +0000)]
Updating minified JavaScript files
WoltLab [Tue, 24 Aug 2021 09:49:26 +0000 (09:49 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Mon, 23 Aug 2021 14:30:28 +0000 (16:30 +0200)]
Merge pull request #4473 from WoltLab/samesite
Set SameSite=none when embedding into frames is allowed
Tim Düsterhus [Mon, 23 Aug 2021 14:15:52 +0000 (16:15 +0200)]
Set SameSite=none when embedding into frames is allowed
Resolves #4428
Tim Düsterhus [Fri, 20 Aug 2021 13:52:15 +0000 (15:52 +0200)]
Merge pull request #4470 from WoltLab/oauth2-state-clear
Ensure that the OAuth 2 state parameter is cleared in all cases
Tim Düsterhus [Fri, 20 Aug 2021 13:16:46 +0000 (15:16 +0200)]
Ensure that the OAuth 2 state parameter is cleared in all cases
Alexander Ebert [Fri, 20 Aug 2021 13:09:50 +0000 (15:09 +0200)]
Missing phrases for validation errors in the app management
Tim Düsterhus [Fri, 20 Aug 2021 09:50:14 +0000 (11:50 +0200)]
Merge pull request #4467 from WoltLab/coverPhoto-worker
Fix handling of cover photos in UserRebuildDataWorker
Peter Lohse [Fri, 20 Aug 2021 09:19:23 +0000 (11:19 +0200)]
Add AbstractFormFieldDecorator (#4469)
Tim Düsterhus [Fri, 20 Aug 2021 07:35:35 +0000 (09:35 +0200)]
Remove records of unreadable cover photos in UserRebuildDataWorker
This is a clean fix of
c3ebf8b995927b826072cfcc72d08a9ebd93f878.
Tim Düsterhus [Fri, 20 Aug 2021 07:31:14 +0000 (09:31 +0200)]
Check `coverPhotoHasWebP` in UserRebuildDataWorker
This is already checked in `->createWebpVariant()`, but with the `->update()`
added in the previous commit this saves some work.
Tim Düsterhus [Fri, 20 Aug 2021 07:30:32 +0000 (09:30 +0200)]
Update `coverPhotoHasWebP` in UserRebuilDataWorker
Tim Düsterhus [Fri, 20 Aug 2021 07:20:51 +0000 (09:20 +0200)]
Use ->getLocation() in UserCoverPhoto::createWebpVariant()
This partially reapplies
c3ebf8b995927b826072cfcc72d08a9ebd93f878 which was
reverted in
300312306b2858b6b9f474a30814fe16c3e1854c.
Tim Düsterhus [Fri, 20 Aug 2021 07:19:28 +0000 (09:19 +0200)]
Revert "Skip cover photos that cannot be read"
This should rather be cleanly fixed within the UserRebuildDataWorker, while
also updating the database on failure.
This reverts commit
c3ebf8b995927b826072cfcc72d08a9ebd93f878.
Tim Düsterhus [Thu, 19 Aug 2021 14:43:57 +0000 (16:43 +0200)]
Fix check whether a non-owned index is being dropped in DatabaseTableChangeProcessor
The reproducer and fix is effectively identical to the one in
d7f721d6f920d66f75102723b504d89e57a8c9ff.
Package A: Installs KEY someIndex (`UNIQUE`)
Package B: Installs UNIQUE KEY someIndex2 (`UNIQUE`)
Package B: Drops UNIQUE KEY someIndex2 (`UNIQUE`)
It was erroneously detected that Package B would drop the index owned by
Package A. The actual dropping logic was already correct, just the safety check
was incorrect.
Alexander Ebert [Wed, 18 Aug 2021 16:37:11 +0000 (18:37 +0200)]
Skip cover photos that cannot be read
Tim Düsterhus [Wed, 18 Aug 2021 09:35:20 +0000 (11:35 +0200)]
Merge pull request #4464 from WoltLab/session-id-unpack
Fix unpacking of the sessionId
Tim Düsterhus [Wed, 18 Aug 2021 07:43:22 +0000 (09:43 +0200)]
Add safety check for unpacked session cookie data
Tim Düsterhus [Wed, 18 Aug 2021 07:44:07 +0000 (09:44 +0200)]
Fix unpacking of the sessionId
As documented by PHP's reference documentation:
> The "a" code now retains trailing NULL bytes.
> The "A" code now strips all trailing ASCII whitespace (spaces, tabs,
> newlines, carriage returns, and NULL bytes).
Previously, with the 'A' code, sessionIds ending in ASCII whitespace would be
incorrectly unpacked, missing their trailing bytes. This ultimately resulted in
the session not being found and the user being logged out.
Five of the 256 possible characters exhibited this bug, making this fail in
roughly 2% of the cases.
However this likely was not noticable by the typical user. Once they have a
non-affected sessionId, this Id is not going to change. What the user might've
noticed is a login not working, despite showing a success message, because they
sessionId change after a successful login handed out an affected sessionId. But
then the user would likely try again, succeeding this time and writing off the
incident as a fluke.
Test script to reproduce the issue:
<?php
for ($i = 0; $i <= 255; $i++) {
$string = "foo".chr($i);
$packed = \pack(
'CA4',
1,
$string
);
$unpacked1 = \unpack('Cversion/A4string', $packed);
$unpacked2 = \unpack('Cversion/a4string', $packed);
if ($unpacked1['string'] !== $string) {
echo "$i: unpacked1\n";
}
if ($unpacked2['string'] !== $string) {
echo "$i: unpacked2\n";
}
}
Tim Düsterhus [Wed, 18 Aug 2021 07:04:18 +0000 (09:04 +0200)]
Fix informal phrase in de.xml
Marcel Werk [Mon, 16 Aug 2021 13:08:54 +0000 (15:08 +0200)]
Mark as read doesn't removed the badge from submenu entries
Marcel Werk [Mon, 16 Aug 2021 12:56:30 +0000 (14:56 +0200)]
Missing informal variant
Marcel Werk [Mon, 16 Aug 2021 12:52:59 +0000 (14:52 +0200)]
Typo
Tim Düsterhus [Mon, 16 Aug 2021 10:53:46 +0000 (12:53 +0200)]
Whitelist `abs` in enterprise mode
Tim Düsterhus [Mon, 16 Aug 2021 09:02:42 +0000 (11:02 +0200)]
Merge pull request #4463 from WoltLab/smiley-unicode-title
Fix Unicode in smiley titles
Tim Düsterhus [Mon, 16 Aug 2021 07:09:10 +0000 (09:09 +0200)]
Fix Unicode in smiley titles
see
5d0bf3ec233f62c6a5a68629e32b7eaa8c9d1dd3
see #4156
Tim Düsterhus [Sun, 15 Aug 2021 12:33:39 +0000 (14:33 +0200)]
Fix localization of PAGE_TITLE in __multifactorTotpSecretField.tpl
Tim Düsterhus [Fri, 13 Aug 2021 10:31:32 +0000 (12:31 +0200)]
Add `required` attributes to acptemplates/login
Marcel Werk [Fri, 13 Aug 2021 09:35:44 +0000 (11:35 +0200)]
Show article labels in recent activities
Tim Düsterhus [Fri, 13 Aug 2021 08:45:58 +0000 (10:45 +0200)]
Fix PHP 8.1 compatibility in DatabaseObject::getDatabaseTableIndexName()
Tim Düsterhus [Fri, 13 Aug 2021 07:20:30 +0000 (09:20 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Fri, 13 Aug 2021 07:19:27 +0000 (09:19 +0200)]
Merge branch '5.2' into 5.3
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
Sascha Greuel [Thu, 12 Aug 2021 16:08:27 +0000 (18:08 +0200)]
Unified error handling in several templates
Tim Düsterhus [Thu, 12 Aug 2021 15:22:34 +0000 (17:22 +0200)]
Slightly improve phrasing in de.xml
Tim Düsterhus [Thu, 12 Aug 2021 08:09:17 +0000 (10:09 +0200)]
Merge branch '5.3' into 5.4
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
Joshua Rüsweg [Thu, 12 Aug 2021 07:23:30 +0000 (09:23 +0200)]
Rename `Ui/Object/Action/Toogle` to `Toggle` (#4450)
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
Tim Düsterhus [Wed, 11 Aug 2021 12:22:10 +0000 (14:22 +0200)]
Delete the empty phrase when updating to 5.4.5
Tim Düsterhus [Wed, 11 Aug 2021 12:19:53 +0000 (14:19 +0200)]
Validate the languageVariable in I18nHandler::save()
Tim Düsterhus [Wed, 11 Aug 2021 12:17:49 +0000 (14:17 +0200)]
Add LanguageEditor::validateItemName()
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.