- May 11, 2024
-
-
Garvin Hicking authored
An error was made in [1] where a wrong link anchor name (parseFunc) was used after refactoring the link format, which leads to a warning in the documentation rendering process. [1] https://review.typo3.org/c/Packages/TYPO3.CMS/+/84193 Resolves: #103819 Releases: main, 12.4 Change-Id: I9b0c8f1852e32174b2ce5b59dc45607fd403a06c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84212 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Lina Wolf <112@linawolf.de> Reviewed-by:
Lina Wolf <112@linawolf.de>
-
Stefan Froemken authored
Resolves: #103816 Releases: main Change-Id: I407cf635b5e1030c943d45a99a51a0210b840a08 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84189 Reviewed-by:
Chris Müller <typo3@brotkrueml.dev> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Chris Müller <typo3@brotkrueml.dev> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
- May 10, 2024
-
-
Christoph Lehmann authored
In advanced query the operator "is in list" makes value be an array. Then switch the field to a non-array field type, and you get the following TypeError: ``` htmlspecialchars(): Argument #1 ($string) must be of type string, array given. ``` This resets the array value to an empty string. Resolves: #103487 Releases: main, 12.4, 11.5 Change-Id: Ifc6ef7e90d49a05ecb4b6d4869eea13c151b1b2a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83593 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
Willi Wehmeier authored
The add widget modal has a cancel button on the bottom of the modal now to match the other modal windows in the backend. Resolves: #103787 Releases: main, 12.4 Change-Id: I0c2c970b1148dfddadff1c3722d04dfcc939a69d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84142 Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Stefan Bürk authored
Hook implementation are configured with the well known $GLOBAL['TYPO3_CONF_VARS']['SC_OPTIONS'][...][] = ''; syntax since ages. Directly defining an anonymous callback function is undocumented and rarely used, but technical valid and supported by the `GeneralUtility::callUserFunction()` method. Due to the refactoring of the `ext:lowlevel` Configuration module for the revamped TypoScript parser with TYPO3 v12 the code in the `ConfigurationController` has been modified to do an array cast, which triggers the execution of the function - which can lead to some deep recursions and thus exceeding server resource limits. Direct callback function should not be executed within the backend Configuration module, which literally is a invalid execution of them. Following code in a extension `ext_localconf.php` file will lead to the resource limit issue: $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['tslib/index_ts.php']['preprocessRequest'][] = function($parameters, $parent) {}; This change modifies the `ConfigurationController->renderTree()` to check if a value is a callable and display the information, and in case of an anonymous function (`Closure::__invoke`) add additional static information: Closure::__invoke (anonymous callback function: function() {}) Note: That does not make it obvious where the function is defined, but it avoids calling these callback methods. Resolves: #103813 Related: #99899 Releases: main, 12.4 Change-Id: I839d1668cf306100cf32af09ec9e24ad0120c43b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84187 Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Mathias Brodala authored
Resolves: #103812 Releases: main, 12.4 Change-Id: I467149ad6e93900cf917d3455b24dc01c97330f1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84186 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
André Buchmann <andy.schliesser@gmail.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com>
-
Markus Klein authored
"Resources/Public" may occur also within an asset path. Path detection code must therefore only check for its first occurrence. Resolves: #101701 Releases: main, 12.4 Change-Id: I8e0b62f5164593e472113ea8d294593e93abfe6c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84181 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Josef Glatz <typo3@josefglatz.at> Reviewed-by:
Josef Glatz <typo3@josefglatz.at> Tested-by:
Willi Wehmeier <wwwehmeier@gmail.com> Reviewed-by:
Willi Wehmeier <wwwehmeier@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
- May 09, 2024
-
-
Torben Hansen authored
Some function names for validator tests in ext:form start with an uppercase letter, which is not in line with our coding guidelines. This change ensures that test function names start with a lowercase letter. Resolves: #103809 Releases: main Change-Id: If6d02c44baba9af4c346a6a4652cb929e9f84770 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84184 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Garvin Hicking authored
The ViewHelper documentation for f:translate mentioned sprintf() from PHP, but did not link to it. This patch adds a link and also optimizes markup, plus a few more sprintf() examples with ordered parameters and number formatting. See forge issue for screenshots how this looks before and after the change. Resolves: #103808 Releases: main, 12.4 Change-Id: I237d4b668291ad68bf083e35c0bdf6510158b38b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84183 Reviewed-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Lina Wolf <112@linawolf.de> Tested-by:
Lina Wolf <112@linawolf.de>
-
- May 08, 2024
-
-
Albrecht Köhnlein authored
Resolves: #103807 Releases: main, 12.4 Change-Id: Ifc551dcd66bc88da8c57e7213ee80d960f365509 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84179 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Andreas Kienast authored
The containers used in the backend module of EXT:styleguide are now based on flex boxes and don't use absolute positioning anymore. This enabled the possibility to scroll when the navigation needs more space than the actual content and also fixes positioning in right-to-left scenarios. Resolves: #103794 Releases: main Change-Id: Ie3fcbf7f7141bf16749dc66b45e185168e469260 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84147 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com>
-
- May 07, 2024
-
-
Torben Hansen authored
This change changes extbase persistence tests to use CSV files where suitable. The `addSimpleObjectTest` has been removed, since `addObjectSetsDefaultLanguageTest` also tests, if a simple object can be added. Additionally, one test is moved from `AddTest.php` to `UpdateTest.php`, because this test actually tests an update- scenario instead of an add-scenario. Resolves: #103668 Releases: main Change-Id: I4b95a8f6f28be17d50f9f2b88f005a7f02248322 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84153 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com>
-
Torben Hansen authored
Extbase persistence does not treat nullable properties like DataHandler does. A nullable domain model property, which either implements `DomainObjectInterface` or is of type `DateTime`, can not be set to null again, when the object is already persisted with a value not equal to null. DataHandler respects this scenario by using the value of the `default` config TCA key for affected relation fields or by typecasting an empty value to integer for `datetime` fields. For `datetime` fields, additionally the `dbType` is evaluated and an empty value is transformed to the corresponding dbType empty value. This change covers both scenarios in extbase persistence, so it is possible to set properties to `null`, if the property either implements `DomainObjectInterface` or is of type `DateTime`. Resolves: #103641 Related: #88515 Releases: main Change-Id: I17767b34ac75bb7387a6fc3c6e7345a7d3d25d86 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83839 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- May 06, 2024
-
-
Willi Wehmeier authored
The folder containing the charset conversion table files should have the unicode license.txt file. Resolves: #103796 Releases: main, 12.4, 11.5 Change-Id: I2577fea6e1b5326cd45da622ec6fbbc563bc140a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84150 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org>
-
Torben Hansen authored
One part of the classname in a `throws` doc comment in `MvcPropertyMappingConfigurationService` is wrong. Instead of `EXTBASE` it should be `Extbase`. Resolves: #103792 Releases: main, 12.4 Change-Id: I6be6e53640d82d39ff9f2ce99015877e693b8428 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84146 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Chris Müller <typo3@brotkrueml.dev> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Chris Müller <typo3@brotkrueml.dev>
-
- May 05, 2024
-
-
Andreas Kienast authored
Executed commands: composer require --dev sokil/php-isocodes-db-i18n:^4.0.22 Build/Scripts/updateIsoDatabase.php Resolves: #103791 Releases: main, 12.4 Change-Id: I624ce17a6abaa2cb5c0479744db43bdf17cd069a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84144 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
- May 03, 2024
-
-
Andreas Kienast authored
The module `@typo3/backend/element/table-wizard-element` is tightly coupled to FormEngine's `TextTableElement`, therefore said module is moved to the FormEngine namespace. Additionally, the element gets renamed to `typo3-formengine-table-wizard`. Resolves: #103725 Releases: main, 12.4 Change-Id: I1c020a4ec6045007ab4c1f42289fe0a9c842f794 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84022 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Andreas Kienast authored
TYPO3 has a method to ensure an integer is always positive: `MathUtility::convertToPositiveInteger()`. However, the method is rather "heavy" as it internally calls `MU::forceIntegerInRange()` and therefore misuses a clamp mechanism to convert the integer to a positive number. Also, the method name doesn't reflect what it actually does. Negative numbers are not converted to their positive counterpart, but are swapped with `0`. Due to the naming issue and the fact that the method can be superseded by a simple `max()` call, the method is therefore deprecated. Resolves: #103785 Releases: main Change-Id: I4fd0548ec6bc7289008057ade4e64f9437c2da7b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84141 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Lina Wolf authored
The $pageLayoutName is treated as 'action' and is passed through ucfirst in TYPO3Fluid\Fluid\View\TemplatePaths:: resolveTemplateFileForControllerAndActionAndFormat Therefore if a backend layout starts with a lowercase name, then the template name still has to start with a uppercase name. Resolves: #103774 Releases: main Change-Id: Ica31c073719d183a5bd66fdaf937dad6707ac07e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84101 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Nikita Hovratov authored
With the introduction of BeforeLoadedUserTsConfigEvent, it is now possible to add user tsconfig before global file user.tsconfig is evaluated. The registry-like `doktypesToShowInNewPageDragArea` list always overrides possible items added in this event. The fix is to use the `addToList` modifier, so that default doktypes are appended. Resolves: #103584 Related: #101818 Releases: main Change-Id: I4cc90d2a89e4619849cd41085d091903353efe72 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83726 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Hader authored
Commands: composer req 'enshrined/svg-sanitize:^0.18.0' composer req 'enshrined/svg-sanitize:^0.18.0' \ -d typo3/sysext/core --no-update Resolves: #103722 Releases: main, 12.4, 11.5 Change-Id: I9a20a46b27b3abbfd18f7ca6027e4def9ce5b59b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84110 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Torben Hansen authored
With this change, the following changes have been applied to the toolbar of the CKEditor "full" configuration preset: * Remove superfluous `clipboard` toolbar item, since CKEditor 5 does not provide a UI for the clipboard plugin. * Rename wrong `find` toolbar item to `findAndReplace`. * Added `TableProperties` and `TableCellProperties` toolbar items. * Move the `findAndReplace` toolbar item before the `link` toolbar item, because we also have this order in the `default` preset. * Move the `selectAll` toolbar item to a dedicated group Resolves: #103745 Releases: main, 12.4 Change-Id: I021b8c2f990c8e302bf169c3e368bf04928dd200 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84048 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Chris Müller <typo3@brotkrueml.dev> Reviewed-by:
Chris Müller <typo3@brotkrueml.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Georg Ringer authored
Allow the valid return type false which is returned by the function exec on failure. Resolves: #103778 Releases: main, 12.4 Change-Id: I8f0391efb6f890ebc0095ddb8a1f93ee9c36e18c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84135 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Andreas Nedbal authored
Newer rollup major versions feature optimizations in build output. The rollup source files are now natively parsed as ESM modules by NodeJS. Earlier rollup versions implicitly transpiled ESM to CJS and allowed a mixture of ESM and CJS imports (both `import` statements and `require()` calls) in one module. With the switch to ESM-only modules we now make use of `createRequire` utility method when node-require resolution is needed for CJS path lookups. Since our main project (Build/) is still in CJS mode by default (for grunt), we apply a sub-project module type overwrite for the Build/rollup/ folder via Build/rollup/package.json to ensure rollup configuration runs in native ESM mode. See https://nodejs.org/docs/latest-v18.x/api/packages.html > Node.js will treat the following as ES modules when passed to node as > the initial input, or when referenced by import statements or import() > expressions: > […] > * Files with a .js extension when the nearest parent package.json file > contains a top-level "type" field with a value of "module". Executed commands: npm install --save-dev \ rollup@^4.17.2 \ @rollup/plugin-commonjs@^25.0.7 \ @rollup/plugin-node-resolve@^15.2.3 \ @rollup/plugin-replace@^5.0.5 npm run build -- exec:rollup Resolves: #103775 Releases: main, 12.4 Change-Id: I6793bd9233b2907ce5ed06d68c7008b349237360 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84102 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Benjamin Franzke authored
The node version used for building TYPO3 assets is raised to 22.0. See https://nodejs.org/en/blog/announcements/v22-release-announce for further details. Resolves: #103780 Releases: main, 12.4 Change-Id: Ibc5b8c88ca5baedb7ae500adb5ef26a33617df4d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84103 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
- May 02, 2024
-
-
Jasmina Ließmann authored
Since #103670 the "Workspaces" module has a slightly different look. In order to keep the "History/Undo" module visually synchronous, the badges are now displayed in color - depending on the action type. In addition, the label for the action type "add" was changed based on the wording from the "Workspaces" module. Resolves: #103765 Releases: main Change-Id: I7f63fc05fe766db8ee9fd85d12720d247009125f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84087 Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Chris Müller <typo3@brotkrueml.dev> Tested-by:
Chris Müller <typo3@brotkrueml.dev> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Hader authored
When using integer types when calling the fallowing method like `ImageProcessingInstructions::fromCropScaleValues(.., .., '500m', 0)`, a PHP type error for `str_contains` is issued. Resolves: #103781 Releases: main Change-Id: Ib36f8584f2a90d999a02dc2ea70249371b312461 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84108 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Frank Naegler authored
This patch addresses two key accessibility issues in the recycler module: it adds a caption element to the table for better context and provides labels for dropdown icons used in multi-selection, ensuring screen reader compatibility. Resolves: #103764 Releases: main, 12.4 Change-Id: Ia8b839cbc438396c8438969087d225c37a479bcf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84085 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Kott <benjamin.kott@outlook.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Kott <benjamin.kott@outlook.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Willi Wehmeier authored
The clear-input button now has a proper title and additionally an aria-label to guide visually impaired users. The button isn't read out by screenreaders when navigating the site linearly (due to tabindex="-1") but when hold-pressing the button with the mouse pointer, a screenreader will search for a human readable label. We therefore add an aria-label attribute. The title attribute is added for sighted users but will be ignored by screenreaders since it's value equals the value of the aria-label attribute. Resolves: #103417 Releases: main, 12.4 Change-Id: I4cbbe5200476a7d84ef1d675911ddd51f5899e87 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83501 Tested-by:
Michael Telgkamp <michael.telgkamp@mindscreen.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Michael Telgkamp <michael.telgkamp@mindscreen.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Chris Müller authored
With the introduction of site sets also a console command was made available which lists all available site sets. Knowing this command makes it easier for integrators to set the dependencies. Resolves: #103771 Related: #103437 Releases: main Change-Id: I86e45c1a63fc3ddc5aaf8a2b1b72da7b24febe08 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84098 Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
- May 01, 2024
-
-
Oliver Hader authored
The new factory method `HashValue::hash('test')` creates the hash from the raw payload `'test'`. This is a simpler shortcut for using `HashValue::create(hash('sha256', 'test', true))`. Resolves: #103772 Releases: main, 12.4 Change-Id: Id201e166eeabc856b8d8dc498cc73cde8d5eb801 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84100 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org>
-
- Apr 30, 2024
-
-
Torben Hansen authored
The frontend login extension currently validates a given redirect URL by ensuring, that the URL is either relative or the host is known to TYPO3. In some scenarios, it might however be useful to allow a redirect URL, which does not match the existing rules. This change adds the `ModifyRedirectUrlValidationResultEvent` PSR-14 event, allowing developers to implement custom validation logic for the redirect URL. Resolves: #103019 Releases: main Change-Id: I81b387f23e90adbaf4a586c9108766275f5e1273 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82763 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Stephan Bauer authored
An error was previously shown and is now removed if no backend type is selected. Releases: main, 12.4, 11.5 Resolves: #103766 Change-Id: Ia83552de40abffb880244e8b0eb0f4c28f0e6637 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84095 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benni Mack <benni@typo3.org>
-
Oliver Bartsch authored
The EXT:styleguide extension currently provides two ways of frontend rendering. The "old" way using a `sys_template` record and the "new" way, using site sets. To not only test the new site sets feature, but also the new PAGEVIEW cObject is the corresponding TypoScript now using the PAGEVIEW for page rendering. This one hand is the best practice and on the other hand also allows to test both ways: FLUIDTEMPLATE and PAGEVIEW in one extension. Required structural changes also showcase what has to be done when migrating extensions to site sets and PAGEVIEW. Resolves: #103733 Releases: main Change-Id: I71bb28a6e6d39b1232d5283e548044b421d3b5c9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84037 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
Frank Naegler authored
This patch adjusts the flash message and notifications elements by removing the h4 tag to prevent incorrect header flow throughout the content structure, allowing for better flexibility based on different use cases. Resolves: #103762 Releases: main, 12.4 Change-Id: Ide330150145d5c4965410fbf61973ef682bb96b0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84082 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Kott <benjamin.kott@outlook.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Kott <benjamin.kott@outlook.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Frank Naegler authored
This patch adjusts the infobox/callout element by removing the h4 tag to prevent incorrect ordering in the content structure, allowing for better flexibility based on different use cases. Resolves: #103761 Releases: main, 12.4 Change-Id: I2556ea0df0e55ffcdf752c9c0574b843ffea44ff Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84081 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Kott <benjamin.kott@outlook.com> Reviewed-by:
Benjamin Kott <benjamin.kott@outlook.com>
-
Frank Naegler authored
This patch enhances the accessibility of the link validator module by ensuring proper relationships between table headers and content cells. Resolves: #103763 Releases: main, 12.4 Change-Id: Icef43369761f88705b491f3661252cc9a4b7ac0a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84083 Tested-by:
Benjamin Kott <benjamin.kott@outlook.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Kott <benjamin.kott@outlook.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
- Apr 29, 2024
-
-
Jasmina Ließmann authored
The title of the linked page was missing a hover style, which is now ensured with this patch. An appropriate link title is also added. Resolves: #103715 Releases: main, 12.4 Change-Id: I4ec60ef43fd7ced6cdc5ede88445931a37e12c3a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84011 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Christian Kuhn authored
tl;dr: This patch switches from using RelationHandler to ReferenceIndex in (mostly) frontend request related RootlineUtility. It is the first patch actively using ReferenceIndex in frontend and has the potential to significantly reduce database query load on not-yet-cached pages in frontend, while creating better results at the same time. The patch obsoletes $GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields']. This is just the tip of the iceberg from a refactoring chain that has been prepared over a period of about three years already. The long story: Rendering times of complex pages in the frontend in general scale linearly with the number of executed database queries (plus some offset), if no extension needs extensive calculation on the PHP side, even if the database is server-side local and not a remote instance, which adds additional TCP round-trip times per query. With thousands of queries being triggered by RootlineUtility, this area is the most promising code path to optimize when response times of not-fully-cached pages should be reduced. RootlineUtility is *the* main performance bottleneck in non-trivial TYPO3 instance frontend rendering: When rendering menus, each single entry needs to know its page row details and its path in the rootline, using RootlineUtility. This can quickly lead to thousands of DB queries with bigger instances on cold caches, catapulting the rendering times from milliseconds to seconds. This is worse when dealing with language overlays and workspaces. RootlineUtility does two main things: It first resolves the rootline of the given pages-uid. This is an expensive operation since it needs a query per page level. We'll change this towards a recursive query soon. Afterwards, it resolves some relations attached to the pages. This is - in default instances - at least the 'media' field. This is done using class RelationHandler per single field in question, which fires at least one query per page row and per field. As such, beside the expensive rootline determination itself, we also have an expensive operation to resolve relations of each pages row. Resolving relations attached to pages in a more performant way is what this patch is about. The list of relations being resolved can be extended using $GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields']. By default, only field 'media' is resolved, resulting in one additional query per resolved page row. Instances tend to add more relations to pages, and when adding these to 'addRootLineFields', they trigger additional RelationHandler queries by RootlineUtility. Also, RootlineUtility *ignores* 'addRootLineFields' when resolving relations when requesting non-default (sys_language_uid != 0) pages, and simply resolves *all* possible relation fields. This includes 'category' and probably some of the TCA fields ext:seo adds to pages TCA. RelationHandler needs *at least* one query per field, more with localizations and even more when rendering a workspaces preview. This situation makes relation resolving of page rows in RootlineUtility more expensive than resolving the rootline itself. One option would be to skip resolving page relations in RootlineUtility, but that wouldn't help us much when instances actually need this data (which is likely). A better solution is to supply relations within pages in a more performant way, ready for TypoScript and extensions to use. The patch switches from using RelationHandler within RootlineUtility to query the ReferenceIndex instead: sys_refindex contains all fields relevant for frontend since #103748. It allows querying *all* relations of *all* page fields with just *one* query. This allows us to remove 'addRootLineFields' by just always resolving all relations with close to no overhead, and turns into an advantage for integrators: One detail less to take care of. The patch establishes a nifty - but very well indexed - query within RootlineUtility to fetch relations. With 'categories' (an MM foreign relation) being attached to pages by default, it is a UNION query of two SELECT queries, with their result being sorted out in a rather effective result handling loop. The patch comes with a todo list within RootlineUtility, but in general, the result list is *better* than the result of the previous single field based RelationHandler solution. This is verified by the previously establish test data sets: * hidden, starttime, endtime are resolved. * Workspace deleted placeholder rows are removed automatically. There are a couple of details we may want to improve with further v13 patches, but in general, this new approach should work well already. Future: * This patch is a base to unlock a series of further performance related changes: When CTE's on RootlineUtility are established, it will allow fetching relations of not only one page, but of multiple pages with one query. Combined with a couple of other changes, the query load in frontend will ultimately collapse. * The patch is the base for ReferenceIndex usage in the frontend: We can potentially remove the doomed DatabaseQueryProcessor and other shenanigans for tt_content within the frontend rendering chain by always providing "correct" relation information automatically without overhead. Other pending patches are already preparing a central place taking care of tt_content for its relations to be resolved in a similar effective way. * Resolving relations of all fields attached to page rows voids the 'parent count' values of these fields. Those are a different de-normalization of relations "if it's not 0, we have some". With RootlineUtility dropping 'addRootLineFields' and always resolving relations, we can finally start dropping these 'count' fields, can release DataHandler from updating these fields, and can remove them from DB altogether. Numbers: There was a recent blog post by Julian [1] looking at query load of bigger menus. With measurements for this patch, we confirm the general numbers Julian came up with in his test setup. Thank to the published test setup at [2], we ported it to TYPO3 v13, and slightly extended it to measure query load when all pages are localized, and we're performing a request to a non-default language. * The main query count on a "cold" instance calling default language does *not* change with this patch. The reason is, default TYPO3 includes only 'media' as relation that has a 'foreign_field' in RootlineUtility, which leads to only one query, which is now substituted by the new refindex query. The advantage of the new solution provided by the patch is to resolve *all* relation with the same query load. * When calling a localized page, the query load is at ~10200 queries on a non-cached-page frontend request. This shrinks to ~7900 with the patch being applied. That's a reduction of 1/5 by this patch, with further options up our sleeves. [1] https://www.in2code.de/aktuelles/menue-vergleich-der-techniken/ [2] https://github.com/julianhofmann/typo3-menu-comparison Resolves: #103752 Related: #103748 Related: #103735 Related: #103710 Related: #103680 Related: #103599 Related: #103598 Change-Id: Ic7e152366dc2d4312ca55035c364db9ac02fabee Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83729 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
André Buchmann <andy.schliesser@gmail.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
André Buchmann <andy.schliesser@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Apr 28, 2024
-
-
Torben Hansen authored
When an editor uses the suggest wizard, undefined array key warnings can occur, when certain array keys have not been defined. This change adds fallbacks for undefined array keys using the null coalescing operator. Additionally, the function `currentBackendUserMayAccessTable` is now covered with unit tests. Resolves: #103721 Releases: main, 12.4 Change-Id: I2b1a8af0883f7d34dde38f6f838df080f34ea87c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84074 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-