GitHub/WoltLab/WCF.git
3 years agoFix hiding suggestion dropdown when no suggestion are available
Matthias Schmidt [Sun, 17 Jan 2021 12:41:08 +0000 (13:41 +0100)]
Fix hiding suggestion dropdown when no suggestion are available

See 0a9081c855bf8b9ab0ffbd5ab98679a11f23849c

3 years agoFix `Ui/ItemList` for textareas
Matthias Schmidt [Sun, 17 Jan 2021 12:31:09 +0000 (13:31 +0100)]
Fix `Ui/ItemList` for textareas

`parentElement` is no longer `element.parentNode` as `element` has been repositioned.

3 years agoMissing `tsc` update
Alexander Ebert [Sat, 16 Jan 2021 13:29:59 +0000 (14:29 +0100)]
Missing `tsc` update

3 years agoHint the return type based on the provided parameters
Alexander Ebert [Sat, 16 Jan 2021 12:21:32 +0000 (13:21 +0100)]
Hint the return type based on the provided parameters

3 years agoRemove unused imports
Matthias Schmidt [Sat, 16 Jan 2021 09:57:15 +0000 (10:57 +0100)]
Remove unused imports

3 years agoUse `WoltLabSuite/Core/Acp/Ui/Worker` instead of `WCF.ACP.Worker` (#3686)
Matthias Schmidt [Sat, 16 Jan 2021 09:35:59 +0000 (10:35 +0100)]
Use `WoltLabSuite/Core/Acp/Ui/Worker` instead of `WCF.ACP.Worker` (#3686)

Additionally, the mail worker dialogs now use titles.

3 years agoRemove unused import
Matthias Schmidt [Sat, 16 Jan 2021 08:30:44 +0000 (09:30 +0100)]
Remove unused import

3 years agoMove data structures for the inline editor into a spearate module
Alexander Ebert [Fri, 15 Jan 2021 18:16:43 +0000 (19:16 +0100)]
Move data structures for the inline editor into a spearate module

3 years agoMove data structures for the inline editor into a spearate module
Alexander Ebert [Fri, 15 Jan 2021 17:40:22 +0000 (18:40 +0100)]
Move data structures for the inline editor into a spearate module

3 years agoFix fields selector in `Form/Builder/Field/Checkboxes`
Matthias Schmidt [Fri, 15 Jan 2021 15:02:15 +0000 (16:02 +0100)]
Fix fields selector in `Form/Builder/Field/Checkboxes`

3 years agoMerge pull request #3875 from WoltLab/typescript-tree
Tim Düsterhus [Fri, 15 Jan 2021 14:08:10 +0000 (15:08 +0100)]
Merge pull request #3875 from WoltLab/typescript-tree

Move TypeScript sources into ts/ from wcfsetup/install/files/ts/

3 years agoMerge branch 'master' into typescript-tree
Tim Düsterhus [Fri, 15 Jan 2021 14:04:19 +0000 (15:04 +0100)]
Merge branch 'master' into typescript-tree

3 years agoMerge branch '5.3'
joshuaruesweg [Fri, 15 Jan 2021 12:47:25 +0000 (13:47 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
joshuaruesweg [Fri, 15 Jan 2021 12:47:06 +0000 (13:47 +0100)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
joshuaruesweg [Fri, 15 Jan 2021 12:46:45 +0000 (13:46 +0100)]
Merge branch '3.1' into 5.2

3 years agoSet explicit value for invalid select options
joshuaruesweg [Fri, 15 Jan 2021 12:45:59 +0000 (13:45 +0100)]
Set explicit value for invalid select options

3 years agoFix import of incorrect module in `Form/Builder/Field/User`
Matthias Schmidt [Fri, 15 Jan 2021 10:53:10 +0000 (11:53 +0100)]
Fix import of incorrect module in `Form/Builder/Field/User`

3 years agoMerge branch '5.3'
Matthias Schmidt [Fri, 15 Jan 2021 10:29:38 +0000 (11:29 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Fri, 15 Jan 2021 10:29:29 +0000 (11:29 +0100)]
Merge branch '5.2' into 5.3

3 years agoSupport WysiwygFormContainer as children of ITabMenuFormContainer
Titus Kirch [Wed, 30 Dec 2020 01:11:55 +0000 (02:11 +0100)]
Support WysiwygFormContainer as children of ITabMenuFormContainer

3 years agoMake `options` parameter of `Form/Builder/Dialog` a `Partial`
Matthias Schmidt [Fri, 15 Jan 2021 10:14:35 +0000 (11:14 +0100)]
Make `options` parameter of `Form/Builder/Dialog` a `Partial`

3 years agoUse monospace font for template listener code field in devtools
Matthias Schmidt [Fri, 15 Jan 2021 10:08:04 +0000 (11:08 +0100)]
Use monospace font for template listener code field in devtools

3 years agoAdd missing calls to parent constructors in subclasses of `TextFormField`
Matthias Schmidt [Fri, 15 Jan 2021 10:04:33 +0000 (11:04 +0100)]
Add missing calls to parent constructors in subclasses of `TextFormField`

3 years agoMerge branch '5.3'
Matthias Schmidt [Fri, 15 Jan 2021 08:54:04 +0000 (09:54 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Fri, 15 Jan 2021 08:53:55 +0000 (09:53 +0100)]
Merge branch '5.2' into 5.3

3 years agoFix displaying error messages for devtool projects' instructions
Matthias Schmidt [Fri, 15 Jan 2021 08:53:37 +0000 (09:53 +0100)]
Fix displaying error messages for devtool projects' instructions

3 years agoRemove incorrect devtools form field description
Matthias Schmidt [Fri, 15 Jan 2021 08:50:00 +0000 (09:50 +0100)]
Remove incorrect devtools form field description

3 years agoMove TypeScript sources into ts/ from wcfsetup/install/files/ts/
Tim Düsterhus [Fri, 15 Jan 2021 08:46:42 +0000 (09:46 +0100)]
Move TypeScript sources into ts/ from wcfsetup/install/files/ts/

3 years agoImprove variable name
Matthias Schmidt [Fri, 15 Jan 2021 08:37:54 +0000 (09:37 +0100)]
Improve variable name

3 years agoMerge pull request #3871 from WoltLab/devtools_project_typescript
Matthias Schmidt [Fri, 15 Jan 2021 08:35:36 +0000 (09:35 +0100)]
Merge pull request #3871 from WoltLab/devtools_project_typescript

Convert devtools project JavaScript code to TypeScript

3 years agoFix required packages' `file` value when editing devtools project
Matthias Schmidt [Fri, 15 Jan 2021 08:33:00 +0000 (09:33 +0100)]
Fix required packages' `file` value when editing devtools project

3 years agoMissing signature for `$.ui.messageTabMenu`
Alexander Ebert [Thu, 14 Jan 2021 18:36:21 +0000 (19:36 +0100)]
Missing signature for `$.ui.messageTabMenu`

3 years agoDo not take X locks in read-only methods of the MFA Setup class
Tim Düsterhus [Wed, 13 Jan 2021 10:30:15 +0000 (11:30 +0100)]
Do not take X locks in read-only methods of the MFA Setup class

This was a fun one. Apparently even a query locking exactly a single row by
leveraging an UNIQUE KEY outside of a transaction can deadlock with another
transaction.

Sending two requests to regenerate MFA backup codes at the same time caused the
following to happen within the database:

T1: Within a transaction locks the Setup by using Setup::lock(), putting an X
    onto the PRIMARY KEY.
T2: Outside of a transaction reads a Setup using Setup::find(), hitting exactly
    a single entry within the `userID` UNIQUE KEY (i.e. a specific
    `(userID, objectTypeID)` tuple).
    -> This puts an X onto the `userID` UNIQUE KEY.
    -> This wants to also put an X onto the corresponding PRIMARY KEY.
    -> The PRIMARY KEY is already locked by T1.
    -> This query (and thus this transaction) waits within this specific query
       for the lock to be granted.
T1: Within the transaction calls Setup::find() with the same parameters as T2.
    -> This needs to put the X onto the same row in the `userID` UNIQUE KEY.
    -> This row is locked by T2.
    -> This transaction needs to wait for that lock to be granted.

Now T1 needs to wait for T2 which already waits for T1 and we're experiencing a
deadlock.

Fix this issue by not taking an X within Setup::find() (i.e. removing the `FOR
UPDATE`). I've verified that nothing calls Setup::find() within a transaction
(without locking the Setup by a different means). Thus this change does not
result in a difference with regard to lock safety. Everything that needs to
modify a Setup already calls Setup::lock() which locks the PRIMARY KEY only.

Fixes #3874

3 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Wed, 13 Jan 2021 08:20:19 +0000 (09:20 +0100)]
Merge remote-tracking branch 'origin/master'

3 years agoMerge branch '5.3'
Tim Düsterhus [Wed, 13 Jan 2021 08:19:25 +0000 (09:19 +0100)]
Merge branch '5.3'

- Dropped update_com.woltlab.wcf_5.3.3_style.php

3 years agoMerge pull request #3865 from WoltLab/fix-style-preview
Tim Düsterhus [Wed, 13 Jan 2021 08:13:00 +0000 (09:13 +0100)]
Merge pull request #3865 from WoltLab/fix-style-preview

Fix the style preview images

3 years agoMerge pull request #3872 from WoltLab/codemirror-media
Tim Düsterhus [Wed, 13 Jan 2021 08:12:57 +0000 (09:12 +0100)]
Merge pull request #3872 from WoltLab/codemirror-media

Convert `Acp/Ui/CodeMirror/Media` to TypeScript

3 years agoUnified the exception type for GD and Imagick
Alexander Ebert [Tue, 12 Jan 2021 11:53:31 +0000 (12:53 +0100)]
Unified the exception type for GD and Imagick

3 years agoUse an `enum` for the InsertType
Tim Düsterhus [Tue, 12 Jan 2021 11:03:00 +0000 (12:03 +0100)]
Use an `enum` for the InsertType

3 years agoConvert `Acp/Ui/CodeMirror/Media` to TypeScript
Tim Düsterhus [Tue, 12 Jan 2021 10:59:20 +0000 (11:59 +0100)]
Convert `Acp/Ui/CodeMirror/Media` to TypeScript

3 years agoApply suggestions from code review
Matthias Schmidt [Tue, 12 Jan 2021 10:25:52 +0000 (11:25 +0100)]
Apply suggestions from code review

3 years agoConvert `Acp/Form/Builder/Field/Devtools/Project/Instructions` to TypeScript
Matthias Schmidt [Tue, 12 Jan 2021 09:59:37 +0000 (10:59 +0100)]
Convert `Acp/Form/Builder/Field/Devtools/Project/Instructions` to TypeScript

3 years agoConvert `Acp/Form/Builder/Field/Devtools/Project/RequiredPackages` to TypeScript
Matthias Schmidt [Tue, 12 Jan 2021 09:58:15 +0000 (10:58 +0100)]
Convert `Acp/Form/Builder/Field/Devtools/Project/RequiredPackages` to TypeScript

3 years agoConvert `Acp/Form/Builder/Field/Devtools/Project/OptionalPackages` to TypeScript
Matthias Schmidt [Tue, 12 Jan 2021 09:57:50 +0000 (10:57 +0100)]
Convert `Acp/Form/Builder/Field/Devtools/Project/OptionalPackages` to TypeScript

3 years agoConvert `Acp/Form/Builder/Field/Devtools/Project/ExcludedPackages` to TypeScript
Matthias Schmidt [Tue, 12 Jan 2021 09:57:26 +0000 (10:57 +0100)]
Convert `Acp/Form/Builder/Field/Devtools/Project/ExcludedPackages` to TypeScript

3 years agoConvert `Acp/Form/Builder/Field/Devtools/Project/AbstractPackageList` to TypeScript
Matthias Schmidt [Tue, 12 Jan 2021 09:57:15 +0000 (10:57 +0100)]
Convert `Acp/Form/Builder/Field/Devtools/Project/AbstractPackageList` to TypeScript

3 years agoAdd devtools form builder-related TypeScript interfaces
Matthias Schmidt [Tue, 12 Jan 2021 09:56:50 +0000 (10:56 +0100)]
Add devtools form builder-related TypeScript interfaces

3 years agoUse DomUtil for element visibility in form builder modules
Matthias Schmidt [Tue, 12 Jan 2021 09:35:40 +0000 (10:35 +0100)]
Use DomUtil for element visibility in form builder modules

3 years agoConvert `WCF.Message.Quote.Handler` to TypeScript (#3860)
Alexander Ebert [Mon, 11 Jan 2021 19:10:50 +0000 (20:10 +0100)]
Convert `WCF.Message.Quote.Handler` to TypeScript (#3860)

* Convert `WCF.Message.Quote.Handler` to TypeScript

* Export the class separately

3 years agoImage adapters now support saving to GIF/JPG/PNG/WebP (#3869)
Alexander Ebert [Mon, 11 Jan 2021 17:33:56 +0000 (18:33 +0100)]
Image adapters now support saving to GIF/JPG/PNG/WebP (#3869)

* Image adapters now support saving to GIF/JPG/PNG/WebP

* Adjusted the usage of exception

* Missing remark on the version support

3 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 11 Jan 2021 15:59:48 +0000 (16:59 +0100)]
Merge branch '5.3'

3 years agoFix check for deleted notifications in NotificationEmailDeliveryBackgroundJob
Tim Düsterhus [Mon, 11 Jan 2021 15:59:19 +0000 (16:59 +0100)]
Fix check for deleted notifications in NotificationEmailDeliveryBackgroundJob

3 years agoSupport for WebP images (#3861)
Alexander Ebert [Mon, 11 Jan 2021 15:02:46 +0000 (16:02 +0100)]
Support for WebP images (#3861)

* Support for WebP images

* Inconsistent quote style

3 years agoMerge pull request #3849 from WoltLab/media_typescript
Matthias Schmidt [Mon, 11 Jan 2021 13:22:31 +0000 (14:22 +0100)]
Merge pull request #3849 from WoltLab/media_typescript

Convert media-related JavaScript to TypeScript

3 years agoFix multiple queries for user online list stats
joshuaruesweg [Mon, 11 Jan 2021 12:54:23 +0000 (13:54 +0100)]
Fix multiple queries for user online list stats

3 years agoMerge pull request #3855 from WoltLab/rank-image-upload
Joshua Rüsweg [Mon, 11 Jan 2021 12:36:54 +0000 (13:36 +0100)]
Merge pull request #3855 from WoltLab/rank-image-upload

Allow upload of rank images via admin panel

3 years agoAdd rank image upload migration script
joshuaruesweg [Thu, 7 Jan 2021 16:19:32 +0000 (17:19 +0100)]
Add rank image upload migration script

3 years agoAdd user rank image upload
joshuaruesweg [Thu, 7 Jan 2021 14:53:15 +0000 (15:53 +0100)]
Add user rank image upload

3 years agoMerge branch '5.3'
Tim Düsterhus [Mon, 11 Jan 2021 11:40:24 +0000 (12:40 +0100)]
Merge branch '5.3'

3 years agoMerge pull request #3867 from WoltLab/smtp-auth-fail
Tim Düsterhus [Mon, 11 Jan 2021 11:33:09 +0000 (12:33 +0100)]
Merge pull request #3867 from WoltLab/smtp-auth-fail

Fail SMTP auth if credentials are configured but all mechanisms fail

3 years agoProperly detect EOF in SmtpEmailTransport::read()
Tim Düsterhus [Mon, 11 Jan 2021 11:18:00 +0000 (12:18 +0100)]
Properly detect EOF in SmtpEmailTransport::read()

3 years agoDisconnect SMTP session for all types of Exception during connect / auth
Tim Düsterhus [Mon, 11 Jan 2021 10:51:23 +0000 (11:51 +0100)]
Disconnect SMTP session for all types of Exception during connect / auth

3 years agoFail SMTP auth if credentials are configured but all mechanisms fail
Tim Düsterhus [Mon, 11 Jan 2021 10:49:20 +0000 (11:49 +0100)]
Fail SMTP auth if credentials are configured but all mechanisms fail

3 years agoMerge pull request #3853 from WoltLab/oauth-refactor
Tim Düsterhus [Mon, 11 Jan 2021 10:57:31 +0000 (11:57 +0100)]
Merge pull request #3853 from WoltLab/oauth-refactor

Refactor OAuth 2 login

3 years agoFix the style preview images
Tim Düsterhus [Mon, 11 Jan 2021 08:44:05 +0000 (09:44 +0100)]
Fix the style preview images

The update 5.3.1 -> 5.3.2 detached all the style preview images in the
database, while leaving the actual image files in the file system. This new
update script *should* fix this situation again, by scanning the asset folder
and reattaching the newest image.

3 years agoCheck for a logged in user in ReauthenticationForm
Tim Düsterhus [Fri, 8 Jan 2021 15:51:44 +0000 (16:51 +0100)]
Check for a logged in user in ReauthenticationForm

needsReauthentication() may only be called for logged in users.

3 years agoRemove MultifactorAuthenticationAbort from ACP guest controller whitelist
Tim Düsterhus [Fri, 8 Jan 2021 15:03:23 +0000 (16:03 +0100)]
Remove MultifactorAuthenticationAbort from ACP guest controller whitelist

3 years agoFix eslint issue
Matthias Schmidt [Fri, 8 Jan 2021 10:58:09 +0000 (11:58 +0100)]
Fix eslint issue

3 years agoRemove obsolete code
Matthias Schmidt [Fri, 8 Jan 2021 10:55:13 +0000 (11:55 +0100)]
Remove obsolete code

Only `insertType = "separate"` was ever supported.

3 years agoApply suggestions from code review
Matthias Schmidt [Fri, 8 Jan 2021 10:53:23 +0000 (11:53 +0100)]
Apply suggestions from code review

3 years agoMerge pull request #3854 from WoltLab/typescript-no-implicit-any
Tim Düsterhus [Fri, 8 Jan 2021 09:36:15 +0000 (10:36 +0100)]
Merge pull request #3854 from WoltLab/typescript-no-implicit-any

Improve TypeScript safety

3 years agoSimplify formatter selection in Date/Picker.ts
Tim Düsterhus [Thu, 7 Jan 2021 16:13:43 +0000 (17:13 +0100)]
Simplify formatter selection in Date/Picker.ts

3 years agoFix typing in TabMenu.ts
Tim Düsterhus [Thu, 7 Jan 2021 14:32:27 +0000 (15:32 +0100)]
Fix typing in TabMenu.ts

3 years agoImprove type safety of Plural.ts
Tim Düsterhus [Thu, 7 Jan 2021 14:26:07 +0000 (15:26 +0100)]
Improve type safety of Plural.ts

3 years agoVarious TypeScript fixes detected using noImplicitAny
Tim Düsterhus [Thu, 7 Jan 2021 13:57:53 +0000 (14:57 +0100)]
Various TypeScript fixes detected using noImplicitAny

3 years agoApply suggestions from code review
Matthias Schmidt [Fri, 8 Jan 2021 09:26:58 +0000 (10:26 +0100)]
Apply suggestions from code review

3 years agoMerge pull request #3857 from WoltLab/commit-message-check
Tim Düsterhus [Fri, 8 Jan 2021 09:08:26 +0000 (10:08 +0100)]
Merge pull request #3857 from WoltLab/commit-message-check

Add pull_request workflow

3 years agoAdd pull_request workflow
Tim Düsterhus [Fri, 8 Jan 2021 08:55:18 +0000 (09:55 +0100)]
Add pull_request workflow

3 years agoAdd proper error handling to OAuth2 client
Tim Düsterhus [Thu, 7 Jan 2021 15:29:14 +0000 (16:29 +0100)]
Add proper error handling to OAuth2 client

3 years agoSpecify timeout for OAuth 2 requests
Tim Düsterhus [Thu, 7 Jan 2021 15:09:10 +0000 (16:09 +0100)]
Specify timeout for OAuth 2 requests

3 years agoSend 403 to spiders accessing the social login
Tim Düsterhus [Thu, 7 Jan 2021 13:07:17 +0000 (14:07 +0100)]
Send 403 to spiders accessing the social login

3 years agoImplement the OAuth 2 providers using AbstractOauth2Action.
Tim Düsterhus [Thu, 7 Jan 2021 11:43:24 +0000 (12:43 +0100)]
Implement the OAuth 2 providers using AbstractOauth2Action.

3 years agoAdd AbstractOauth2Action
Tim Düsterhus [Thu, 7 Jan 2021 11:37:54 +0000 (12:37 +0100)]
Add AbstractOauth2Action

3 years agoConfigure a 60 second timeout for Guzzle by default
Tim Düsterhus [Thu, 7 Jan 2021 15:07:24 +0000 (16:07 +0100)]
Configure a 60 second timeout for Guzzle by default

This is acting as a safety net, because the default timeout is infinite.

3 years agoAdd dir for rank images
joshuaruesweg [Sat, 19 Dec 2020 13:37:26 +0000 (14:37 +0100)]
Add dir for rank images

3 years agoMerge pull request #3813 from WoltLab/session-cookie
Tim Düsterhus [Thu, 7 Jan 2021 08:20:36 +0000 (09:20 +0100)]
Merge pull request #3813 from WoltLab/session-cookie

Session Cookie Updates

3 years agoMerge branch '5.3'
joshuaruesweg [Wed, 6 Jan 2021 15:40:26 +0000 (16:40 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3 5.3.2
joshuaruesweg [Wed, 6 Jan 2021 15:40:00 +0000 (16:40 +0100)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
joshuaruesweg [Wed, 6 Jan 2021 15:39:26 +0000 (16:39 +0100)]
Merge branch '3.1' into 5.2

3 years agoMerge pull request #3844 from WoltLab/fix-failing-cronjobs
Joshua Rüsweg [Wed, 6 Jan 2021 15:38:31 +0000 (16:38 +0100)]
Merge pull request #3844 from WoltLab/fix-failing-cronjobs

Fix failing cronjobs

3 years agoIncorrect year
Alexander Ebert [Wed, 6 Jan 2021 14:59:23 +0000 (15:59 +0100)]
Incorrect year

Old habits die hard…

3 years agoMerge branch '5.3'
Tim Düsterhus [Wed, 6 Jan 2021 14:58:41 +0000 (15:58 +0100)]
Merge branch '5.3'

3 years agoRelease 5.3.2
Alexander Ebert [Wed, 6 Jan 2021 14:57:01 +0000 (15:57 +0100)]
Release 5.3.2

3 years agoMerge pull request #3814 from WoltLab/delete-content-multiple-users
Joshua Rüsweg [Wed, 6 Jan 2021 14:55:55 +0000 (15:55 +0100)]
Merge pull request #3814 from WoltLab/delete-content-multiple-users

Delete content from multiple users simultaneously

3 years agoMerge pull request #3852 from WoltLab/3rdParty-remove-profileFields
Tim Düsterhus [Wed, 6 Jan 2021 14:52:47 +0000 (15:52 +0100)]
Merge pull request #3852 from WoltLab/3rdParty-remove-profileFields

Stop filling in the user's profile on social registration

3 years agoUpdating minified JavaScript files
WoltLab [Wed, 6 Jan 2021 14:44:19 +0000 (14:44 +0000)]
Updating minified JavaScript files

3 years agoStop filling in the user's profile on social registration
Tim Düsterhus [Wed, 23 Dec 2020 13:17:49 +0000 (14:17 +0100)]
Stop filling in the user's profile on social registration

The behavior of this was very inconsistent across providers, required a custom
implementation for each of those and over the years less and less data was
provided (most notably Facebook drastically limited the available fields).

The benefit of filling in the gender and avatar here and there is almost nil,
nothing of real value is lost when removing this and it keeps the code simpler.

3 years agoSimplify retrieving objectTypes for delete content types
joshuaruesweg [Wed, 6 Jan 2021 14:28:14 +0000 (15:28 +0100)]
Simplify retrieving objectTypes for delete content types

3 years agoSimplify delete logic by using a flat array
joshuaruesweg [Fri, 1 Jan 2021 11:59:46 +0000 (12:59 +0100)]
Simplify delete logic by using a flat array

3 years agoRename class variable `$user` to `$users`
joshuaruesweg [Tue, 22 Dec 2020 19:37:57 +0000 (20:37 +0100)]
Rename class variable `$user` to `$users`