- Dec 05, 2023
-
-
Christian Kuhn authored
TypoScriptFrontendController->fe_user is the current FrontendUserAuthentication object. It is set when constructing the instance. Since TypoScriptFrontendController is also still set as $GLOBALS['TSFE'], some extensions tend to fetch the current FE user from this global state, and sometimes even inject that into other classes like repositories. Extension felogin is a victim here: It models some state of FrontendUserAuthentication in the service object 'UserService', to then inject this into repositories and other classes. This indirection is an anti-pattern. The current Frontend user is already available either as Request attribute 'frontend.user', and a limited list of user details is also available as context aspect. The patch removes TSFE->fe_user entirely and dissolves the offending felogin class. Various other core usages are adapted as well to avoid fetching this state from TypoScriptFrontendController. Resolves: #102605 Releases: main Change-Id: Ibc33cefa2b24658406a7c0f7ce8fd80eaf7c9f3b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82089 Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Stefan Bürk authored
Albeit creating a index for json-field array values is not supported by MariaDB and SQLite, the MySQL server version is raised to `8.0.17` which adds support for a multi-value index. Even if there is no ETA when `MariaDB` will introduce a similar feature, this allows to add a "json" based caching backend as a 3rd party extension for MySQL DBMS, but have the minimal version ensured. Resolves: #102594 Related: #102518 Releases: main Change-Id: I34a5688561b6e84b55f4c19f6abfe7dbf4619172 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82078 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
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 disolve 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/+/80732 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
This change most notably modifies EXT:workspaces where various places do not throw a custom exception anymore due to strict typing in PHP. In addition, the language file "locallang_mod_user_ws.xlf" has been removed, as it did not contain any useful labels anymore, and were part of the "old" (pre-ExtJS) module. In order to improve code readability, some methods have been changed or renamed, or legacy comments have been removed. Constants for internal stages are now used everywhere. Resolves: #102568 Releases: main Change-Id: I30c78c4310c7dfb47f72eb212ef006f2ef937507 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82049 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Oliver Bartsch <bo@cedev.de>
-
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/+/82082 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org>
-
- Dec 04, 2023
-
-
Christian Kuhn authored
Property applicationData of TypoScriptFrontendController is unfortunate: It is meant as an extension place to park and communicate state using the just so convenient global $GLOBALS['TSFE'] object. Such things should of course be modeled differently, for instance by adding own PSR-7 request attributes using a custom middleware, or by firing own events for other extensions to listen on. In order to continue with our works on TSFE, the patch removes that property. The single use of that property in is ext:indexed_search: It is used in combination with the crawler extension to "force indexing". indexed_search now dispatches a proper event instead. Resolves: #102600 Releases: main Change-Id: I2fdcbee8c196761670245cd90cb99414fc9beea7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82085 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
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/+/81164 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benni Mack authored
This change adapts DataHandler->doesBranchExist to work with an array instead of a stringlist and the magic "-1" value. In addition, related internal methods also now use proper PHP native types. Resolves: #102563 Releases: main Change-Id: Ic44b1bde0e771c798d0512a518a0293e4ded6209 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82009 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> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
Oliver Bartsch authored
This introduces a new PSR-14 event, enabling extension authors to modify the ContentObjectRenderer instance, after it has been initialized. This replaces the previously available hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['postInit'] which is therefore now removed. The hook required implementations to implement the `ContentObjectPostInitHookInterface`, which is now deprecated as it's unused due to the hook removal. Resolves: #102581 Releases: main Change-Id: I86501b61029d69e05703593af3903ae9d7851ea0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82063 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Oliver Bartsch authored
The `EditController` uses DI since #102213 and must therefore be declared public, which is done by setting the corresponding `#[Controller]` attribute. Resolves: #102597 Related: #102213 Releases: main Change-Id: I65071ffd0d7318421515a2b0f52717b20721146b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82081 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
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/+/82057 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
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/+/82079 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
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/+/82065 Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
- Dec 03, 2023
-
-
Torben Hansen authored
Currently, the variables `receiverName`, `url` and `validUntil` are available in the template of the password recovery email. If more user related data is required in the recovery email, integrators have to use the PSR-14 event `SendRecoveryEmailEvent` to add additional variables to the email object. To simplify customization of the password recovery email for frontend users, this patch adds the new variable `userData` to the FluidEmail object, which contains all userdata of the affected frontend user. Resolves: #100268 Releases: main Signed-off-by:
Torben Hansen <derhansen@gmail.com> Change-Id: I032f775e01003a5a276f8e2d0310925ea1592dc7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81605 Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
Internal TypoScriptFrontendController->clearPageCacheContent() is removed without further notice. Resolves: #102591 Releases: main Change-Id: Ie626893b49fb260d4814abeb01d8125b66c7eba6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82075 Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Christian Kuhn authored
TypoScriptFrontendController->no_cacheBeforePageGen is a flag used by generatePage_preProcessing() to ensure an extension never sets no_cache=false when it has been set to true before since this would lead to broken cache handling: FE Caching must never be enabled again after it has been disabled once. Upcoming patches model the cache information differently and will no longer allow re-enabling caching when it has been enabled once - at least if an extension does not do very hacky request manipulations. The patch removes this "safety net" since it collides with upcoming changes. Method and property are internal handling, but the method has unfortunately never been set @internal, which is why this patch is marked as breaking. Resolves: #102590 Releases: main Change-Id: If4abc1333c81b6bdfd361a053c67674004879ef5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82074 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de>
-
- Dec 02, 2023
-
-
Christian Kuhn authored
EXT:adminpanel class TypoScriptWaterfall sets both 'no_cache' and the typoscript context aspect 'forcedTemplateParsing' to true when the admin panel related option 'Force template parsing' is enabled. This setting is "on" by either using the admin panel FE interface (which stores settings in BE user "uc"), or using BE user UserTsConfig admPanel.override.tsdebug.forceTemplateParsing = 1. All consumers of the forcedTemplateParsing aspect property (namely in TypoScriptFrontendController) always check both 'no_cache' and 'forcedTemplateParsing', so that's duplicate information. The patch removes the 'typoscript' context aspect altogether and simplifies consumers to rely on the 'no_cache' flag only. Resolves: #102583 Releases: main Change-Id: I33599ff7c23ce48102f9473d74ae1358f343c36c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82066 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Benni Mack authored
Resolves: #102576 Releases: main Change-Id: I5c24e0e794c224ed28c1f04a8d93d678460aed7a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82056 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
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/+/82067 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
core-ci <typo3@b13.com>
-
- 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/+/81679 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Jochen Roth <rothjochen@gmail.com>
-
Oliver Bartsch authored
Due to the removal of jQuery in #102418, the corresponding event listener functions receive the actual target element as second argument. Instead on trying to fetch the target from the event, we now use the passed element directly. Resolves: #102566 Releases: main Change-Id: I57df12c78c0a7bd4c43272b013b184a7405caa64 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82059 Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Jochen Roth <rothjochen@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen Roth <rothjochen@gmail.com>
-
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/+/82052 Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
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/+/82048 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
-
Benni Mack authored
When PHP 8.0 support was added, a lot of places received extra checks with the $conf ?? []. PHPStan complained about this now, as methods already have native PHP types added now, and the check is not needed anymore, so it can be simplified A few other places did not receive proper PHPdoc annotations which has been fixed as well. In addition, some str_ends_with calls are migrated. Resolves: #102528 Releases: main Change-Id: I031d677473d4e9601fbf9d7c90214c311cfea863 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81975 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:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
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/+/81993 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
- Nov 30, 2023
-
-
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/+/81930 Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com>
-
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/+/81840 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Tested-by:
Sascha Nowak <sascha.nowak@netlogix.de> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Sascha Nowak <sascha.nowak@netlogix.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
Internal property TypoScriptFrontendController->pSetup contains the TypoScript PAGE TS array of the current type/typeNum. FE RequestHandler uses this, but it can be derived directly from the current type in Request attribute 'routing' combined with a TS array lookup in Request attribute 'controller.typoscript'. The patch avoids and removes TSFE->pSetup which resolves a spaghetti dependency from TypoScriptFrontendController up into RequestHandler. Main method processHtmlBasedRenderingSettings() is streamlined carefully along the way. Resolves: #102562 Releases: main Change-Id: I67970ad68e1a3b5fdc5c578d26d430fd61727d4d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82047 Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> 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>
-
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/+/82038 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:
Garvin Hicking <gh@faktor-e.de> Tested-by:
Andreas Kalkhoff <a.kalkhoff@trisinus.de> Reviewed-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com>
-
- 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/+/82039 Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
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/+/81749 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> Reviewed-by:
Thomas Hohn <tho@gyldendal.dk>
-
Oliver Bartsch authored
Due to the removed fallback to $GLOBALS['TYPO3_REQUEST'] in #102513, it's required to properly set a request object to a configuration manager instance. This is now done in FormPersistenceManager, which previously just set a fake request to the global variable but did not use the setRequest() method. Resolves: #102558 Related: #102513 Releases: main Change-Id: I5347e70feb11b192ad5d7829d48f412f27f79bd3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82040 Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Mathias Brodala authored
Resolves: #102077 Releases: main Change-Id: I6c5428f97e35807dbb22db0e4d862b62ab7c84cf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81307 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Andreas Kienast authored
Historically, FlexForms store their section collapsing state within the flex structure in the database, having the impact that the state is reflected to every backend user. The internal `_TOGGLE` field is removed from any handling, the collapse state is now stored in backend user's localStorage. Resolves: #102551 Releases: main Change-Id: I3fdb7a5434c8769edda2ba86d53177cdc5a6621e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81997 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
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/+/81978 Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Simon Praetorius authored
Fluid now provides a ScopedVariableProvider to make sure that ViewHelpers that provide variables to child nodes don't change global variable state. With this patch, the new ScopedVariableProvider from Fluid Standalone is used in Core ViewHelpers as well. Resolves #102481 Releases: main Change-Id: Iaf887208c3f5be07492834734226f0d3c79eebca Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81918 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Simon Praetorius <simon@praetorius.me> Tested-by:
Simon Praetorius <simon@praetorius.me> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
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/+/82034 Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Kienast <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com>
-
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/+/82037 Tested-by:
core-ci <typo3@b13.com> 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:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Andreas Kienast <a.fernandez@scripting-base.de>
-
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/+/81891 Reviewed-by:
Garvin Hicking <gh@faktor-e.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Garvin Hicking <gh@faktor-e.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Achim Fritz authored
The return value of HtmlentitiesDecodeViewHelper can be null e.g. {foo -> f:format.htmlentitiesDecode()} with foo might be undefined Resolves: #102553 Releases: main, 12.4 Change-Id: I41fa1917f23a40a742e1ebc27ef37d6fee0bd858 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82033 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-