- Jun 24, 2024
-
-
Stefan Bürk authored
With PHP 8.4 marking method parameter implicitly nullable is deprecated and will emit a `E_DEPRECATED` warning. One recommended way to resolve this, is making it explicitly nullable using the `?` nullable operator. [1] This prepares the way towards PHP 8.4 compatibility. [1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated Resolves: #104187 Releases: main, 12.4 Change-Id: I80b1494413016658e6c5ed88485cce887178fdbf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84874 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de>
-
Stefan Bürk authored
With PHP 8.4 marking method parameter implicitly nullable is deprecated and will emit a `E_DEPRECATED` warning. One recommended way to resolve this, is making it explicitly nullable using the `?` nullable operator. [1] This prepares the way towards PHP 8.4 compatibility. [1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated Resolves: #104188 Releases: main, 12.4 Change-Id: I3a3273b9176fce9b0e64a084654acf17c8738da4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84876 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> 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:
core-ci <typo3@b13.com> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
With PHP 8.4 marking method parameter implicitly nullable is depreacted and will emit a `E_DEPRECATED` warning. One recommended way to resolve this, is making it explicitly nullable using the `?` nullable operator. [1] This prepares the way towards PHP 8.4 compatibility. [1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated Resolves: #104184 Releases: main, 12.4, 11.5 Change-Id: I1e1a60a36ae2b5244bbd8c3cf963f2165077dbad Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84865 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> 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:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Garvin Hicking <gh@faktor-e.de>
-
Andreas Kienast authored
This commit updates TypeScript to 5.5, along with its related friends. Executed commands: npm install --save-dev \ @typescript-eslint/eslint-plugin@^7.13.1 \ @typescript-eslint/parser@^7.13.1 \ @typescript-eslint/typescript-estree@^7.13.1 \ typescript@^5.5.2 npm run build Resolves: #104189 Releases: main, 12.4 Change-Id: Ic2b66c65485845ae62371228f6f8b62c8a320172 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84878 Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Bartsch authored
Since #96515, is's possible to configure aliases for backend modules. Those are handled by the UriBuilder to allow using those aliases for building links to the corresponding module. Using the ActionDispatcher JS component for building module links via the "TYPO3.ModuleMenu.showModule" action, it's now also possible to use corresponding aliases. Therefore, the BackendController now adds the module aliases to the module information JS array and the module JS component properly checks for those aliases when resolving a given module name / identifier. Resolves: #104165 Related: #96515 Releases: main, 12.4 Change-Id: Ia8372a503f4973d81deb285a9945fa13ade24dd3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84839 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- Jun 23, 2024
-
-
Stefan Bürk authored
With PHP 8.4 marking method parameter implicitly nullable is depreacted and will emit a `E_DEPRECATED` warning. One recommended way to resolve this, is making it explicitly nullable using the `?` nullable operator. [1] In cases, where are implicitly nullable parameter exists before not-nullable parameters in a method or constructor, making it explicitly nullable will emit a Optional parameter <paramname> declared before required parameter <paramname> is implicitly treated as a required parameter since PHP 8.0 [2]. This change adds the `?` nullable operator [1] and removes the null default value when one or more non-optional argument follows [2] to mitigate both issues. Note that the second case is a edge case in this change. This prepares the way towards PHP 8.4 compatibility and unifies towards using `?` nullable operator over union null type when possible. [1] https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated [2] https://php.watch/versions/8.0/deprecate-required-param-after-optional Resolves: #104182 Releases: main, 12.4, 11.5 Change-Id: I68362a89458117eca4f0488c67a0b9ed17e7b929 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84858 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Jun 21, 2024
-
-
Garvin Hicking authored
Internally, all allowedAspectRatios will replace a "." character with "_" to prevent problems with Fluid variable key access. The lead to a situation that the backend was unable to reference the current selectedRatio, because the comparison was not performed on the "fixed" key name. This patch now uses a central "fix" method Ratio::prepareAspectRatioId in both the value object preparation as well as the configuration instantiation. This workaround should be addressed as a breaking change in TYPO3v14, a note has been added. Resolves: #103047 Releases: main, 12.4 Change-Id: I8999b5d54627cda7044662ca5da17f4886a700e8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84852 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Georg Ringer authored
The view "List of indexed pages" lists all indexed pages with the page arguments used during indexing. To avoid errors in rendering those, the viewhelper `f:format.json` is used. Resolves: #99125 Releases: main, 12.4 Change-Id: I91038cef9c76d884c2c484925ecef4a70070e153 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84830 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Sybille Peters authored
The class EditableRestriction is used in EXT:linkvalidator to apply permission restrictions to database queries for current (non-admin) BE user. In case of table sys_file_reference, the value for $GLOBALS['TCA'][$table]['ctrl']['type'] might be "uid_local:type". In that case, the class EditableRestriction tried to access the TCA configuration for this field via $GLOBALS['TCA']['sys_file_reference'] ['columns']['uid_local:type']['config'] when in fact this will be empty (and the type refers to the table sys_file). We now check if the resulting array is empty and skip the check if that is the case. Resolves: #103559 Related: #83835 Releases: main, 12.4, 11.5 Change-Id: Idbe653ef9f1c21c077fcb79c03212e606cc71830 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84828 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Peter Kraume authored
Using constants in the LinkHandler TSConfig does not work in the redirects module. Resolves: #103205 Releases: main, 12.4, 11.5 Change-Id: I29dda248c5e80e077d53c8ecead9fb29fd041f76 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84825 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Garvin Hicking authored
When filtering the page tree with characters that have special meaning for a regular expression (for example, ")" or "(" or "?" and some others), the filtering would return a "Page Tree error". JavaScript does not have something like "preg_quote", so this uses the escape string provided by the MDN with fixed special characters. Resolves: #104092 Releases: main, 12.4, 11.5 Change-Id: I4a29c62eaca8b7643c8ef78dda1d8337b3e1e53a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84722 Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Christian Rath-Ulrich authored
This commit fixes a minor issue where the header tag in PaletteAndSingleContainer was incorrectly set as h4. The tag has been changed to h3 for better readability and semantics. Simultaneously, visually hidden headers were also added to tabs to improve accessibility. Resolves: #104021 Releases: main, 12.4 Change-Id: Ic2301eabb23d1d17169056ec8e9ec40a5824c52c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84822 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
Using the multi record selection, it's possible to change the state of checkboxes via multiple ways, e.g. by clicking on the table row. The central functionality for changing the connected checkbox state now also considers the disabled attribute and therefore only changes the checked state in case the checkbox is not disabled. Additionally, next to the custom event, which is triggered on checkbox state changes, the multi record selection now also dispatches the standard "change" event. FormEngine validation for example is listening on this event to mark the field as changed. Resolves: #104142 Releases: main, 12.4 Change-Id: I9854709ee624d88821757fff3baf38c892e5f11d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84823 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Marcin Sągol authored
Adjust request token header name to match the value defined in RequestToken::HEADER_NAME. Fix code example. Releases: main, 12.4 Resolves: #104167 Change-Id: I8e78c0385962b8bdc085a6cc2896794930a96238 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84834 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Leon Dietsch authored
When switching between cropVariants with multiple coverAreas, all of the previous coverAreas are properly removed, only showing those that belong to a specific cropVariant. See details and screenshots in the related ticket. (A new styleguide TCA element crop_9 is also added to showcase multiple coverAreas in multiple cropVariants) Resolves: #103389 Releases: main, 12.4 Change-Id: I7649aa0fe5bc01939326119b24dbdafd5f09a708 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84837 Tested-by:
Andreas Nedbal <andy@pixelde.su> Reviewed-by:
Andreas Nedbal <andy@pixelde.su> Tested-by:
core-ci <typo3@b13.com>
-
Benni Mack authored
This change allows to explicitly set includeRecordsWithoutDefaultTranslation = 0 in TypoScript. Resolves: #93881 Releases: main, 12.4 Change-Id: Ieef59efa320f401345c0c40c2514f988bd1d6715 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84836 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
Georg Ringer authored
Add the configuration example to the full demo of list properties. Resolves: #100852 Releases: main, 12.4 Change-Id: I77afff52cd51d0c527e6f4a9b569accc3e60dab4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84835 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
Georg Ringer authored
The IP anonymization task uses its own configuration and doesn't allow a fallback to the configuration defined in the settings. Therefore the misleading text is removed. Resolves: #97161 Releases: main, 12.4 Change-Id: If569c0ee75fd58ed2e069387776e9c15f7b41d18 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84833 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Jonathan Kieling authored
the array of translation files was not sorted by key descending. Resolves: #95212 Releases: main, 12.4 Change-Id: Ieb9d98af33cbe0d1a5ef34cb2993a247d0821031 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84832 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- Jun 20, 2024
-
-
Garvin Hicking authored
The `PackageArtifactBuilder` takes care of publishing `Resources/Public/...` directories of installed TYPO3 extensions into the public directory. In case this publishing fails, now a warning message is presented, so that action can be taken. Now also an info message is shown, when an extension does not have a Resources/Public directory. This message is only shown with increased verbosity, since this can be intentionally like so. Further cleanup is preformed and code that does not apply any more since composer installers v5 is required, is removed. Last but not least, asset publishing is now decoupled into a dedicated method, that receives installed packages as input and returns resulting messages as output. Future refactoring of the publishing code into a distinct class is kept for a future change. Resolves: #103898 Releases: main, 12.4 Change-Id: I6636a024490a0cb3c5e77f6f935f63094035d489 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84759 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Christian Weiske authored
When a scheduler task throws an exception, an error is logged. The log message does not tell us the reason for the failure: > Task failed to execute successfully. > Class: TYPO3\CMS\Scheduler\Task\ExecuteSchedulableCommandTask, UID: 2 Up to TYPO3 v10, this message did include more information: > Task failed to execute successfully. > Class: TYPO3\CMS\Scheduler\Task\ExecuteSchedulableCommandTask, UID: 2, > Code: 56, OpenSSL SSL_read: Connection reset by peer, errno 104 This behavior was changed (probably unintentional) with patch "[BUGFIX] Make logger usage PSR-3 compliant" https://review.typo3.org/c/Packages/TYPO3.CMS/+/69425 Besides the task class and UID, the log message now contains the exception code, message, file and line. Example: > Task failed to execute successfully. > Class: TYPO3\CMS\Scheduler\Task\ExecuteSchedulableCommandTask, UID: 6, > Code: 500, "FailTask fail message" > in /var/www/typo3/vendor/[...]/Classes/Command/FailTask.php#19 Resolves: #103799 Related: #94356 Releases: main, 12.4 Change-Id: I179f059e551966944288b6fda6f2a26a4daace3b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84807 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com>
-
Christian Kuhn authored
phpunit 11.2.5 comes with further memory consumption improvements that obsolete some hacks we've had in typo3/testing-framework. Raise both. > composer req --dev phpunit/phpunit:^10.5.24 > composer req --dev typo3/testing-framework:^8.1.0 Resolves: #104164 Releases: main, 12.4 Change-Id: Ib1c9d55833f7a950f98e2f902f8864eae289a6c1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84801 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Georg Ringer authored
The CategoryCollection might be called without an existing category uid which must not lead to an exception to notices. Resolves: #99989 Releases: main, 12.4 Change-Id: I6c0bb34d9f5b460f73b8c2933994d94b54d8f01f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84802 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Mathias Brodala authored
Releases: main, 12.4 Resolves: #103984 Change-Id: I8c105e3c3cdb37991e91015d8929d022224d8dea Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84799 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Jasmina Ließmann authored
If a user does not have access to the module or no page is selected when using the module, a corresponding info box will now be displayed. Resolves: #104148 Releases: main, 12.4 Change-Id: I3603063ce84f3db8ce5dae508df3b44f59fa94a2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84758 Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Georg Ringer authored
If the permissions are already ok, better return an OK FlashMessage instead of throwing an exception. Resolves: #103728 Releases: main, 12.4 Change-Id: I280b1de894dcb78bc222ff1f585ff37627408e5c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84796 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Georg Ringer authored
As twitter has been renamed to X, the labels in the page settings are adopted too. As the meta tags itself are still using twitter, also the database fields keep their name. Resolves: #103224 Releases: main, 12.4 Change-Id: I1cf5d5f3a0fd64ba1a3402f88b9e460c32ab4ead Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84797 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Georg Ringer authored
As the editor doesn't know anything about the name "colPos" the text is changed. Resolves: #99014 Releases: main, 12.4 Change-Id: I758f53896b3a16f8d8b9ac94c9290ac9cebf9d21 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84795 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Georg Ringer authored
Implement what is already commented by removing all restrictions when comparing given username with all existing usernames. Even the username of a deleted or disabled user must not be reused. Resolves: #100729 Releases: main, 12.4 Change-Id: I85c314b2c4f6c8539e344e64371c631f29ab9db0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84794 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- Jun 19, 2024
-
-
Sascha Egerer authored
The ContentObjectRenderer catches \Exception's that occur during the rendering of a content element. However, since PHP 7, there is a \TypeError exception that occurs, for example, if the given type does not match the declared type. Because \TypeError is not a subtype of \Exception, these errors are not caught in the production context, and instead of not rendering a single content element, the whole page is not rendered. Since all types of \Throwable are essentially errors that will interrupt the rendering process, the catch block must accommodate all of these, not just implementations of \Exception. Resolves: #102044 Releases: main, 12.4, 11.5 Change-Id: If6218f013caf21d7fcd2c0d0d5b6b51c3bf9963e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84756 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jun 18, 2024
-
-
Daniel Gohlke authored
The configuration top.TYPO3.settings.ShowItem.moduleUrl must be set so that info-window.js can use it to load the content for the modal. Resolves: #104147 Resolves: #99467 Resolves: #99695 Releases: main, 12.4, 11.5 Change-Id: I9dcf4e04e6c87a965ddfa6d2f3044cd74759a530 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84754 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
When using the "columnsOnly" mode to render just a subset of available fields of a record, while the subset includes a field of TCA type "slug", FormEngine needs to also render configured generator fields. Otherwise the slug fields won't work as expected, e.g. when recalculating. However, since it might be confusing for an editor to get fields rendered, which were not selected, are those fields now rendered as hidden fields. This is done by adding those fields to a hidden palette while omitting duplicates and performing sanitization. Resolves: #104115 Releases: main, 12.4 Change-Id: Ia31571bae9913028e81df910462d76dc4314644c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84775 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benjamin Franzke authored
Improve document-service responsiveness by relying on `DOMContentLoaded` and `document.readyState` >= `interactive`. 1) Handle non-loading state as "ready" to avoid waiting for `complete`. `document.readyState` has three states: * `loading` The document is still loading. * `interactive` The document has finished loading and the document has been parsed but sub-resources such as scripts, images, stylesheets and frames are still loading. The state indicates that the DOMContentLoaded event is about to fire. * `complete` The document and all sub-resources have finished loading. The state indicates that the load event is about to fire. If DocumentService.ready was called in "interactive" state we have been skipping this state as we only considered `complete` to be the "ready" state in this case. This is wrong as we actually wait for the DOMContentLoaded if we are launched in the initial readyState (`loading`), that means an initial `interactive` must be understood as: `DOMContentLoaded` has already been fired as state is `interactive` We should actually avoid waiting for `complete` entirely, as document readyState `interactive` means "ready" in terms of document parsing. We're not interested in images or async scripts that are still loading and want event listeners to be registered as early as possible. With this improvement applied we can also drop the (now) unneeded `load` event-listener, as we are no longer skipping interactive state (this made the `load`-listener necessary previously). Note that the `load` workaround was previously needed for IE<=10 as those versions set `document.readyState` to `interactive` prior to the `DOMContentLoaded` event. This applied workaround becomes a race condition once `load` never happens and that is the case with a recent google chrome regression which causes iframe documents to never "complete": https://issues.chromium.org/issues/347724924 2) Drop the timeout logic. It is no longer needed now that we only need to wait for `DOMContentLoaded` – which will always fire (or already fired) – instead of the `load` event. 3) Avoid creation of new promises for every invocation of the ready-method. A promise can be reused without side effects by multiple consumers. This avoids creating a lot of event listeners (and previously timers). 4) Remove unneeded document and window references. Releases: main, 12.4, 11.5 Resolves: #104135 Related: #104139 Change-Id: I42c86961405f8a5c346c17ea429a288a85d58f8a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84753 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Benni Mack authored
Resolves: #103212 Releases: main, 12.4 Change-Id: If285a5cb1bb418ef7671ca6894827a059e5c1cb7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84773 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Georg Ringer authored
The backend layout wizard now uses a working example by using an existing icon. Resolves: #91910 Releases: main, 12.4 Change-Id: If6df3bd73d1ff6dc1a7a3e71cadf2e89b1a18bd5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84752 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Christian Kuhn authored
Argument passing using `--` works well. It's time to remove the previous `-e` solution. Resolves: #104137 Related: #104131 Related: #102769 Releases: main, 12.4, 11.5 Change-Id: I99577a24dda77c4c96813f8ca14c2a27bdf7f2de Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84746 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Stefan Bürk authored
This change requires PHPStan on the current newest version. Note: In v12 the phpstan baseline is regenerated to adopt for changed reporting behaviour. Used command(s): composer req --dev "phpstan/phpstan":"^1.11.5" Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #104136 Releases: main, 12.4 Change-Id: I7f88c4c3942e22e1536e12a883411f66a3eee3ad Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84744 Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com>
-
Georg Ringer authored
Cast the value to strings before using strcasecmp for sorting. This allows to use integers for sorting the array. Resolves: #102573 Releases: main, 12.4 Change-Id: I2dea688e6e5a24e7292a1fede2ca294f8bbd3347 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84651 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Christian Kuhn authored
Inline the 'random seed' option for -s unitRandom, replay a specific seed using: > runTests.sh -s unitRandom -- --random-order-seed=<number> Resolves: #104131 Releases: main, 12.4, 11.5 Change-Id: I84e1cc0a0c57a5132a592a140d1b58ceb6d3b059 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84736 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Jun 17, 2024
-
-
Garvin Hicking authored
Once the ExtensionScanner hits a '@extensionScannerIgnoreLine' annotated code line, it internally sets a flag that is never reset. That causes all following lines to be ignored, not just one. This patch will reset the property `$isCurrentLineIgnored` to `false` again, once the annotated line has passed. Tests are adapted to verify this behaviour. Due to the behavioral change it is possible that the scanner now finds more hits in third-party scanned extensions that previously may have been ignored. Resolves: #100702 Releases: main, 12.4 Change-Id: Ib1cbb5e7758e7e302e4395d759e8585eeff15d8e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84733 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-