- Feb 27, 2024
-
-
Christian Kuhn authored
Substitute with a PHP attribute. Resolves: #103219 Releases: main Change-Id: Ie589404f797a880fc8e27480a2dd95c3f0420427 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83152 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Christian Kuhn authored
phpunit 11 deprecates addMethods() on mocks. There are various solutions: * Use onlyMethods([]) instead of addMethods(['dummy']) to "mock nothing" * Remove a couple of calls that were bogus in the first place * Turn calls into mocks of interfaces * Turn calls into mocks of fixture classes * Instantiate a subject with new() Also have the one or the other minor cleanup as drive-by. Change-Id: I5dad1cc65c14ed50b3941beaa7132040bc415a11 Resolves: #103218 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83150 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Christoph Lehmann authored
In production environments the address is always wrong. By removing it the fallback MAIL/defaultMailFromAddress is used. With this it's possibly one step less to setup the Linkvalidator. Releases: main Resolves: #103209 Change-Id: I03705a26de2dad6181b0a4f202900634f787a965 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83149 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Christian Kuhn authored
The methods are no longer static in phpunit 11 and should not be used in data providers. We split a data provider to deal with this. The final switch to not call these statically will be done when phpunit is raised, since it otherwise collides with cgl checks and current phpunit 10. Resolves: #103216 Releases: main Change-Id: I90c787d1c8b68e0bf02be0e4f056ef6ebb8ca9ef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83148 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
* Less mocking * Don't test AbstractFrontend but implementations * Turn test-internal loops into data providers * General cleanup * Avoid phpunit 11 deprecations Resolves: #103214 Releases: main Change-Id: I87851d7ba6332161dc387bc6a5aea9661703428b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83147 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.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> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Christian Kuhn authored
Check $dataMap and $commandMap structure in start(), type hint them to array. This is considered b/w compatible since DH would have failed already when the incoming array shape was funny, and the annotations clearly stated an array must be given for a long time already. Minor adaptions throughout DH class to happify phpstan a bit more. Change-Id: Idfc4b0c5c8db1b096f9477ce9b2bbfc0c5755a03 Resolves: #103213 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83073 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Christian Kuhn authored
phpunit 11 deprecation: Use `$double->willReturn()` instead of `$double->will($this->onConsecutiveCalls())`. Resolves: #103210 Releases: main Change-Id: I72f4db5814a1c488e8b1883d6ce79cbdb91a2a33 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83145 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- Feb 26, 2024
-
-
Christian Kuhn authored
Unblock phpunit 11. > composer req --dev codeception/codeception:^5.1.1 codeception/module-webdriver:^4.0.1 > composer u codeception/lib-web codeception/stub > composer req --dev php-webdriver/webdriver:^1.15.1 Change-Id: Ib9f153e879510a3188c59ebd039033af2fcd6226 Resolves: #103208 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83142 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
Christian Kuhn authored
Unblocks phpunit 11. > composer u typo3/testing-framework Resolves: #103207 Releases: main Change-Id: Iff3b1c026960d004b6576795c0fddee79168f01b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83141 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
Major version upgrade from v4. Unblocks phpunit 11. Adapt various Build/ scripts and the extension scanner. > composer req nikic/php-parser:^5.0.1 > composer req nikic/php-parser:^5.0.1 -d typo3/sysext/install --no-update Change-Id: I6fb3f874a4d8af951a74a8287afe798e29bbe3a2 Resolves: #103206 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83139 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Christian Kuhn authored
Use the attribute in favor of `@dataProvider` annotation. Adapt the acceptance test splitter to deal with it. Clean up annotationChecker to no longer allow `@dataProvider` and disallow a series of further not used annotations along the way. Resolves: #103204 Related: #103180 Releases: main, 12.4 Change-Id: If8e4d5a87d07d574065d596acb4c44a48f265ffa Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83136 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> 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:
Christian Kuhn <lolli@schwarzbu.ch>
-
Mathias Brodala authored
Resolves: #103202 Releases: main, 12.4 Related: #40096 Change-Id: If64a5d16da9d500180d070b8d5f6a7fd96609010 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83135 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
Unblocks phpunit 11, backport to v12 to keep php-cs-fixer in sync. > composer req --dev friendsofphp/php-cs-fixer:^3.50 Resolves: #103200 Releases: main, 12.4 Change-Id: I1ab390c816caf3eabba00e8404d00fe2c9009fd8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83133 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
- Feb 25, 2024
-
-
Christian Kuhn authored
phpunit 11 deprecates annotations like `@test` and `@dataProvider` in favor of their attribute counterparts. We'll adapt core main & v12 to keep v12 backports simple. The patch takes care of Tests/Functional and Tests/FunctionalDeprecated. Script `Build/Scripts/splitFunctionalTests.php` is adapted to deal with annotations for CI to continue splitting functional tests into chunks. This also fixes detection in two test cases that had unexpected `@test` annotation combinations which were not properly detected before. > composer req --dev rector/rector > wget https://forge.typo3.org/attachments/download/38273/rector.php > find typo3/ -name \*Test.php | grep Tests/Functional | xargs bin/rector process > rm rector.php > composer rem --dev rector/rector Minor manual adaption in a few files plus cgl fixes. Also deny `@test` annotion in annotationChecker.php now to not introduce new occurences with other patches anymore. The script will receive another cleanup to look at further obsolete annotations. `@dataProvider` is currently still used in acceptance tests. Change-Id: I42705b57193a32db6fe17276d53476ecddcae835 Resolves: #103195 Related: #103180 Releases: main, 12.4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83115 Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Bartsch authored
Resolves: #103192 Releases: main, 12.4 Change-Id: I81c0c655b75332790243c05be14f24593c5b9d6a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83118 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Guido Schmechel <guido.schmechel@brandung.de>
-
- Feb 24, 2024
-
-
Oliver Klee authored
Due to a typo, #103193 downgraded the minimum required phpstan/phpstan-phpunit version. Executed command: composer require --dev \ phpstan/phpstan-phpunit:^1.3.16 Resolves: #103194 Related: #103193 Releases: main, 12.4 Change-Id: Ied12668b57b500a42bdb9f901952094cd48bd1b0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83122 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Oliver Klee authored
The new version changes the format of a warning. Executed commands: composer require --dev \ phpstan/phpstan:^1.10.59 \ phpstan/phpdoc-parser:^1.26.0 \ phpstan/phpstan-phpunit:^1.2.16 ./Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #103193 Releases: main, 12.4 Change-Id: I36a6b4f98e03b73dbf076d84ce1ea900c26fcfb2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83120 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
- Feb 23, 2024
-
-
Oliver Bartsch authored
A couple of places (mostly paginations) are using the action ViewHelpers without providing the `action` argument. Those links will therefore fall back to the default action, which might be wrong e.g. in the backend user group listing. To preserve the current action on paginating, the corresponding action is now always set. Resolves: #103189 Related: #101729 Releases: main, 12.4 Change-Id: I1db9a637a4b320f90aae3a93fe903c939384ea3a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83114 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
tiggr authored
fixes error introduced by https://review.typo3.org/c/Packages/TYPO3.CMS/+/83080 Releases: main, 12.4 Resolves: #103191 Related: #103181 Change-Id: I4636c5c0f39beff6824ec7fb967993087c2fdbc5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83116 Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Benjamin Kott authored
We've enhanced the backend tree component by extending tree nodes to incorporate status information. These details serve to indicate the status of nodes and provide supplementary information. For instance, if a page undergoes changes within a workspace, it will now display an indicator on the respective tree node. Additionally, the status is appended to the node's title. This enhancement not only improves visual clarity but also enhances information accessibility. Each node can accommodate multiple status information, prioritized by severity and urgency. Critical messages take precedence over other status notifications. Resolves: #103186 Releases: main Change-Id: Ia117c78f2bfde2fd8a2d0af35b3a2de021e866cb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83086 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
tiggr authored
To add a custom table to the list of tables, the corresponding TCA field name "table_name" has to be used. Releases: main, 12.4 Resolves: #103181 Change-Id: I1349465f320f882f2cf628a34dd445ceef375f2a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83080 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Garvin Hicking <gh@faktor-e.de>
-
Christian Kuhn authored
phpunit 11 deprecates annotations like `@test` and `@dataProvider` in favor of their attribute counterparts. We'll adapt core main & v12 to keep v12 backports simple. The patch takes care of Tests/Unit and Tests/UnitDeprecated, functional test need some additional quirk for the test splitter to continue to work. > composer req --dev rector/rector > wget https://forge.typo3.org/attachments/download/38273/rector.php > find typo3/ -name \*Test.php | grep Tests/Unit | xargs bin/rector process > rm rector.php > composer rem --dev rector/rector Minor manual adaption in ErrorHandlerTest.php and GeneralUtilityTest.php, and `runTests.sh -s cglGit`. Number of executed unit tests and unitDeprecated tests should stay the same. Change-Id: I63d2be40b8aa022f0918edd8dc1c360017316c46 Resolves: #103180 Releases: main, 12.4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83078 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Bartsch authored
A couple of tests are adding services to a container instance. Since the `ContainerInterface` does not define the used `set()` method, the tests are adjusted to explicitly require the symfony service container, which provides mentioned `set()` method. Resolves: #103183 Releases: main, 12.4 Change-Id: Icdb36a0ea871d79cd2c280d5f17a00569b49cb2b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83084 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
Oliver Bartsch authored
Resolves: #103182 Releases: main, 12.4 Change-Id: If16e37c638a07e3afbb59d665141cc2ade583f4d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83083 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
The event provides access to the `$resultArray` and documents that it can be modified to set `javaScriptModules`, but missed to take the resulting data into account. Releases: main, 12.4 Resolves: #103174 Change-Id: I0a53d1fbcdff0a3d57de237b44d3ff68f60c721d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83072 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:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
When CKEditor5 `contentsCss` configuration options references multiple CSS, respective `fetch()` requests may finish in non-sequential order, depending on server load and file size, causing intended CSS ordering to break. Ensure sequential ordering by waiting for all promises to be settled via `Promise.allSettled()`. It is guaranteed to return the promise status and values "in the order of the promises passed, regardless of completion order": https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled#return_value Releases: main, 12.4 Resolves: #103152 Related: #100768 Change-Id: I5954b438cc6b8c6d74c81fda0227e963d7d89cf6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83048 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Jakub Zgirski <jakzgi@wp.pl>
-
Andreas Kienast authored
The wizard component was introduced in EXT:workspaces back then as the `Modal` component was not able to keep the current window open as long an action is running. Since any action executed in the workspaces management module is not wizard-esque, plain modal windows are used instead now. The usage of the `Wizard` component is completely dropped. Resolves: #103160 Releases: main Change-Id: Icb4b746816f872ec8e5e335823956917a7683ecd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83045 Reviewed-by:
Andreas Nedbal <andy@pixelde.su> 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 Nedbal <andy@pixelde.su> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
- Feb 22, 2024
-
-
Benjamin Franzke authored
Using timestamps as array keys in form yaml configuration can result in sparse [1] JavaScript arrays which contain "empty slots". Example yaml configuration: templateRootPaths: 1708504268: 'EXT:example/Resources/Private/Emails/Templates' This value is properly serialized into an object by PHP json_encode (as it does not contain sequential integer keys starting at 0), but the FormEditor data model produces arrays from numerical keys during clone operations of such data sets and basically creates sparse arrays like: > const example = [] > example[1708504268] = 'EXT:example/Resources/Private/Emails/Templates' > console.log(example) [ <1708504268 empty items>, 'EXT:forms_extended/Resources/Private/Emails/Templates' ] Some array-looping operations like Array.reduce() will loop through all empty slots [1] and therefore preduce a lot of processing load (1708504269 loops for the example above) that ultimately cause freezes. The array to object copy operation is now replaced by a modern spread operation that is defined to skip empty slots. [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections#sparse_arrays Releases: main, 12.4, 11.5 Resolves: #103168 Change-Id: I10b586ff5c5b0fb3698bfbbe28b2f93d932b71a2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83058 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Christian Kuhn authored
The method throws an exception on !is_numeric() already. This includes float, which is bogus. We can simplify with an argument type hint. Resolves: #103175 Releases: main Change-Id: I990f273f16581c553e17cb610524e2cbc3659baa Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83076 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
Add test cases to see how canBeInterpretedAsInteger() returns with bool input. Change-Id: I7b0c8e959660170ee20e845d932da896d82b27d6 Resolves: #103176 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83077 Tested-by:
Mathias Brodala <mbrodala@pagemachine.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Mathias Brodala <mbrodala@pagemachine.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Torben Hansen authored
With #103046, `encryptionKey` has been removed from `DefaultConfiguration.php`. This leads to PHP array key warnings in unit tests. The patch sets it for various tests. Resolves: #103148 Related: #103046 Releases: main, 12.4, 11.5 Change-Id: Ife279449c2db569c8d63a0cc19009f1a3ca278d5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83032 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> 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>
-
Stefan Bürk authored
The command dispatch for `-s phpstanGenerateBaseline` is modified to a simple command dispatch instead of the bash expansion - which is not needed in this case. Resolves: #103106 Releases: main, 12.4, 11.5 Change-Id: I771945f2a0751cbf4d350ffe0e8e8f2d78a04d86 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82934 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Chris Müller authored
Resolves: #102964 Resolves: https://github.com/TYPO3-Documentation/Changelog-To-Doc/issues/812 Related: #102865 Releases: main Change-Id: Iadf24ef5589d9defb0d4060b52039dcd69b5ff5e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82682 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
- Feb 21, 2024
-
-
Torben Hansen authored
In TYPO3 versions before v9, the mailtest showed the configured sender email address. This has been removed due to a wrong fluid variable usage with #88523 With this change, the sender email address is now shown again in the mailtest. Additionally, a note is added to clarify, that not receiving the test email could be due to spam filters or the sender domain SPF settings. The notice about the `defaultMailFromAddress` has been removed, since it is already checked in `EnvironmentController`, that the value is configured and a valid email address. Finally, the fluid variable `queueIdentifier` introduced with #100084 has been removed, since it is not used in the template. Resolves: #103136 Related: #88523 Related: #100084 Releases: main, 12.4 Change-Id: Ib076934732a05d9c709f6d822526e8316cf87106 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83021 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
The DataHandler has a major structural flaw by not handing over known record state to sub methods. It thus tends to fetch and process the same table/uid combination over and over again to figure out details like permissions. This is of course expensive: DH tends to fire lots of DB calls. Over the years, a series of caches have been added in order to suppress those DB calls and mitigate DB load. Obvious cache layers: * $this->recInsertAccessCache * $this->isRecordInWebMount_Cache * $this->isInWebMount_Cache * $this->pageCache * $this->runtimeCache 'checkRecordUpdateAccess_' * $this->runtimeCache 'doesRecordExist_pageLookUp_' As an additional gem that increases complexity, runtimeCache is currently abused to transfer state between DH sub instances. Various lower level caches kick in, too, e.g. from BackendUtility. There is a problem with these caches, in particular those that suppress record state DB calls: DH itself changes this state all the time by adding, deleting and changing records. This makes cache eviction a crucial aspect when dealing with them. This however is hard and not properly done at various places. The true solution is to hand over more 'known correct state at this time' to sub methods instead, which voids more and more of these layers. We've done this with the 'workspace discard' methods in v11 already with great success: The DB load has been reduced significantly, and there are no cache eviction issues in this area anymore. The patch removes a cache in doesRecordExist_pageLookUp(), which unblocks one aspect of a patch to fix #92604. For now, we actively accept a (slight, but not critical) performance penalty due to repeated DB queries, mainly hit when importing many records. Looking at use cases, we can and should instead refactor the call chains to hand over 'known' page record state directly. We will establish this with upcoming v13 patches and will suppress more queries than this cache avoided in the first place. Note the penalty introduced with this patch can be mostly suppressed for imports using DH->bypassAccessCheckForRecords=true, which is a good idea in many cases anyway at the moment, if the import is an admin-only operation. Resolves: #103172 Related: #79610 Related: #92604 Releases: main Change-Id: Ie25cb4563c0bd09eb2d0060aafeae26bea7a54f5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83057 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Sascha Nowak <typo3@saschanowak.me> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
sschreiberten authored
Resolves: #103170 Releases: main, 12.4, 11.5 Change-Id: Ic7f63f6c55b832af27e9e30a0711ba042df42aa3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83056 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Sascha Nowak authored
Using cache_treelist has been avoided with #103139 since it was broken. v13 now goes ahead and removes the clearing logic and the table itself. Note the PageRepository method that formerlly used that cache would be a great target for a (first) CTE to structurally enhance performance. v13 may see patches in this area. Resolves: #103165 Related: #103139 Releases: main Change-Id: I2bcee1befa08b8dc81f39c7ef4b9e8a005fad0c8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83051 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Sascha Nowak authored
The cache_treelist handling in PageRepository is broken for a long time already: Entries are get() with an expiry time that is not properly set(), so get() is never successful. There is a second bug in getDescendantPageIdsRecursive() cache handling: get() is done without BE user restriction, but set() is only done when no BE user is logged in. This way, non-BE user state could swap into BE user state, *if* the cache would work. The patch avoids reading and writing the cache instead of fixing cache access: We can not risk bugs in v12 if the cache would suddenly start working but has side effects: Issues like that would be hard to find, hard to report, and have severe impact on FE rendering. Note typical use case of the method are the "menu" content elements, plus the extbase 'starting point' logic. So its not the menu rendering in general - we would otherwise have most likely found the broken cache much earlier. The patch effectively increases performance since the get() and set() queries are gone. Resolves: #103139 Releases: main, 12.4 Change-Id: Icc8d13b583f77d6ffc186d391d46d6830ee50889 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83023 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benjamin Kott authored
Resolves: #103167 Releases: main Change-Id: Ic890b2b5ea50bd4410709912316e3da7ac0cad38 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83054 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Benjamin Kott authored
Resolves: #103166 Releases: main Change-Id: I8ee238e46ba7589e32917d2ac26ee0aa6860c014 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83053 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>
-