GitHub/WoltLab/WCF.git
3 years agoSet `accept-encoding: gzip` for URL Unfurling requests
Tim Düsterhus [Tue, 22 Jun 2021 08:09:19 +0000 (10:09 +0200)]
Set `accept-encoding: gzip` for URL Unfurling requests

see #4218

3 years agoMerge pull request #4329 from WoltLab/sfs-gzip
Tim Düsterhus [Tue, 22 Jun 2021 07:12:06 +0000 (09:12 +0200)]
Merge pull request #4329 from WoltLab/sfs-gzip

Set `accept-encoding: gzip` for SFS list requests

3 years agoRemove `WCF.ACP.Style.ImageUpload` (#4323)
Matthias Schmidt [Tue, 22 Jun 2021 05:39:41 +0000 (07:39 +0200)]
Remove `WCF.ACP.Style.ImageUpload` (#4323)

This component has been deprecated for many years since 59ab4d0f66ddd21bc800b49ebbedcd91e6ae0c5c and even the suggested replacement has already been removed since 40132f4b2e00dd7896d31247a40144bc85b11d28.

3 years agoRemove deprecated TagCloud-related constants and methods (#4325)
Matthias Schmidt [Mon, 21 Jun 2021 15:37:00 +0000 (17:37 +0200)]
Remove deprecated TagCloud-related constants and methods (#4325)

These constants and methods have been deprecated for several years since 3d21a963c9348a63ecafc11abbee8923efbcdcbc.

3 years agoRemove `WCF.Message.UserMention` (#4324)
Matthias Schmidt [Mon, 21 Jun 2021 15:35:02 +0000 (17:35 +0200)]
Remove `WCF.Message.UserMention` (#4324)

This component has been deprecated for many years since d3cbe17e57fb2111af02ca7e11d9c60dce3c6de7 and has only been throwing an error since then.

3 years agoSet `accept-encoding: gzip` for SFS list requests
Tim Düsterhus [Mon, 21 Jun 2021 14:14:59 +0000 (16:14 +0200)]
Set `accept-encoding: gzip` for SFS list requests

see #4218

3 years agoAdd form field dependency for interval of values (#4328)
Matthias Schmidt [Mon, 21 Jun 2021 08:20:51 +0000 (10:20 +0200)]
Add form field dependency for interval of values (#4328)

3 years agoMerge pull request #4322 from WoltLab/guzzle-sfs
Tim Düsterhus [Mon, 21 Jun 2021 07:08:17 +0000 (09:08 +0200)]
Merge pull request #4322 from WoltLab/guzzle-sfs

Migrate the SFS list download to Guzzle

3 years agoMerge branch '5.4'
Matthias Schmidt [Mon, 21 Jun 2021 06:50:16 +0000 (08:50 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Mon, 21 Jun 2021 06:49:37 +0000 (08:49 +0200)]
Merge branch '5.3' into 5.4

3 years agoReset link-related fields after creating box
Matthias Schmidt [Mon, 21 Jun 2021 06:48:22 +0000 (08:48 +0200)]
Reset link-related fields after creating box

3 years agoRemove `WCF.UserPanel` (#4316)
Matthias Schmidt [Sun, 20 Jun 2021 11:38:00 +0000 (13:38 +0200)]
Remove `WCF.UserPanel` (#4316)

This component has been deprecated for many years since 611bfec845fba517504f186d7c97dc6c559f8f7d.

3 years agoRemove `BBCodeParser::validateBBCodes()` (#4319)
Matthias Schmidt [Sun, 20 Jun 2021 11:37:29 +0000 (13:37 +0200)]
Remove `BBCodeParser::validateBBCodes()` (#4319)

This method has been deprecated for many years since 25863cff5dcb31c893b073aedf678b778a14d9fa and has resulted in an exception since then.

3 years agoRemove `BBCodeHandler::setAllowedBBCodes()` (#4318)
Matthias Schmidt [Sun, 20 Jun 2021 11:36:59 +0000 (13:36 +0200)]
Remove `BBCodeHandler::setAllowedBBCodes()` (#4318)

This method has been deprecated for many years since 25863cff5dcb31c893b073aedf678b778a14d9fa and has resulted in an exception since then.

3 years agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Fri, 18 Jun 2021 14:10:41 +0000 (16:10 +0200)]
Merge remote-tracking branch 'origin/master'

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 18 Jun 2021 13:57:50 +0000 (15:57 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 18 Jun 2021 13:57:18 +0000 (15:57 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 18 Jun 2021 13:47:39 +0000 (15:47 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Fri, 18 Jun 2021 13:47:18 +0000 (15:47 +0200)]
Merge branch '3.1' into 5.2

3 years agoSet 'accept-encoding: identity' by default in HTTPRequest
Tim Düsterhus [Fri, 18 Jun 2021 13:44:21 +0000 (15:44 +0200)]
Set 'accept-encoding: identity' by default in HTTPRequest

RFC 7231#5.3.4 allows a server to use an arbitrary 'content-encoding' when no
'accept-encoding' request header is sent.

Make it clear that no 'content-encoding' is acceptable by only accepting the
'identity' encoding.

3 years agoMerge pull request #4315 from WoltLab/content-interaction-buttons
Marcel Werk [Fri, 18 Jun 2021 13:31:33 +0000 (15:31 +0200)]
Merge pull request #4315 from WoltLab/content-interaction-buttons

Content interaction buttons

3 years agoRemove check for 'userID' cookie in RescueModeForm
Tim Düsterhus [Fri, 18 Jun 2021 11:51:24 +0000 (13:51 +0200)]
Remove check for 'userID' cookie in RescueModeForm

3 years agoUse Guzzle to download a SFS delta file
Tim Düsterhus [Fri, 18 Jun 2021 10:34:48 +0000 (12:34 +0200)]
Use Guzzle to download a SFS delta file

see #4281

3 years agoUse Guzzle to download the SFS index
Tim Düsterhus [Fri, 18 Jun 2021 10:29:51 +0000 (12:29 +0200)]
Use Guzzle to download the SFS index

see #4281

3 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 18 Jun 2021 09:44:45 +0000 (11:44 +0200)]
Merge branch '5.4'

3 years agoRevert "Ignore security token for guests" 5.4.0_Beta_2
Tim Düsterhus [Fri, 18 Jun 2021 09:37:24 +0000 (11:37 +0200)]
Revert "Ignore security token for guests"

Due to the age of this commit it's a bit unclear why exactly it was necessary
at that time, but records indicate that it was related to the URL based session
system (`?s=…`) in combination with with virtual sessions effectively changing
the session ID during login, the `SID` constants being constant and the CSRF
token being stored in the session.

As none of this applies any longer, this workaround should no longer be
necessary and thus reverted. It certainly violates the principle of least
astonishment, because it only applies to AbstractSecureAction, but not forms
and it's questionable from a security perspective.

This reverts commit e5c2467f717632b47f935a0e59a310de2e2867f3.

3 years agoHandle active status of the subscribe button
Marcel Werk [Fri, 18 Jun 2021 09:11:38 +0000 (11:11 +0200)]
Handle active status of the subscribe button

3 years agoMerge pull request #4321 from WoltLab/media_noCategory_filter
Matthias Schmidt [Fri, 18 Jun 2021 07:09:17 +0000 (09:09 +0200)]
Merge pull request #4321 from WoltLab/media_noCategory_filter

Support filtering media lists for media with no category

3 years agoSupport filtering media list in media manager for media with no category
Matthias Schmidt [Fri, 18 Jun 2021 06:29:54 +0000 (08:29 +0200)]
Support filtering media list in media manager for media with no category

3 years agoSupport filtering media list in ACP for media with no category
Matthias Schmidt [Fri, 18 Jun 2021 06:29:29 +0000 (08:29 +0200)]
Support filtering media list in ACP for media with no category

3 years agoMerge branch 'master' into content-interaction-buttons
Marcel Werk [Thu, 17 Jun 2021 16:43:28 +0000 (18:43 +0200)]
Merge branch 'master' into content-interaction-buttons

3 years agoImplemented content interaction buttons
Marcel Werk [Thu, 17 Jun 2021 16:41:59 +0000 (18:41 +0200)]
Implemented content interaction buttons

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 17 Jun 2021 15:16:10 +0000 (17:16 +0200)]
Merge branch '5.4'

3 years agoMerge pull request #4309 from WoltLab/acp-cannotuse
Tim Düsterhus [Thu, 17 Jun 2021 15:15:56 +0000 (17:15 +0200)]
Merge pull request #4309 from WoltLab/acp-cannotuse

Set __isLogin if a logged-in user lacks `admin.general.canUseAcp`

3 years agoDeprecate PasswordUtil itself
Tim Düsterhus [Thu, 17 Jun 2021 13:23:21 +0000 (15:23 +0200)]
Deprecate PasswordUtil itself

3 years agoDeprecate PasswordUtil::getRandomPassword()
Tim Düsterhus [Thu, 17 Jun 2021 13:22:47 +0000 (15:22 +0200)]
Deprecate PasswordUtil::getRandomPassword()

3 years agoDeprecate PasswordUtil methods that will become useless after removal of the algorithms
Tim Düsterhus [Thu, 17 Jun 2021 13:19:36 +0000 (15:19 +0200)]
Deprecate PasswordUtil methods that will become useless after removal of the algorithms

3 years agoRename the third gender from 'Other' to 'Non-Binary' in en.xml
Tim Düsterhus [Thu, 17 Jun 2021 13:02:14 +0000 (15:02 +0200)]
Rename the third gender from 'Other' to 'Non-Binary' in en.xml

3 years agoImprove name of the 'image_proxy_host_whitelist' option
Tim Düsterhus [Thu, 17 Jun 2021 12:52:15 +0000 (14:52 +0200)]
Improve name of the 'image_proxy_host_whitelist' option

Whitelist implies that only the given domains will be passes through the proxy.
Additionally the German version already uses “Ausnahme” which translates to
“Exception”.

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 17 Jun 2021 12:43:15 +0000 (14:43 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Thu, 17 Jun 2021 12:42:53 +0000 (14:42 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Thu, 17 Jun 2021 12:42:42 +0000 (14:42 +0200)]
Merge branch '3.1' into 5.2

3 years agoFix 'to its full extent' in en.xml
Tim Düsterhus [Thu, 17 Jun 2021 12:41:10 +0000 (14:41 +0200)]
Fix 'to its full extent' in en.xml

3 years agoSet __isLogin if a logged-in user lacks `admin.general.canUseAcp`
Tim Düsterhus [Thu, 17 Jun 2021 12:09:34 +0000 (14:09 +0200)]
Set __isLogin if a logged-in user lacks `admin.general.canUseAcp`

Resolves #4307

3 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 17 Jun 2021 11:54:36 +0000 (13:54 +0200)]
Merge branch '5.4'

3 years agoRemove deprecated `Category::$permissions` (#4303)
Matthias Schmidt [Thu, 17 Jun 2021 11:24:34 +0000 (13:24 +0200)]
Remove deprecated `Category::$permissions` (#4303)

This property has been deprecated for many years (since 2b59736b2592a01ee880f0cc4439622b437acd85) and is just an (internal) copy of `$this->userPermissions[$user->userID]`.

3 years agoDelete deprecated option `module_system_recaptcha` (#4305)
Matthias Schmidt [Thu, 17 Jun 2021 11:24:14 +0000 (13:24 +0200)]
Delete deprecated option `module_system_recaptcha` (#4305)

This option has been deprecated since version 2.1 (since d802ca93dd49463642a35489e8be5423aee86ede) and due to its age, it is not preserved by defining the matching constant in `WCF::defineLegacyOptions()`.

3 years agoRemove deprecated phrases (#4306)
Matthias Schmidt [Thu, 17 Jun 2021 11:23:57 +0000 (13:23 +0200)]
Remove deprecated phrases (#4306)

3 years agoMerge pull request #4301 from WoltLab/IEvent
Matthias Schmidt [Thu, 17 Jun 2021 09:18:22 +0000 (11:18 +0200)]
Merge pull request #4301 from WoltLab/IEvent

Update event handling for `IEvent`s

3 years agoFix code style issues
Matthias Schmidt [Thu, 17 Jun 2021 06:06:54 +0000 (08:06 +0200)]
Fix code style issues

3 years agoUpdate event listener GUI validation to consider new `IEvent` interface
Matthias Schmidt [Thu, 17 Jun 2021 05:39:26 +0000 (07:39 +0200)]
Update event listener GUI validation to consider new `IEvent` interface

3 years agoInvoke event listener objects for listeners to `IEvent`s
Matthias Schmidt [Thu, 17 Jun 2021 05:26:34 +0000 (07:26 +0200)]
Invoke event listener objects for listeners to `IEvent`s

3 years agoReplace `SystemException` with `\LogicException` in `EventHandler`
Matthias Schmidt [Thu, 17 Jun 2021 05:05:58 +0000 (07:05 +0200)]
Replace `SystemException` with `\LogicException` in `EventHandler`

3 years agoAdd `EventHandler::executeListeners()`
Matthias Schmidt [Thu, 17 Jun 2021 05:03:59 +0000 (07:03 +0200)]
Add `EventHandler::executeListeners()`

Instead of having the same code in `EventHandler::executeInheritedActions()` and `EventHandler::fireAction()`, it is now just in one method.

3 years agoRefactor code in `EventHandler`
Matthias Schmidt [Thu, 17 Jun 2021 04:57:55 +0000 (06:57 +0200)]
Refactor code in `EventHandler`

… to reduce code complexity and nesting levels.

3 years agoAdd `EventHandler::getListenerObject()`
Matthias Schmidt [Thu, 17 Jun 2021 04:52:22 +0000 (06:52 +0200)]
Add `EventHandler::getListenerObject()`

Instead of having the same code in `EventHandler::executeInheritedActions()` and `EventHandler::fireAction()`, it is now just in one method.

3 years agoDelete `WCF.Like.js` (#4300)
Matthias Schmidt [Thu, 17 Jun 2021 04:40:20 +0000 (06:40 +0200)]
Delete `WCF.Like.js` (#4300)

As this component would result in an error when used for many versions, it is safe to remove it.

3 years agoRemove `MessageEmbeddedObjectManager::parseTemporaryMessage()` (#4299)
Matthias Schmidt [Thu, 17 Jun 2021 04:40:13 +0000 (06:40 +0200)]
Remove `MessageEmbeddedObjectManager::parseTemporaryMessage()` (#4299)

As this method would result in an exception for many versions, it is safe to remove it.

3 years agoRelease 5.4.0 Beta 2
Alexander Ebert [Wed, 16 Jun 2021 15:27:06 +0000 (17:27 +0200)]
Release 5.4.0 Beta 2

3 years agoUpdating minified JavaScript files
WoltLab [Wed, 16 Jun 2021 13:58:51 +0000 (13:58 +0000)]
Updating minified JavaScript files

3 years agoRemove obsolete `Breadcrumbs` methods (#4298)
Matthias Schmidt [Wed, 16 Jun 2021 12:21:11 +0000 (14:21 +0200)]
Remove obsolete `Breadcrumbs` methods (#4298)

As these methods would result in exceptions for many versions, it is safe to remove them.

3 years agoDelete `TemplateListenerCacheBuilder` (#4297)
Matthias Schmidt [Wed, 16 Jun 2021 12:20:56 +0000 (14:20 +0200)]
Delete `TemplateListenerCacheBuilder` (#4297)

3 years agoRevert "Strip the `loading` attribute from smileys for AMP output"
Alexander Ebert [Wed, 16 Jun 2021 12:08:27 +0000 (14:08 +0200)]
Revert "Strip the `loading` attribute from smileys for AMP output"

This reverts commit 4cfc175da480a13704dd6b52e49723c9a84cb62d.

3 years agoIncorrect use of DOM attributes
Alexander Ebert [Wed, 16 Jun 2021 12:01:20 +0000 (14:01 +0200)]
Incorrect use of DOM attributes

See #4290

3 years agoStrip the `loading` attribute from smileys for AMP output
Alexander Ebert [Wed, 16 Jun 2021 12:00:24 +0000 (14:00 +0200)]
Strip the `loading` attribute from smileys for AMP output

See #4290

3 years agoMerge pull request #4292 from WoltLab/verify-webp-support
Alexander Ebert [Wed, 16 Jun 2021 09:31:55 +0000 (11:31 +0200)]
Merge pull request #4292 from WoltLab/verify-webp-support

Verify WebP support in GD/Imagick

3 years agoMerge pull request #4293 from WoltLab/guzzle-recaptcha
Tim Düsterhus [Wed, 16 Jun 2021 07:03:56 +0000 (09:03 +0200)]
Merge pull request #4293 from WoltLab/guzzle-recaptcha

Migrate RecaptchaHandler to Guzzle

3 years agoVerify the support for WebP images during the setup
Alexander Ebert [Tue, 15 Jun 2021 16:53:08 +0000 (18:53 +0200)]
Verify the support for WebP images during the setup

3 years agoMerge pull request #4294 from WoltLab/suhosin
Tim Düsterhus [Tue, 15 Jun 2021 15:30:27 +0000 (17:30 +0200)]
Merge pull request #4294 from WoltLab/suhosin

Remove Suhosin compatibility layer in PackageInstallationDispatcher

3 years agoRemove Suhosin compatibility layer in PackageInstallationDispatcher
Tim Düsterhus [Tue, 15 Jun 2021 15:06:28 +0000 (17:06 +0200)]
Remove Suhosin compatibility layer in PackageInstallationDispatcher

Suhosin is no more. The last / final release was in 2015.

3 years agoMigrate RecaptchaHandler to Guzzle
Tim Düsterhus [Tue, 15 Jun 2021 14:14:50 +0000 (16:14 +0200)]
Migrate RecaptchaHandler to Guzzle

see #4281

3 years agoVerify WebP support in the test script
Alexander Ebert [Tue, 15 Jun 2021 13:58:49 +0000 (15:58 +0200)]
Verify WebP support in the test script

3 years agoHelper method to check for WebP support
Alexander Ebert [Tue, 15 Jun 2021 13:47:53 +0000 (15:47 +0200)]
Helper method to check for WebP support

3 years agoMerge branch '5.4'
Matthias Schmidt [Tue, 15 Jun 2021 13:11:11 +0000 (15:11 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Tue, 15 Jun 2021 13:10:55 +0000 (15:10 +0200)]
Merge branch '5.3' into 5.4

3 years agoMake `WysiwygAttachmentFormField` only available if upload is allowed
Matthias Schmidt [Tue, 15 Jun 2021 12:55:02 +0000 (14:55 +0200)]
Make `WysiwygAttachmentFormField` only available if upload is allowed

The same check exists in the non-form builder template `messageFormTabs.tpl`.

3 years agoMerge pull request #4278 from WoltLab/blocklist-removal
Tim Düsterhus [Tue, 15 Jun 2021 12:06:46 +0000 (14:06 +0200)]
Merge pull request #4278 from WoltLab/blocklist-removal

Remove the client blocklist options

3 years agoRemove `BLACKLIST_USER_AGENTS`
Tim Düsterhus [Thu, 10 Jun 2021 13:37:23 +0000 (15:37 +0200)]
Remove `BLACKLIST_USER_AGENTS`

see #3914

3 years agoRemove `BLACKLIST_IP_ADDRESSES`
Tim Düsterhus [Thu, 10 Jun 2021 13:33:30 +0000 (15:33 +0200)]
Remove `BLACKLIST_IP_ADDRESSES`

see #3914

3 years agoMerge branch '5.4'
Marcel Werk [Tue, 15 Jun 2021 11:27:59 +0000 (13:27 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Marcel Werk [Tue, 15 Jun 2021 11:27:22 +0000 (13:27 +0200)]
Merge branch '5.3' into 5.4

3 years agoPages in the Template format were not imported correctly
Marcel Werk [Tue, 15 Jun 2021 11:23:53 +0000 (13:23 +0200)]
Pages in the Template format were not imported correctly

3 years agoEnforce strict camel case for method names
Alexander Ebert [Tue, 15 Jun 2021 09:49:32 +0000 (11:49 +0200)]
Enforce strict camel case for method names

`ImageUtil::browserSupportsWebP()` was renamed to `ImageUtil::browserSupportsWebp()` for consistency with other methods.

3 years agoDisable lazy loading for images in AMP
Alexander Ebert [Tue, 15 Jun 2021 09:36:59 +0000 (11:36 +0200)]
Disable lazy loading for images in AMP

Fixes #4290

3 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 15 Jun 2021 07:50:05 +0000 (09:50 +0200)]
Merge branch '5.4'

3 years agoRevert "Add ES 5 syntax check (#4291)"
Tim Düsterhus [Tue, 15 Jun 2021 07:49:33 +0000 (09:49 +0200)]
Revert "Add ES 5 syntax check (#4291)"

This is only needed in '5.3', thus it is being reverted for 5.4+.

This reverts commit 2d35dbce84fbe97e8dc80629d889b51953e1641e.

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 15 Jun 2021 07:48:59 +0000 (09:48 +0200)]
Merge branch '5.3' into 5.4

3 years agoAdd ES 5 syntax check (#4291)
Tim Düsterhus [Tue, 15 Jun 2021 07:48:19 +0000 (09:48 +0200)]
Add ES 5 syntax check (#4291)

3 years agoRemove deprecated Recaptcha-related classes (#4289)
Matthias Schmidt [Tue, 15 Jun 2021 05:58:12 +0000 (07:58 +0200)]
Remove deprecated Recaptcha-related classes (#4289)

See #4281

3 years agoMerge branch '5.4'
Matthias Schmidt [Tue, 15 Jun 2021 05:40:00 +0000 (07:40 +0200)]
Merge branch '5.4'

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Tue, 15 Jun 2021 05:39:49 +0000 (07:39 +0200)]
Merge branch '5.3' into 5.4

3 years agoFix links to developer documentation in phrases
Felix | D1strict [Tue, 15 Jun 2021 05:33:15 +0000 (07:33 +0200)]
Fix links to developer documentation in phrases

3 years agoRelease 5.3.9 5.3.9
Alexander Ebert [Mon, 14 Jun 2021 17:11:24 +0000 (19:11 +0200)]
Release 5.3.9

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 14 Jun 2021 17:06:40 +0000 (17:06 +0000)]
Updating minified JavaScript files

3 years agoES6+ syntax trips the legacy UglifyJS compiler
Alexander Ebert [Mon, 14 Jun 2021 17:05:23 +0000 (19:05 +0200)]
ES6+ syntax trips the legacy UglifyJS compiler

3 years agoRelease 5.3.8 5.3.8
Alexander Ebert [Mon, 14 Jun 2021 14:46:04 +0000 (16:46 +0200)]
Release 5.3.8

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 14 Jun 2021 13:52:54 +0000 (13:52 +0000)]
Updating minified JavaScript files

3 years agoMinor design tweaks for content item list
Marcel Werk [Mon, 14 Jun 2021 13:16:16 +0000 (15:16 +0200)]
Minor design tweaks for content item list

3 years agoUnified width of the unfurl card
Marcel Werk [Mon, 14 Jun 2021 12:43:26 +0000 (14:43 +0200)]
Unified width of the unfurl card

3 years agoSupport embedded objects in users' "About Me" text (#4282)
Matthias Schmidt [Mon, 14 Jun 2021 09:26:19 +0000 (11:26 +0200)]
Support embedded objects in users' "About Me" text (#4282)

See #4253