GitHub/WoltLab/WCF.git
2 years agoUpdate canonical package server path in install.sql
Tim Düsterhus [Wed, 8 Dec 2021 08:57:32 +0000 (09:57 +0100)]
Update canonical package server path in install.sql

see 4a999c3644268e038a437cf18bfb76c624ffe399
see 10777a62cdcb03dc6924596466affb257dddae50

2 years agoFix upgrade from 5.4.*
Tim Düsterhus [Wed, 8 Dec 2021 08:56:37 +0000 (09:56 +0100)]
Fix upgrade from 5.4.*

see 5de2cc56ee1e5aac19d3320509aa1d2809bca25a

2 years agoFix update_com.woltlab.wcf_5.5.php
Tim Düsterhus [Wed, 8 Dec 2021 08:50:20 +0000 (09:50 +0100)]
Fix update_com.woltlab.wcf_5.5.php

see bb9f9936a48e7c015b144ef2b3cf3ffce2ccc5ae

2 years agoAdd update instructions from 5.4.*
Tim Düsterhus [Wed, 8 Dec 2021 08:32:34 +0000 (09:32 +0100)]
Add update instructions from 5.4.*

2 years agoIncrease version to 5.5.0 Alpha 1
Tim Düsterhus [Tue, 7 Dec 2021 16:07:20 +0000 (17:07 +0100)]
Increase version to 5.5.0 Alpha 1

2 years agoMissing action to close reports
Alexander Ebert [Tue, 7 Dec 2021 14:54:20 +0000 (15:54 +0100)]
Missing action to close reports

2 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 7 Dec 2021 14:08:36 +0000 (15:08 +0100)]
Merge branch '5.4'

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 7 Dec 2021 14:08:18 +0000 (15:08 +0100)]
Merge branch '5.3' into 5.4

2 years agoCast `$length` to an actual `int` in TLengthDatabaseTableColumn::length()
mutec [Sun, 28 Nov 2021 10:49:39 +0000 (11:49 +0100)]
Cast `$length` to an actual `int` in TLengthDatabaseTableColumn::length()

When the object is being initialized from the existing structure in the
database, the length will be passed as a string and was previously stored as-is
within the object.

This violates the existing PHPDoc type declaration and breaks consumers that
use a strict comparison (`===`) to check the length, notably
`YearDatabaseTableColumn`.

Fix this by casting the passed parameter to an actual `int`. This should be
adjusted to a proper parameter type in a future version.

Resolves #4594

[Tim: Adjusted commit message]

2 years agoUpdate fileDelete.xml
Tim Düsterhus [Tue, 7 Dec 2021 11:38:14 +0000 (12:38 +0100)]
Update fileDelete.xml

The following script was used to generate the file:

    #!/bin/bash

    cat <<'EOF'
    <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/fileDelete.xsd">
     <delete>
     <!-- Special files -->
     <file>acp/masterPassword.inc.php</file>
     <!-- /Special files -->
    EOF

    comm -23 <(git log 11ade432290878b6829243ca99131bbf8bc23a66..HEAD --diff-filter=D --no-renames --summary |awk '/delete mode/{print $NF}' |grep wcfsetup/install/files/ |sort -u) <(find wcfsetup/install/files/ |sort -u) \
     |sed 's~^wcfsetup/install/files/~~' \
     |sed 's~^~\t\t<file>~;s~$~</file>~'

    cat <<'EOF'
     </delete>
    </data>
    EOF

And then the fileDelete.xml was re-sorted with vim's `:sort` to keep the diff minimal.

2 years agoUpdate composer dependencies
Tim Düsterhus [Tue, 7 Dec 2021 09:46:32 +0000 (10:46 +0100)]
Update composer dependencies

2 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 7 Dec 2021 08:42:36 +0000 (09:42 +0100)]
Merge branch '5.4'

2 years agoMerge pull request #4602 from WoltLab/available-username
Tim Düsterhus [Mon, 6 Dec 2021 14:44:48 +0000 (15:44 +0100)]
Merge pull request #4602 from WoltLab/available-username

Clean up handling of in-use usernames and email addresses

2 years agoStrip ZERO WIDTH SPACE in StringUtil::trim()
Tim Düsterhus [Mon, 6 Dec 2021 11:31:56 +0000 (12:31 +0100)]
Strip ZERO WIDTH SPACE in StringUtil::trim()

2 years agoDo not error out in UserEditForm if the username conflict is the active user
Tim Düsterhus [Mon, 6 Dec 2021 10:53:06 +0000 (11:53 +0100)]
Do not error out in UserEditForm if the username conflict is the active user

2 years agoDo not error out in AccountManagement if the username conflict is the active user
Tim Düsterhus [Mon, 6 Dec 2021 10:48:59 +0000 (11:48 +0100)]
Do not error out in AccountManagement if the username conflict is the active user

2 years agoStop using UserUtil::isAvailableEmail()
Tim Düsterhus [Mon, 6 Dec 2021 10:45:51 +0000 (11:45 +0100)]
Stop using UserUtil::isAvailableEmail()

2 years agoDeprecate UserUtil::isAvailableEmail()
Tim Düsterhus [Mon, 6 Dec 2021 10:43:06 +0000 (11:43 +0100)]
Deprecate UserUtil::isAvailableEmail()

2 years agoStop using UserUtil::isAvailableUsername()
Tim Düsterhus [Mon, 6 Dec 2021 10:42:24 +0000 (11:42 +0100)]
Stop using UserUtil::isAvailableUsername()

2 years agoDeprecate UserUtil::isAvailableUsername()
Tim Düsterhus [Mon, 6 Dec 2021 10:40:42 +0000 (11:40 +0100)]
Deprecate UserUtil::isAvailableUsername()

2 years agoRemoving an ACL entry did not persist the current changes to the permissions
Alexander Ebert [Sat, 4 Dec 2021 18:24:58 +0000 (19:24 +0100)]
Removing an ACL entry did not persist the current changes to the permissions

2 years agoDeselecting columns for the user result list was overridden by defaults
Alexander Ebert [Sat, 4 Dec 2021 16:29:59 +0000 (17:29 +0100)]
Deselecting columns for the user result list was overridden by defaults

See https://community.woltlab.com/thread/292760-acp-benutzersuche/

2 years agoRestrict the width of the login form
Alexander Ebert [Sat, 4 Dec 2021 16:10:31 +0000 (17:10 +0100)]
Restrict the width of the login form

See https://community.woltlab.com/thread/293054-xsrf-fehlermeldung-beim-acp-login-sieht-b%C3%A4h-b%C3%A4h-aus/

2 years agoGracefully handle missing permissions to delete cover photos
Alexander Ebert [Sat, 4 Dec 2021 15:48:57 +0000 (16:48 +0100)]
Gracefully handle missing permissions to delete cover photos

2 years agoDo not block the DevTools language switch if viewing a non-CMS page
Alexander Ebert [Sat, 4 Dec 2021 15:14:49 +0000 (16:14 +0100)]
Do not block the DevTools language switch if viewing a non-CMS page

2 years agoIncorrect cleanup of pasted tables
Alexander Ebert [Sat, 4 Dec 2021 14:24:17 +0000 (15:24 +0100)]
Incorrect cleanup of pasted tables

2 years agoDeprecate IExtendedMessageQuickReplyAction
Tim Düsterhus [Fri, 3 Dec 2021 13:11:31 +0000 (14:11 +0100)]
Deprecate IExtendedMessageQuickReplyAction

see #4575

2 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 2 Dec 2021 13:57:29 +0000 (14:57 +0100)]
Merge branch '5.4'

2 years agoUpdate composer dependencies
Tim Düsterhus [Thu, 2 Dec 2021 13:56:24 +0000 (14:56 +0100)]
Update composer dependencies

2 years agoIncorrect detection of the last child of a list element when backspacing empty lines
Alexander Ebert [Wed, 1 Dec 2021 18:53:31 +0000 (19:53 +0100)]
Incorrect detection of the last child of a list element when backspacing empty lines

2 years agoIncorrect backspacing of empty paragraphs in list with adjacent lists
Alexander Ebert [Wed, 1 Dec 2021 18:09:28 +0000 (19:09 +0100)]
Incorrect backspacing of empty paragraphs in list with adjacent lists

2 years agoMerge pull request #4597 from WoltLab/buffer-pool-size
Tim Düsterhus [Wed, 1 Dec 2021 12:48:15 +0000 (13:48 +0100)]
Merge pull request #4597 from WoltLab/buffer-pool-size

 Add check for minimum InnoDB buffer pool size to the system check

2 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 1 Dec 2021 09:51:54 +0000 (10:51 +0100)]
Merge branch '5.4'

2 years agoCheck the name of the PRIMARY KEY in PHP DDL
Tim Düsterhus [Wed, 1 Dec 2021 09:51:15 +0000 (10:51 +0100)]
Check the name of the PRIMARY KEY in PHP DDL

Resolves #4592

2 years agoAdd check for the buffer pool size to SystemCheckPage
Tim Düsterhus [Wed, 1 Dec 2021 09:36:36 +0000 (10:36 +0100)]
Add check for the buffer pool size to SystemCheckPage

Resolves #4588

2 years agoUse `SELECT @@<var_name>` instead of `SHOW VARIABLES LIKE '<var_name>'`
Tim Düsterhus [Wed, 1 Dec 2021 09:12:25 +0000 (10:12 +0100)]
Use `SELECT @@<var_name>` instead of `SHOW VARIABLES LIKE '<var_name>'`

> SHOW VARIABLES is subject to a version-dependent display-width limit. For
> variables with very long values that are not completely displayed, use SELECT
> as a workaround. For example:
>
>     SELECT @@GLOBAL.innodb_data_file_path;

(https://dev.mysql.com/doc/refman/5.6/en/show-variables.html)

2 years agoMerge branch '5.4'
Tim Düsterhus [Wed, 1 Dec 2021 09:13:49 +0000 (10:13 +0100)]
Merge branch '5.4'

2 years agoRelease 5.4.9 5.4.9
Alexander Ebert [Tue, 30 Nov 2021 15:10:34 +0000 (16:10 +0100)]
Release 5.4.9

2 years agoMerge branch '5.3' into 5.4
Alexander Ebert [Tue, 30 Nov 2021 15:00:49 +0000 (16:00 +0100)]
Merge branch '5.3' into 5.4

2 years agoRelease 5.3.15 5.3.15
Alexander Ebert [Tue, 30 Nov 2021 14:41:50 +0000 (15:41 +0100)]
Release 5.3.15

2 years agoUpdating minified JavaScript files
WoltLab [Tue, 30 Nov 2021 14:34:02 +0000 (14:34 +0000)]
Updating minified JavaScript files

2 years agoMerge branch '5.2' into 5.3
Alexander Ebert [Tue, 30 Nov 2021 14:31:49 +0000 (15:31 +0100)]
Merge branch '5.2' into 5.3

2 years agoRelease 5.2.16 5.2.16
Alexander Ebert [Tue, 30 Nov 2021 13:33:28 +0000 (14:33 +0100)]
Release 5.2.16

2 years agoUpdating minified JavaScript files
WoltLab [Tue, 30 Nov 2021 13:26:57 +0000 (13:26 +0000)]
Updating minified JavaScript files

2 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Tue, 30 Nov 2021 13:25:15 +0000 (14:25 +0100)]
Merge branch '3.1' into 5.2

2 years agoUpdating minified JavaScript files 3.1.24
WoltLab [Tue, 30 Nov 2021 12:57:10 +0000 (12:57 +0000)]
Updating minified JavaScript files

2 years agoMerge branch '5.4'
Tim Düsterhus [Tue, 30 Nov 2021 10:30:58 +0000 (11:30 +0100)]
Merge branch '5.4'

2 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 30 Nov 2021 10:30:44 +0000 (11:30 +0100)]
Merge branch '5.3' into 5.4

2 years agoFixed suffix declaration in XSD
Sascha Greuel [Tue, 30 Nov 2021 10:23:56 +0000 (11:23 +0100)]
Fixed suffix declaration in XSD

As of now, a suffix is only allowed for option categories, which is wrong,
because a suffix can only be applied to an option itself.

Resolves #4596

2 years agoRelease 3.1.24
Alexander Ebert [Tue, 30 Nov 2021 10:01:51 +0000 (11:01 +0100)]
Release 3.1.24

2 years agoClone the ajax response to read the body again
Alexander Ebert [Fri, 26 Nov 2021 17:24:08 +0000 (18:24 +0100)]
Clone the ajax response to read the body again

https://developer.mozilla.org/en-US/docs/Web/API/Response/clone

2 years agoMerge branch '5.4'
Tim Düsterhus [Fri, 26 Nov 2021 10:01:42 +0000 (11:01 +0100)]
Merge branch '5.4'

2 years agoUpdate composer dependencies
Tim Düsterhus [Wed, 24 Nov 2021 14:04:19 +0000 (15:04 +0100)]
Update composer dependencies

2 years agoStop using getAnchor() with static targets
Tim Düsterhus [Wed, 24 Nov 2021 09:41:58 +0000 (10:41 +0100)]
Stop using getAnchor() with static targets

Adjusted with search and replace:

    \{@?\$__wcf->getAnchor\(['"]([_a-zA-Z0-9-]+)['"]\)\}

to

    #$1

This method still is in use in various templates with dynamic names. This
locations has not yet been adjusted, because it needs to be checked whether it
may contains special characters that need to be escaped.

see #4580

2 years agoMerge pull request #4591 from WoltLab/script-relocate-conditional-comment
Tim Düsterhus [Tue, 23 Nov 2021 14:57:38 +0000 (15:57 +0100)]
Merge pull request #4591 from WoltLab/script-relocate-conditional-comment

Remove support for conditional comments from JavaScript relocation

2 years agoMerge pull request #4590 from WoltLab/tmpHash-session
Tim Düsterhus [Tue, 23 Nov 2021 13:41:24 +0000 (14:41 +0100)]
Merge pull request #4590 from WoltLab/tmpHash-session

Deprecate QuickReplyManager::setTmpHash()

2 years agoRemove support for conditional comments from JavaScript relocation
Tim Düsterhus [Tue, 23 Nov 2021 09:32:46 +0000 (10:32 +0100)]
Remove support for conditional comments from JavaScript relocation

We no longer support any browsers with support for conditional comments since …
ages.

2 years agoRelease 5.4.9 dev 2 5.4.9_dev_2
Alexander Ebert [Mon, 22 Nov 2021 16:28:56 +0000 (17:28 +0100)]
Release 5.4.9 dev 2

2 years agoUpdating minified JavaScript files
WoltLab [Mon, 22 Nov 2021 16:21:26 +0000 (16:21 +0000)]
Updating minified JavaScript files

2 years agoUnable to insert new links into the editor
Alexander Ebert [Mon, 22 Nov 2021 16:19:55 +0000 (17:19 +0100)]
Unable to insert new links into the editor

Fixes 3222504e625d0760d82edc4856cda903be8d7497

2 years agoDeprecate QuickReplyManager::setTmpHash()
Tim Düsterhus [Mon, 22 Nov 2021 15:04:41 +0000 (16:04 +0100)]
Deprecate QuickReplyManager::setTmpHash()

Resolves #4575

2 years agoStop reading __wcfAttachmentTmpHash in ContactForm
Tim Düsterhus [Mon, 22 Nov 2021 15:00:00 +0000 (16:00 +0100)]
Stop reading __wcfAttachmentTmpHash in ContactForm

It is not expected that a user starts drafting a message on some other page and
then continues in ContactForm.

see #4575

2 years agoMerge pull request #4581 from WoltLab/formbuilder-interface-static-method
Tim Düsterhus [Mon, 22 Nov 2021 12:25:22 +0000 (13:25 +0100)]
Merge pull request #4581 from WoltLab/formbuilder-interface-static-method

Remove static methods from form builder interfaces

2 years agoMerge pull request #4589 from WoltLab/5.4-vb5crypt
Tim Düsterhus [Mon, 22 Nov 2021 11:39:41 +0000 (12:39 +0100)]
Merge pull request #4589 from WoltLab/5.4-vb5crypt

Add `Vb5Bcrypt` password algorithm

2 years agoAdd `Vb5Bcrypt` password algorithm
joshuaruesweg [Mon, 22 Nov 2021 11:24:54 +0000 (12:24 +0100)]
Add `Vb5Bcrypt` password algorithm

2 years agoMerge branch '5.4'
Tim Düsterhus [Mon, 22 Nov 2021 10:02:28 +0000 (11:02 +0100)]
Merge branch '5.4'

2 years agoRelease 5.4.9 dev 1 5.4.9_dev_1
Alexander Ebert [Sun, 21 Nov 2021 22:48:12 +0000 (23:48 +0100)]
Release 5.4.9 dev 1

2 years agoSet default value to noindex for some pages
Marcel Werk [Sun, 21 Nov 2021 13:41:06 +0000 (14:41 +0100)]
Set default value to noindex for some pages

These pages do not contain any content of their own and are basically duplicate content.

2 years agoFixed wrong return type documentation
Marcel Werk [Sun, 21 Nov 2021 13:06:28 +0000 (14:06 +0100)]
Fixed wrong return type documentation

2 years agoUpdating minified JavaScript files
WoltLab [Sat, 20 Nov 2021 13:46:26 +0000 (13:46 +0000)]
Updating minified JavaScript files

2 years agoIncorrect `width` of images for embedded links
Alexander Ebert [Sat, 20 Nov 2021 12:40:17 +0000 (13:40 +0100)]
Incorrect `width` of images for embedded links

Replaces #4587

2 years agoWorkaround to recover tmpHashes for attachments for the `wcf\form\MessageForm`
Alexander Ebert [Fri, 19 Nov 2021 16:59:04 +0000 (17:59 +0100)]
Workaround to recover tmpHashes for attachments for the `wcf\form\MessageForm`

Fixes WoltLab/com.woltlab.wbb#504

2 years agoMerge pull request #4585 from WoltLab/typescript-ajax-api
Alexander Ebert [Wed, 17 Nov 2021 17:22:11 +0000 (18:22 +0100)]
Merge pull request #4585 from WoltLab/typescript-ajax-api

Draft for a new ajax API built on top of `fetch()`

2 years agoDo not delegate to NotNullInt10DatabaseTableColumn in ObjectIdDatabaseTableColumn
Tim Düsterhus [Wed, 17 Nov 2021 09:05:48 +0000 (10:05 +0100)]
Do not delegate to NotNullInt10DatabaseTableColumn in ObjectIdDatabaseTableColumn

2 years agoAdd return types to the factory methods of the PHP DDL API
Tim Düsterhus [Wed, 17 Nov 2021 09:04:51 +0000 (10:04 +0100)]
Add return types to the factory methods of the PHP DDL API

2 years agoPrevent object creation for the DatabaseTablePrimaryIndex factory class
Tim Düsterhus [Wed, 17 Nov 2021 09:01:04 +0000 (10:01 +0100)]
Prevent object creation for the DatabaseTablePrimaryIndex factory class

see #4563
see 16525803b548bcbbe80417e59d36484526514973

2 years agoIntegrated the new AJAX API into the existing module
Alexander Ebert [Tue, 16 Nov 2021 14:44:41 +0000 (15:44 +0100)]
Integrated the new AJAX API into the existing module

2 years agoSimplified the code, avoid re-packing the same error
Alexander Ebert [Tue, 16 Nov 2021 13:30:04 +0000 (14:30 +0100)]
Simplified the code, avoid re-packing the same error

2 years agoCommon ApiError class for ergonomic type checks
Alexander Ebert [Tue, 16 Nov 2021 13:13:30 +0000 (14:13 +0100)]
Common ApiError class for ergonomic type checks

2 years agoMerge pull request #4583 from WoltLab/5.5-update-avatar
Joshua Rüsweg [Tue, 16 Nov 2021 13:12:20 +0000 (14:12 +0100)]
Merge pull request #4583 from WoltLab/5.5-update-avatar

Add method to set an avatar for an user

2 years agoInvoke the background queue asynchronously
Alexander Ebert [Tue, 16 Nov 2021 12:34:46 +0000 (13:34 +0100)]
Invoke the background queue asynchronously

2 years agoModified the error handling to use regular errors with a global rejection handler
Alexander Ebert [Tue, 16 Nov 2021 11:02:07 +0000 (12:02 +0100)]
Modified the error handling to use regular errors with a global rejection handler

2 years agoApply suggestions from code review
joshuaruesweg [Fri, 12 Nov 2021 09:16:02 +0000 (10:16 +0100)]
Apply suggestions from code review

2 years agoImproved the dynamic loading of modules
Alexander Ebert [Mon, 15 Nov 2021 17:15:48 +0000 (18:15 +0100)]
Improved the dynamic loading of modules

2 years agoMissing JS rebuild
Alexander Ebert [Mon, 15 Nov 2021 15:25:33 +0000 (16:25 +0100)]
Missing JS rebuild

2 years agoImproved the API, implemented the XSRF token
Alexander Ebert [Mon, 15 Nov 2021 15:23:31 +0000 (16:23 +0100)]
Improved the API, implemented the XSRF token

See #3609

2 years agoRun composer update
Tim Düsterhus [Mon, 15 Nov 2021 11:19:35 +0000 (12:19 +0100)]
Run composer update

No actual changes to the dependencies, just an update of composer's metadata.

2 years agoDraft for a new ajax API built on top of `fetch()`
Alexander Ebert [Sun, 14 Nov 2021 16:54:19 +0000 (17:54 +0100)]
Draft for a new ajax API built on top of `fetch()`

2 years agoMerge branch '5.4'
Tim Düsterhus [Thu, 11 Nov 2021 10:45:44 +0000 (11:45 +0100)]
Merge branch '5.4'

2 years agoIncorrect version number in the installer
Alexander Ebert [Thu, 11 Nov 2021 10:22:08 +0000 (11:22 +0100)]
Incorrect version number in the installer

2 years agoMerge branch '5.3' into 5.4
Alexander Ebert [Wed, 10 Nov 2021 18:23:39 +0000 (19:23 +0100)]
Merge branch '5.3' into 5.4

2 years agoMerge branch '5.2' into 5.3
Alexander Ebert [Wed, 10 Nov 2021 18:22:29 +0000 (19:22 +0100)]
Merge branch '5.2' into 5.3

2 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Wed, 10 Nov 2021 18:22:18 +0000 (19:22 +0100)]
Merge branch '3.1' into 5.2

2 years agoIncorrect reset of the timer to show the loading indicator
Alexander Ebert [Wed, 10 Nov 2021 18:21:40 +0000 (19:21 +0100)]
Incorrect reset of the timer to show the loading indicator

The missing reset caused repeated calls to `show()` being effectively ignored, because the check `_timeoutShow === null` would be always true if the callback was cancelled before.

See https://community.woltlab.com/thread/293232-ajaxstatus-wird-nach-einem-fehlerhaften-request-nicht-wieder-angezeigt/

2 years agoEnforce the aspect ratio when capping the image height
Alexander Ebert [Wed, 10 Nov 2021 17:35:43 +0000 (18:35 +0100)]
Enforce the aspect ratio when capping the image height

2 years agoUse `UserProfileAction::setAvatar()` in AvatarUploadFileSaveStrategy
joshuaruesweg [Tue, 9 Nov 2021 14:59:02 +0000 (15:59 +0100)]
Use `UserProfileAction::setAvatar()` in AvatarUploadFileSaveStrategy

2 years agoAdd method to set an avatar for an user
joshuaruesweg [Tue, 9 Nov 2021 14:43:12 +0000 (15:43 +0100)]
Add method to set an avatar for an user

2 years agoRemove static methods from AbstractFormFieldDecorator
Tim Düsterhus [Mon, 8 Nov 2021 14:32:44 +0000 (15:32 +0100)]
Remove static methods from AbstractFormFieldDecorator

These have been forced by the `IFormField` interface, but were not actually
usable. As the interface has been cleaned up, they can be removed.

2 years agoRemove static methods from form builder interfaces
Tim Düsterhus [Mon, 8 Nov 2021 14:32:17 +0000 (15:32 +0100)]
Remove static methods from form builder interfaces

Resolves #4468

2 years agoFix for code boxes inside quotes
Alexander Ebert [Sun, 7 Nov 2021 15:11:48 +0000 (16:11 +0100)]
Fix for code boxes inside quotes