- Dec 12, 2023
-
-
Benni Mack authored
Change-Id: I4d979c9bdd1305a8bca8a2c36f70bc054d3d6ce3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82176 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
When an exisiting localization (sys_language_uid>0 and l10n_parent>0) shall be detached (l10n_parent=0), the processing the l10n_state value was skipped - basically since the processor assumes no adjustments would be required. The state is provided by FormEngine and is expected to be serialized to JSON again in DataMapProcessor - in this case, the modifications are just skipped as well. Resolves: #102623 Releases: main, 12.4 Change-Id: Ifb400924fbdd8dcc20b8ff15d3b870507141b612 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82170 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Benjamin Franzke authored
With #99738 the option to allow all classes has been reenabled, which implicitly caused all custom html elements to be allowed: ``` htmlSupport: allow: - { classes: true, attributes: { pattern: 'data-.+' } } ``` The rule matched to any HTML element available in the CKEditor5 General HTML Support (GHS) schema definition, including the pseudo element `'$customElement'` that acts as placeholder for custom elements, because the omitted `name` matcher implicitly acted like a match-all (`.*`) pattern. This became an issue, since `@ckeditor/ckeditor5-paste-from-office` relies on the fact, that the pasted HTML is sanitized by GHS. Namespaced tags like `<o:p>` (which the desktop version of microsoft office likes to include when using copy&paste) where now allowed. To account for this behavior we change two things: 1) We drop the default allow-list configuration that was added in v12.4.7, since the negative side effects outweighed the benefits: * All HTML Tags where implicitly allowed, which allowed any tags, even custom elements to be inserted via copy&paste or via source editor * All classes were enabled, thus custom Microsoft office classes started to pollute the HTML sources. * The configuration could not be removed/changed by an integrator since htmlSuppot.allow is an array and was therefore only appended, but never overwritten by custom RTE configurations We considered to switch to a name pattern like `[a-z]+` in our default configuration but decided against that because that'd still allow all other official HTML elements which is not good default, given that it can't be changed as described above. 2) We now restrict migrated CKEditor v4 (extra)allowedContent (e.g. `extraAllowedContent: *[*](*){*}`) match-all-elements directives (first asterisk in the example) to plain selectors in order to exclude custom or namespaced elements like `<o:p>`. We therefore migrate to a matcher pattern `[a-z]+` in order for the virtual custom-element entry `'$customElement'` to become a no-match. Integrators are actually expected to define the set of allowed classes with the CKEditor5 `style.definitions[]` configuration array. Releases: main, 12.4 Resolves: #102507 Resolves: #102522 Related: #99738 Change-Id: I904f906b7cbbdf5d5f1b3ff23d2b1c62abbcf174 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81995 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Andreas Kienast authored
This commit updates ckeditor5 to v40. See changelog at https://github.com/ckeditor/ckeditor5/releases/tag/v40.2.0. Executed commands: npm i --save \ @ckeditor/ckeditor5-alignment@^40.2.0 \ @ckeditor/ckeditor5-autoformat@^40.2.0 \ @ckeditor/ckeditor5-basic-styles@^40.2.0 \ @ckeditor/ckeditor5-block-quote@^40.2.0 \ @ckeditor/ckeditor5-clipboard@^40.2.0 \ @ckeditor/ckeditor5-code-block@^40.2.0 \ @ckeditor/ckeditor5-core@^40.2.0 \ @ckeditor/ckeditor5-editor-classic@^40.2.0 \ @ckeditor/ckeditor5-engine@^40.2.0 \ @ckeditor/ckeditor5-essentials@^40.2.0 \ @ckeditor/ckeditor5-find-and-replace@^40.2.0 \ @ckeditor/ckeditor5-heading@^40.2.0 \ @ckeditor/ckeditor5-horizontal-line@^40.2.0 \ @ckeditor/ckeditor5-html-support@^40.2.0 \ @ckeditor/ckeditor5-indent@^40.2.0 \ @ckeditor/ckeditor5-link@^40.2.0 \ @ckeditor/ckeditor5-list@^40.2.0 \ @c...
-
- Dec 11, 2023
-
-
Daniel Siepmann authored
GeneralUtility::createVersionNumberedFilename() will process the provided path. It will execute a file_exists check. The file therefore needs to be resolvable. Applying getPublicResourceWebPath() beforehand will result in a web url, which can not be resolved on file system level. We therefore remove the unnecessary getPublicResourceWebPath() call. createVersionNumberedFilename() will resolve EXT: paths anyway. That way TYPO3 can properly handle the file and add the corresponding version number if configured. Furthermore this resolves open_basedir restriction issues on configured systems. Resolves: #102619 Releases: main, 12.4 Change-Id: I22dbd2187ee302e9cc1194c0522421fafab3938a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82120 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Benjamin Franzke authored
Children of custom elements are not guaranteed to be available by the time the element is added to the DOM — i.e. when the connectedCallback() is triggered by the browser. That means we can not assume that all child elements will already be available. See #102550 for details. To circumvent this race we make use of HTML event bubbling. That means we register our event handlers on the wrapper element and will receive events that are triggered on one of the children elements. To circumvent the initialization race conditions in connectedCallback() we shift the stateful initialization to the server-side rendering. Note that we either need to render html components server or client-side in order to avoid such race conditions or nasty workarounds (like adding mutation observs and keeping track whether all elements have already been added or not). Ideally the link-element component would be rendered fully client-side at some point, but that's out of scope for now. Resolves: #102603 Related: #102550 Releases: main, 12.4 Change-Id: I54715fd671f717e4253ee41e8ac33a1ca5960eae Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82169 Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev>
-
- Dec 09, 2023
-
-
Oliver Bartsch authored
Using BackendUtility::getProcessedValue() in GridColumn to fetch a backend layout column's title is unnecessary and also leads to an undefined array key warning. The call is therefore removed. The information is always fetched using the resolved BackendLayout object. Cases like unassigned columns are handled at other places already. Resolves: #102634 Releases: main, 12.4 Change-Id: Icba87de054dd391bb3c89c0e53985e0ec876ddf6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82119 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Christian Kuhn authored
> composer req --dev phpstan/phpstan:^1.10.48 > ./Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #102637 Releases: main, 12.4 Change-Id: I2bbb5211c4a2622ab717a3c4dd0f68d18d2e17d8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82157 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 08, 2023
-
-
Oliver Bartsch authored
A couple of BackendUtility methods dealing with resolving labels do now also evaluate a configured `itemsProcFunc` to properly resolve the corresponding labels. Resolves: #100855 Resolves: #102616 Releases: main, 12.4 Change-Id: Ic4efe1cc2a68e7ee938ca994649e074ddbba0819 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82118 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
This introduces a new PHP attribute `AsController`, which serves as a drop-in replacement for the former introduced `Controller` attribute (#99055), which is now deprecated. This is done to unify the naming of our attributes. The old `Controller` attribute is still working using class alias mapping. For upwards compatibility, the #[AsController] attribute will be backported to v12 with a more slim variant of this patch. Resolves: #102631 Related: #99055 Releases: main, 12.4 Change-Id: Ib0ff0d08660a89c4a5c6c14a327542ec89095743 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82152 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
When pages use overlays, the special key "_PAGES_OVERLAY_UID" is used (PageRepository->getPageOverlay), for other pages doing overlays, the property "_LOCALIZED_UID" is used (PageRepository->getRecordOverlay). Extbase is setting the special property $_localizedUid in a Domain Model, based on the key "_LOCALIZED_UID" in the DataMapper. The Typo3DbBackend now maps the _PAGES_OVERLAY_UID onto the _LOCALIZED_UID in order to have Extbase deal with language overlays in pages as well. Resolves: #88951 Releases: main, 12.4 Change-Id: If0b462d0373cf63fcdb78b75cc0f3381c85eee8d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82117 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 07, 2023
-
-
Christian Rath-Ulrich authored
Resolves: #102532 Releases: main, 12.4 Change-Id: I18611284df9fed2ed086515c1dcbddaf4890d769 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82146 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Simon Praetorius authored
This patch adds context information to all exceptions thrown in ImageViewHelpers which helps to localize missing image files. The new exception messages include a reference to the current table and uid, e. g. "tt_content:123". The patch also applies the existing test cases of <f:image /> to <f:uri.image /> which currently has no test coverage. Releases: main, 12.4 Resolves: #102448 Change-Id: I87bae2f0a4a4ab160cbe92b039ed816b659b18e9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82143 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Hader authored
This reverts commit f49f871b. The change for issue #102606 has the potential to do more harm than good. The initial intention was to define a HTTP timeout to be lower than the PHP `max_execution_time`. Defining general HTTP `timeout` of 20 seconds now also limits e.g. long running CLI processes - which can be considered a breaking change. Resolves: #102610 Reverts: #102606 Releases: main, 12.4 Change-Id: I601051b8d52c9064800075cd0f928f236373e9ef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82140 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Thomas Hohn authored
`GeneralUtility::validEmail()` uses the package egulias/email-validator for validating emails. It treats the email `test @testmail.com` as valid, but triggers a warning that is not caught, since the syntax has only been marked as deprecated by egulias/email-validator. A check for warnings of the type CFWSNearAt will now be performed, which results in the email `test @testmail.com` being marked as invalid. Resolves: #101776 Releases: main, 12.4 Change-Id: I0808afaedfe5294b32dac68c0746fa725708f916 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82116 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 06, 2023
-
-
Benni Mack authored
"DK" stands for "Denmark", whereas "da" stands for the Danish language. We should clean our mess up once and for all. Resolves: #102607 Releases: main, 12.4 Change-Id: Ib9927691a68bfc3e031224eba93a9a760c59b27a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82113 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Patrick Schriner authored
The current highlighting for the selected clipboard mode is purely decorative and thereby impossible to use for screen readers. This adds a proper aria-checked attribute to show the current state. Resolves: #102570 Releases: main, 12.4 Change-Id: Ic3b950df50ac5be7bf8efe86ba02bce99b56cd05 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82114 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Imko Schumacher authored
The setDate function does not fire a change event by default (triggerChange=false). However, the form engine needs an event in order to update the hidden datetime field. Resolves: #102153 Releases: main, 12.4 Change-Id: I125d0e863d31de297e0902b3feac7675aa9c515d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82112 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 05, 2023
-
-
Stefan Froemken authored
To prevent infinite outgoing requests while using RequestFactory which will exceed max_execution_time limitation we reduce timeout to 20 seconds. Resolves: #102606 Releases: main, 12.4 Change-Id: I6ba432a63b6e093566f407663db13f5b4141146d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82025 Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com>
-
Benni Mack authored
Within TYPO3's LanguageAspect there are four options for doing overlays: OVERLAYS_OFF -> fetch records in a specific language directly OVERLAYS_MIXED -> fetch default records + do overlays if available OVERLAYS_ON -> fetch default records + do overlays - discard if no overlay is available OVERLAYS_ON_WITH_FLOATING -> same as OVERLAYS_ON PLUS the records that have no l10n_parent. This change enables Extbase records to also be fetched when using LanguageAspect::OVERLAYS_ON_WIITH_FLOATING as floating records are the ones that do not have a l10n_parent set ("copy mode"). Resolves: #87160 Releases: main, 12.4 Change-Id: I021efe3761efa63860eac5522af82fc20f0fe53f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82024 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
This bugfix enables the possibility to access _LOCAL_LANG values from TypoScript properly again via Extbase's LocalizationUtility, and thus for <f:translate> ViewHelpers as well again. This is what has changed under-the-hood: The TranslateViewHelper is now only a thin layer to Extbase's LocalizationUtility (as before), and only checks if a current request or Locale/languageKey is given, if a locale can be resolved. Everything else is then dispatched to the LocalizationUtility. <f:translate> is very clean now and has almost no further responsibility than to call LocalizationUtility::translate Instead of adding further LocalizationUtility magic, overriding of TypoScript is now enabled for any kind of plugin which hands in $extensionName. This is achieved by building proper Locale objects from the request which are then used to build the respective LanguageService. As it turned out after the 12.4.0 release, the "Locales" class is indeed the factory for creating a Locale, which is decoupled from the actual LanguageService (= label magic), the Locales factory receives a few create methods to make life easier for usage, which both f:translate AND LocalizationUtility receive, making their parts much smaller. Further work will dissolve the usage of the Configuration Manager of Extbase, but this won't happen in v12 anymore. Resolves: #100759 Releases: main, 12.4 Change-Id: Ifcad2ec590746e96066a96f314500bd50e9b4695 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82023 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
The table element wizard (TCA `renderType=textTable`) stores serialized table representation in a text field. Previously, the removed (see #95036) `TableController` substituted those newline characters by `<br>` tags. Since there is in general no handling of TCA render types, this conversion now happens in the corresponding LitElement. Resolves: #102572 Releases: main, 12.4 Change-Id: I12537b0d649ae28b945a2dc79baeb09a4a6135b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82022 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 04, 2023
-
-
Benni Mack authored
The PSR-14 ModifyUrlForCanonicalTagEvent was one of the first PSR-14 events to be added to TYPO3 Core, and was rather useless, as it did not contain the context to deal with creating a URl for the canonical tag. In order to make it useful, some more information is added to the Event object. This is a pre-cursor for a breaking change, for issue #99807. Resolves: #102001 Related: #99807 Releases: main, 12.4 Change-Id: Iebab3af3e9408ea82c95e1ad2cfdadc4a72c4a1d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82021 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Bartsch authored
By using named parameters a couple of unused parameters can be omitted on calling BU::thumbCode(). Resolves: #102577 Releases: main, 12.4 Change-Id: Ic53ae287aab63a083e19662e217764defb3712ff Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82020 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Benni Mack authored
Since TYPO3 v12.4, TYPO3 uses locales such as "de_DE" or "de-AT" in Site Configuration natively. In order to resolve the "locale dependencies" natively, a new Locale object needs to be created be the "Locales" factory class. This is needed to check for "de_AT.locallang.xlf" and falling back to "de.locallang.xlf" in a multi-step mode. This change adapts one place in Extbase's LocalizationUtility where a new Locale object was previously instantiated via new Locale() instead of using the "Locales" class which deals with all dependencies (incl. manually defined dependencies) directly there. A new comment is added to explain this inside the constructor of Locale. In addition, some more tests are added (including the ones that did not work before), as well as an example that it does not matter if the file is called "de-AT.locallang.xlf" (with a hyphen) or "de_CH.locallang.xlf" (with an underscore) Resolves: #102579 Related: #101710 Releases: main, 12.4 Change-Id: Id51082e75cf635bbe3cbdfc906dc2a7442ab06af Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82019 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Stefan Bürk authored
TYPO3 uses a composer package [1] to import locales along with translations and a custom script has been added to create and update included translation files. This change updates the language files with the last updates and requires the package with the current highest version as minimum. Used command(s): > composer req --dev \ "sokil/php-isocodes-db-i18n":"^4.0.17" > Build/Scripts/runTests.sh \ -s checkIsoDatabase \ -p 8.1 [1] sokil/php-isocodes-db-i18n Resolves: #102596 Releases: main, 12.4 Change-Id: I21a9e5d5215e0146d3f87aeee3b833979ba05f07 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82080 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 02, 2023
-
-
Christian Kuhn authored
Also fix one unneeded null coalescing operator usage, which was discovered with this release. > composer require --dev phpstan/phpstan:^1.10.47 Resolves: #102584 Releases: main, 12.4 Change-Id: I19876bfe33fcf05166df7e0d92696c2368b29490 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82068 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Dec 01, 2023
-
-
Patrick Schriner authored
Allow a title argument to be set in the IconViewHelper. The give title will be passed to the `Icon` object and will be rendered as title attribute in the icon HTML markup, enhancing accessibility. Resolves: #102314 Releases: main, 12.4 Change-Id: Ifbaf5961cda843054c7933025617d3d18a4887f9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82062 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Stefan Bürk authored
New `core-testing-phpXY` images has been build and released. This change update used image version to: * core-testing-php81:2.8 - php 8.1.26 (patchlevel) * core-testing-php82:1.7 - php 8.2.13 (patchlevel) * core-testing-php83:1.8 - php 8.3.0 (major) [1] https://git.typo3.org/typo3/CI/testing-infrastructure/-/commit/6ead80df3d46bf1f0c2363e8728435b2d2363fba Resolves: #102575 Releases: main, 12.4, 11.5 Change-Id: I85a8b0a97d63fea01c790fd9c7ab5d51536a21b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82053 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Andreas Kienast authored
This commit updates TypeScript to 5.3 and related packages used for JavaScript building. Executed commands: npm install --save-dev \ @typescript-eslint/eslint-plugin@^6.13.1 \ @typescript-eslint/parser@^6.13.1 \ @typescript-eslint/typescript-estree@^6.13.1 \ eslint@^8.54.0 \ eslint-plugin-lit@^1.10.1 \ eslint-plugin-wc@^2.0.4 \ typescript@^5.3.2 npm run build Updated `eslint` packages revealed issues in the `@typo3/backend/page-tree/page-tree` module that are fixed along with the updates. Resolves: #102564 Releases: main, 12.4 Change-Id: Ibd2ff74b3ea2b42511cf775a94f1725d08e4065d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82055 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com>
-
Sascha Nowak authored
When the endtime of a page is lower than the default lifetime (24h), the calculation did not respect the endtime and set the lifetime to default lifetime. This lead to cache entries with incorrect lifetimes. The upper bound of the cache lifetime is now additionally clamped to the endtime of the current page. Resolves: #102525 Related: #102422 Releases: main, 12.4 Change-Id: I5e2c48fcfd237fb0eca130aba8812224368474ce Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82017 Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Benjamin Franzke authored
(Custom) element children are not guaranteed to be available by the time the element is added to the DOM — i.e. when the connectedCallback() is triggered by the browser. That means we can not assume that value-picker <select> children will always be available. Note that it worked most of the times, because JavaScript modules are loaded asynchronously, and thus "most of the times" execute later after the DOM is rendered, but when the server is really busy, the HTML output can be rendered very late, so that a connectedCallback is triggered immediately when an opening tag is written to the DOM — even before the childrens are attached. (Otherwise the browsers would have to delay the connectedCallback's until the closing tag is rendered, but that's not the case — at least not in google chrome.) To circumvent this we use a slotchange listener (which is basically a mutation observer) to assure we are notified about async child updates. Resolves: #102550 Related: #102330 Releases: main, 12.4 Change-Id: I73179335c390f08f42f3426dcffec338f6355d61 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82018 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
- Nov 30, 2023
-
-
Benni Mack authored
This changes the behaviour of config.sendCacheHeaders = 1. When a non-cacheable option is used, the HTTP Response Headers for ensuring that a response should never be cached (that is Cache-Control: private, no-store) should be sent at any time, as it could contain sensitive information, regardless of the TypoScript option. The TypoScript option config.sendCacheHeaders is then only used to actually explicitly send the headers for a fully client-cacheable page (e.g. for a proxy), to explicitly allow the cached content to be stored for a defined amount of time. In addition, a lot of tests have been adapted to remove this option as it does not have any effect in the tests if the option is set. Resolves: #102445 Releases: main, 12.4 Change-Id: I603e73a114eb9668910484da7e9dc4e0e33e56ba Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82016 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Garvin Hicking authored
When entering the sequence "/*" into any t3editor instance (i.e. TypoScript editor in the backend), it puts the browser in an endless loop. The reason is that the method `stream.next()` declares to either return a string value or `void` (=`undefined`), but the code checks for `null`. The check is now fixed and another cases where a loose null comparison was used is adapted as well. Note that a loose null comparison between null and undefined return equality, but a strict comparison doesn't. Resolves: #101893 Related: #101803 Releases: main, 12.4 Change-Id: If1c090daf13a6d730a2e5b96d46afab171fbcde2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82046 Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
- Nov 29, 2023
-
-
Oliver Bartsch authored
The form framework adds a warning flash messages to the page module in case a page contains a form content element, having some error. In case of a generic invalid form configuration, the message now also displays the corresponding form identifier of the form configuration, containing the invalid configuration. Resolves: #102557 Releases: main, 12.4 Change-Id: I592a415692822200608f218268f1406fc33df118 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82044 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
Markus Klein authored
The ext_tables_static+adt.sql data are now re-imported, if its data changed, when setting up the extensions. This happens either from within the Extension Manager, or via the CLI command. Moreover, a legacy value, which was already taken care of in `ReloadSqlDataViewHelper`, is now respected as well. Resolves: #102376 Releases: main, 12.4 Change-Id: I67074f8b98acd0bbfc7ce03732b18f759e1d81de Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82043 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> 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>
-
Oliver Bartsch authored
Usage of ServerRequestFactory::fromGlobals() on CLI is discouraged as the request url, used to create the request is invalid, except the $_SERVER variable is adjusted beforehand. To properly inform the developer, a dedicated exception is now being thrown, if in CLI context. Resolves: #102533 Releases: main, 12.4 Change-Id: Ie84fdf9c0555eeeaf5438a2ed29acabbe2755965 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82015 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Garvin Hicking authored
The ClassMapGenerator is used in non-composer ("legacy") mode installations and builds files used for PSR-autoloading. It only parsed class|interface|trait files, but not files containing enum type definitions. Thus, the PSR-autoloading created by this classmap was not able to autoload these enum files. The underlying code had been adapted from the Composer libraries some time in the past, meanwhile that code from Composer was extracted to the package "composer/class-map-generator" and has drifted from the current TYPO3 implementation. That implementation at https://github.com/composer/class-map-generator/blob/953cc4ea32e0c31f2185549c7d216d7921f03da9/src/PhpFileParser.php#L118 supports "enum" class loading in case the PHP version matches. This patch simply also adds "enum" as a recognized identifier. Resolves: #102498 Releases: main, 12.4 Change-Id: I1b98e8ceeecd25f1512d3539e84de6c725a8e3c6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82042 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Bartsch authored
To avoid unnecessary initialization of page title providers and calling any stdWrap, an early return is added to `TSFE::generatePageTitle` for the case that `noPageTitle` is set to "2", as this means do not render the title tag at all. Resolves: #102555 Releases: main, 12.4 Change-Id: Ia879218e84db865bce11bca8c61f33c7266884b5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82014 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
Daniel Hoffmann authored
When a file or folder is rename()'ed, the name property is updated immediately. The file list controller handling a rename thus needs to park the old name in a variable to render the correct 'before' name. The patch fixes this and cleans up the class a bit. Resolves: #102478 Releases: main, 12.4 Change-Id: I438fa351febc821242c401cb208e644617f2f090 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82041 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-