Matthias Schmidt [Tue, 8 Dec 2020 17:05:21 +0000 (18:05 +0100)]
Merge pull request #3765 from WoltLab/db_api_rename_column
Support renaming database table columns via PHP API
Matthias Schmidt [Tue, 8 Dec 2020 17:03:41 +0000 (18:03 +0100)]
Make marking required fields optional with form builder (#3764)
Close #3758
joshuaruesweg [Tue, 8 Dec 2020 12:57:21 +0000 (13:57 +0100)]
Merge branch '5.3'
joshuaruesweg [Tue, 8 Dec 2020 12:56:41 +0000 (13:56 +0100)]
Fix `wcf.user.register.needEmailConfirmation`
joshuaruesweg [Tue, 8 Dec 2020 12:54:49 +0000 (13:54 +0100)]
Fix `wcf.user.register.needEmailConfirmation`
Alexander Ebert [Mon, 7 Dec 2020 20:00:31 +0000 (21:00 +0100)]
Merge branch '5.2' into 5.3
Alexander Ebert [Mon, 7 Dec 2020 20:00:11 +0000 (21:00 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Mon, 7 Dec 2020 19:58:02 +0000 (20:58 +0100)]
Force the use of the attachment thumbnail if the original is inaccessible
Alexander Ebert [Mon, 7 Dec 2020 19:02:58 +0000 (20:02 +0100)]
Workaround for the misaligned caret in Safari caused by 0x200B
Alexander Ebert [Mon, 7 Dec 2020 17:16:08 +0000 (18:16 +0100)]
Improved the iOS WebKit click detection inside the editor margin
Alexander Ebert [Mon, 7 Dec 2020 16:27:54 +0000 (17:27 +0100)]
Force a whitespace before and after inserted smileys
Tim Düsterhus [Mon, 7 Dec 2020 15:52:12 +0000 (16:52 +0100)]
Merge pull request #3793 from WoltLab/style-import-permissions
Validate package installation permissions in StyleImportForm
Tim Düsterhus [Mon, 7 Dec 2020 14:56:53 +0000 (15:56 +0100)]
Validate package installation permissions in StyleImportForm
Joshua Rüsweg [Mon, 7 Dec 2020 12:59:44 +0000 (13:59 +0100)]
Merge pull request #3786 from WoltLab/like-rebuild
Optimize LikeRebuildDataWorker performance
Tim Düsterhus [Mon, 7 Dec 2020 10:05:02 +0000 (11:05 +0100)]
Merge branch '5.3'
Tim Düsterhus [Mon, 7 Dec 2020 08:07:57 +0000 (09:07 +0100)]
Merge pull request #3782 from WoltLab/deprecate-memcached
Deprecate memcached
Alexander Ebert [Sun, 6 Dec 2020 21:48:54 +0000 (22:48 +0100)]
Only close the user panel drop-downs if no key modifier was pressed
Alexander Ebert [Sun, 6 Dec 2020 20:16:16 +0000 (21:16 +0100)]
Discard the current selection when saving a quote
Alexander Ebert [Sun, 6 Dec 2020 20:10:59 +0000 (21:10 +0100)]
Prevent the tooltip being selectable while the user changes the selection
Alexander Ebert [Sun, 6 Dec 2020 19:35:08 +0000 (20:35 +0100)]
Unified behavior of the notification list and the corresponding menu drop-down
Alexander Ebert [Sun, 6 Dec 2020 19:19:58 +0000 (20:19 +0100)]
Consistent width of menus in the mobile menu
Matthias Schmidt [Sun, 6 Dec 2020 14:11:50 +0000 (15:11 +0100)]
Fix merge conflict
Matthias Schmidt [Sun, 6 Dec 2020 14:11:26 +0000 (15:11 +0100)]
Merge branch '5.3'
Matthias Schmidt [Sun, 6 Dec 2020 14:09:45 +0000 (15:09 +0100)]
Merge branch '5.2' into 5.3
Matthias Schmidt [Sun, 6 Dec 2020 14:09:17 +0000 (15:09 +0100)]
Fix dependencies for single media form field
Matthias Schmidt [Sun, 6 Dec 2020 13:09:21 +0000 (14:09 +0100)]
Fix column logs if renaming database column that was added later
Matthias Schmidt [Sun, 6 Dec 2020 13:08:37 +0000 (14:08 +0100)]
Throw error if renaming non existing database column
Matthias Schmidt [Sun, 6 Dec 2020 12:48:28 +0000 (13:48 +0100)]
Add form field for active user's password (#3783)
Close #3777
Tim Düsterhus [Sat, 5 Dec 2020 18:08:14 +0000 (19:08 +0100)]
Add missing space after comma in ReactionHandler::renderInlineList()
Alexander Ebert [Fri, 4 Dec 2020 17:53:33 +0000 (18:53 +0100)]
Merge pull request #3785 from WoltLab/54-typescript-acp-article
Convert the ACP article modules to TypeScript
Tim Düsterhus [Fri, 4 Dec 2020 14:59:43 +0000 (15:59 +0100)]
Simplify selection of existing like objects in LikeRebuildDataWorker
Since the previous commit it is expected that only a single objectTypeID is hit
per worker execution in the usual case, because all objects for a single
objectTypeID are processed before proceeding to the next objectTypeID. This
patch optimizes this case by sending a separate query per objectTypeID to fetch
the existing like objects instead of combining all the objects in a single
query.
This should help MySQL in optimizing the query, because the objectTypeID (which
is the first column in the UNIQUE KEY on wcf1_like_object) is fixed for a
single query and this is immediately obvious without needing to scan all the
tuples passed to the IN(…) condition.
In the general case the number of queries does not change. In the iterations
where the last objectID for an objectTypeID is reached two queries will be sent
instead of a single one. Those two combined should be more efficient that the
single old query, though.
Tim Düsterhus [Fri, 4 Dec 2020 14:52:10 +0000 (15:52 +0100)]
Allow LikeRebuildDataWorker to leverage the wcf1_like.objectTypeID key for sorting
joshuaruesweg [Fri, 4 Dec 2020 13:10:23 +0000 (14:10 +0100)]
Fix resetting user sessions when editing users via ACP
Fixes #3780
Marcel Werk [Fri, 4 Dec 2020 11:27:04 +0000 (12:27 +0100)]
Adjusted handling of empty breadcrumbs
joshuaruesweg [Fri, 4 Dec 2020 10:38:21 +0000 (11:38 +0100)]
Merge branch '5.3'
joshuaruesweg [Fri, 4 Dec 2020 10:35:16 +0000 (11:35 +0100)]
Merge branch '5.2'
joshuaruesweg [Fri, 4 Dec 2020 10:33:53 +0000 (11:33 +0100)]
Ignore invalid file ids during deleting uploaded files
There can be several reasons why the files are no longer known. We can ignore this and simply return a success message so that it doesn't pop up in the frontend when unknown files are deleted.
joshuaruesweg [Fri, 4 Dec 2020 10:23:53 +0000 (11:23 +0100)]
Fix detecting images with capitalised file extensions
joshuaruesweg [Fri, 4 Dec 2020 10:05:10 +0000 (11:05 +0100)]
Only rebuild favicons if there is a new image uploaded
joshuaruesweg [Fri, 4 Dec 2020 09:09:32 +0000 (10:09 +0100)]
Fix updating pageLogo in StyleAction
Tim Düsterhus [Fri, 4 Dec 2020 08:08:34 +0000 (09:08 +0100)]
Use 'Not Recommended' in favor of 'Deprecated' for English memcached deprecation
Tim Düsterhus [Fri, 4 Dec 2020 08:07:46 +0000 (09:07 +0100)]
Consistently use 'Obsolet' for German memcached deprecation
Alexander Ebert [Fri, 4 Dec 2020 00:44:36 +0000 (01:44 +0100)]
Convert `Acp/Ui/Article/InlineEditor` to TypeScript
Tim Düsterhus [Thu, 3 Dec 2020 10:24:30 +0000 (11:24 +0100)]
Deprecated memcached
Resolves #3638
Marcel Werk [Wed, 2 Dec 2020 15:38:11 +0000 (16:38 +0100)]
Improved wrapping of reaction filter buttons on mobile
Alexander Ebert [Thu, 26 Nov 2020 00:16:50 +0000 (01:16 +0100)]
Convert `Acp/Ui/Article/Add` to TypeScript
Tim Düsterhus [Tue, 1 Dec 2020 13:45:23 +0000 (14:45 +0100)]
Merge branch '5.3'
Alexander Ebert [Tue, 1 Dec 2020 12:35:47 +0000 (13:35 +0100)]
Merge branch '5.2' into 5.3
Alexander Ebert [Tue, 1 Dec 2020 12:34:59 +0000 (13:34 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Tue, 1 Dec 2020 12:32:47 +0000 (13:32 +0100)]
Incorrect version comparison for accessible packages
joshuaruesweg [Tue, 1 Dec 2020 10:58:14 +0000 (11:58 +0100)]
Prevent rewriting filenames for processed files
Alexander Ebert [Mon, 30 Nov 2020 13:45:30 +0000 (14:45 +0100)]
Merge pull request #3768 from WoltLab/54-typescript-clipboard
Convert the clipboard handler to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 13:30:16 +0000 (14:30 +0100)]
Merge pull request #3769 from WoltLab/54-typescript-acp-box
Convert ACP box modules to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 13:29:36 +0000 (14:29 +0100)]
Merge pull request #3771 from WoltLab/54-typescript-acp-option
Convert the ACP option modules to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 13:26:56 +0000 (14:26 +0100)]
Simplified the check by inverting the logic
Alexander Ebert [Mon, 30 Nov 2020 13:14:39 +0000 (14:14 +0100)]
Merge pull request #3772 from WoltLab/54-typescript-acp-package
Convert the ACP package modules to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 13:14:05 +0000 (14:14 +0100)]
Merge pull request #3773 from WoltLab/54-typescript-acp-page
Convert the ACP page modules to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 12:19:58 +0000 (13:19 +0100)]
Merge pull request #3770 from WoltLab/54-typescript-acp-menuitem
Convert `Acp/Ui/Menu/Item/Handler` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 11:59:55 +0000 (12:59 +0100)]
Reformat the code using Prettier
Tim Düsterhus [Mon, 30 Nov 2020 08:14:03 +0000 (09:14 +0100)]
Merge pull request #3767 from WoltLab/resetSessions
Remove calls to SessionHandler::resetSessions()
Alexander Ebert [Mon, 30 Nov 2020 01:02:29 +0000 (02:02 +0100)]
Convert `Acp/Ui/Page/Menu` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 00:39:47 +0000 (01:39 +0100)]
Convert `Acp/Ui/Page/Copy` to TypeScript
Alexander Ebert [Mon, 30 Nov 2020 00:18:26 +0000 (01:18 +0100)]
Convert `Acp/Ui/Page/BoxOrder` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:45:20 +0000 (00:45 +0100)]
Convert `Acp/Ui/Page/Add` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:34:02 +0000 (00:34 +0100)]
Convert `Acp/Ui/Package/Search` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 23:22:45 +0000 (00:22 +0100)]
Convert `Acp/Ui/Package/PrepareInstallation` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 19:47:54 +0000 (20:47 +0100)]
Incorrect element type
Alexander Ebert [Sun, 29 Nov 2020 19:46:18 +0000 (20:46 +0100)]
Resolved some minor issues
Alexander Ebert [Sun, 29 Nov 2020 19:37:44 +0000 (20:37 +0100)]
Convert `Acp/Ui/Option/RewriteTest` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 18:57:59 +0000 (19:57 +0100)]
Convert `Acp/Ui/Option/RewriteGenerator` to TypeScript
Alexander Ebert [Sun, 29 Nov 2020 18:48:55 +0000 (19:48 +0100)]
Convert `Acp/Ui/Option/EmailSmtpTest` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 18:05:55 +0000 (19:05 +0100)]
Convert `Acp/Ui/Menu/Item/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 17:04:56 +0000 (18:04 +0100)]
Convert `Acp/Ui/Box/Controller/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 16:52:03 +0000 (17:52 +0100)]
Convert `Acp/Ui/Box/Handler` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 15:48:43 +0000 (16:48 +0100)]
Convert `Acp/Ui/Box/Copy` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 15:45:26 +0000 (16:45 +0100)]
Convert `Acp/Ui/Box/Add` to TypeScript
Alexander Ebert [Sat, 28 Nov 2020 15:15:26 +0000 (16:15 +0100)]
Introduce a helper interface for the FileUpload class
This interface prevents a circular dependency of the modules `./Delete` and `./Upload`.
Alexander Ebert [Fri, 27 Nov 2020 19:02:50 +0000 (20:02 +0100)]
Merge branch 'master' into 54-typescript-clipboard
Alexander Ebert [Fri, 27 Nov 2020 18:51:14 +0000 (19:51 +0100)]
Resolved a few compatibility issues
The internal ids must remain strings, because the legacy `Dictionary` implementation relied on a plain object. In JavaScript objects, all keys are implicitly converted to strings, but Map treats `1` and `"1"` to be different.
Alexander Ebert [Fri, 27 Nov 2020 16:59:51 +0000 (17:59 +0100)]
Workaround for the legacy inheritance support
Alexander Ebert [Fri, 27 Nov 2020 12:32:32 +0000 (13:32 +0100)]
Merge pull request #3761 from WoltLab/54-typescript-misc
Converted remaining UI modules to TypeScript
Tim Düsterhus [Fri, 27 Nov 2020 11:03:15 +0000 (12:03 +0100)]
Remove call to SessionHandler::resetSessions() from UserMergeForm
Tim Düsterhus [Fri, 27 Nov 2020 11:01:26 +0000 (12:01 +0100)]
Remove call to SessionHandler::resetSessions() from UserEditor
Tim Düsterhus [Fri, 27 Nov 2020 10:59:44 +0000 (11:59 +0100)]
Remove call to SessionHandler::resetSessions() from acp/install.php
Tim Düsterhus [Fri, 27 Nov 2020 10:58:34 +0000 (11:58 +0100)]
Remove call to SessionHandler::resetSessions() from UserGroupEditor
Tim Düsterhus [Fri, 27 Nov 2020 10:51:58 +0000 (11:51 +0100)]
Remove call to SessionHandler::resetSessions() from UserAssignToGroupForm
UserEditor::resetCache() already is responsible to clear the cached data.
Tim Düsterhus [Fri, 27 Nov 2020 08:40:14 +0000 (09:40 +0100)]
Alexander Ebert [Thu, 26 Nov 2020 17:45:03 +0000 (18:45 +0100)]
Incorrect method name
Matthias Schmidt [Thu, 26 Nov 2020 17:41:04 +0000 (18:41 +0100)]
Support renaming database table columns via PHP API
Close #3731
Alexander Ebert [Thu, 26 Nov 2020 17:08:17 +0000 (18:08 +0100)]
Convert `Controller/Clipboard` to TypeScript
Tim Düsterhus [Thu, 26 Nov 2020 13:36:36 +0000 (14:36 +0100)]
Fix package check in update_com.woltlab.wcf_5.4_removeFiles.php
`fetchSingleColumn()` returns false for non-existing rows.
Tim Düsterhus [Thu, 26 Nov 2020 13:18:56 +0000 (14:18 +0100)]
Update the upgrade instructions from WoltLab Suite 5.3
- A few PIPs were missing, most notably the language items.
- Additional commentary.
- Reordering for better resiliency.
Tim Düsterhus [Thu, 26 Nov 2020 12:51:39 +0000 (13:51 +0100)]
Merge branch '5.3'
Tim Düsterhus [Thu, 26 Nov 2020 12:51:25 +0000 (13:51 +0100)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Thu, 26 Nov 2020 12:31:10 +0000 (13:31 +0100)]
Merge pull request #3629 from WoltLab/session-update
Update instructions for new sessions
Tim Düsterhus [Thu, 26 Nov 2020 11:35:21 +0000 (12:35 +0100)]
Improve variable naming in update_com.woltlab.wcf_5.4_session_1_cookies.php
Tim Düsterhus [Thu, 26 Nov 2020 11:33:41 +0000 (12:33 +0100)]
Merge pull request #3763 from WoltLab/http-request-timeout
HTTP request timeouts
Tim Düsterhus [Thu, 26 Nov 2020 11:29:23 +0000 (12:29 +0100)]
Set an explicit timeout for ImageProxyAction's HttpClient
Tim Düsterhus [Thu, 26 Nov 2020 11:28:03 +0000 (12:28 +0100)]
Set an explicit timeout for FontManager's HttpClient
Tim Düsterhus [Thu, 26 Nov 2020 11:26:00 +0000 (12:26 +0100)]
Replace HTTPRequest's timeout by connect_timeout + read_timeout
The timeout in 5.2 only applied to the connect() syscall. Guzzle's timeout
option applies to the total transfer. Replace it by connect_timeout +
read_timeout for backwards compatibility for code that expected the actual
transfer to take an arbitrary amount of time.