GitHub/WoltLab/WCF.git
3 years agoDeprecate `WCF.System.Dependency.Manager` (#3879)
Matthias Schmidt [Mon, 18 Jan 2021 16:02:54 +0000 (17:02 +0100)]
Deprecate `WCF.System.Dependency.Manager` (#3879)

It has not been actively used for a very long time, see d1d6845c77fd7cde7558d0defd71ab7947643fe7.

3 years agoMerge branch '5.3'
Marcel Werk [Mon, 18 Jan 2021 15:21:23 +0000 (16:21 +0100)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Marcel Werk [Mon, 18 Jan 2021 15:20:15 +0000 (16:20 +0100)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Marcel Werk [Mon, 18 Jan 2021 15:19:54 +0000 (16:19 +0100)]
Merge branch '3.1' into 5.2

3 years agoPermissions for media were not saved correctly
Marcel Werk [Mon, 18 Jan 2021 15:19:25 +0000 (16:19 +0100)]
Permissions for media were not saved correctly

3 years agoAdd spacing beetween reaction icon in notifications
joshuaruesweg [Mon, 18 Jan 2021 14:58:43 +0000 (15:58 +0100)]
Add spacing beetween reaction icon in notifications

3 years agoFix double html encoding in trophy activity events
joshuaruesweg [Mon, 18 Jan 2021 12:54:21 +0000 (13:54 +0100)]
Fix double html encoding in trophy activity events

3 years agoFix content removal clipboard JavaScript on ACP user list page
Matthias Schmidt [Sun, 17 Jan 2021 16:10:36 +0000 (17:10 +0100)]
Fix content removal clipboard JavaScript on ACP user list page

Close #3878

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'