TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-08-24T11:06:22ZTYPO3 Forge
Redmine TYPO3 Core - Bug #101747 (Rejected): Web Components with CSS in shadowRoot are not usable in cros...http://forge.typo3.org/issues/1017472023-08-24T11:06:22ZBenjamin Franzkeben@bnf.dev
<p>As already reported in <a class="issue tracker-4 status-5 priority-4 priority-default closed" title="Task: Streamline icon elements (Closed)" href="http://forge.typo3.org/issues/100270">#100270</a> and reverted in <a class="issue tracker-4 status-5 priority-4 priority-default closed" title="Task: Reactivate usage of constructable stylesheets for icon element (Closed)" href="http://forge.typo3.org/issues/101464">#101464</a>, web Components with CSS in shadowRoot are not usable in cross frame boundaries.<br />This happens when a custom element is created within <code>window.list_frame</code> via <code>document.createElement()</code> and is then attached to another frame via <code>appendChild()</code>.<br />This mostly happens when code is written that renders web components into a Modal (which is placed in the outer frame)</p>
<p>Following exception is logged in that case.<br /><pre>
css-tag.js?bust=1692874613:6 Uncaught DOMException: Failed to set the 'adoptedStyleSheets' property on 'ShadowRoot': Sharing constructed stylesheets in multiple documents is not allowed
at S (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/css-tag.js?bust=1692874613:6:1012)
at IconElement.createRenderRoot (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/reactive-element.js?bust=1692874613:6:2898)
at IconElement.createRenderRoot (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-element/lit-element.js?bust=1692874613:6:163)
at IconElement.connectedCallback (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/reactive-element.js?bust=1692874613:6:3010)
at IconElement.connectedCallback (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-element/lit-element.js?bust=1692874613:6:478)
at R.k (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-html/lit-html.js?bust=1692874613:6:4627)
at R.$ (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-html/lit-html.js?bust=1692874613:6:4701)
at R.g (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-html/lit-html.js?bust=1692874613:6:5085)
at R._$AI (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-html/lit-html.js?bust=1692874613:6:4534)
at D (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-html/lit-html.js?bust=1692874613:6:7898)
</pre></p>
<p>This can easily reproduced via:<br /><pre><code class="javascript syntaxhl" data-language="javascript"><span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span class="p">.</span><span class="nf">appendChild</span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">list_frame</span><span class="p">.</span><span class="nb">document</span><span class="p">.</span><span class="nf">createElement</span><span class="p">(</span><span class="dl">'</span><span class="s1">typo3-backend-icon</span><span class="dl">'</span><span class="p">))</span>
</code></pre></p>
<p>Which also logs to the console:<br /><pre>
css-tag.js?bust=1692874613:6 Uncaught DOMException: Failed to set the 'adoptedStyleSheets' property on 'ShadowRoot': Sharing constructed stylesheets in multiple documents is not allowed
at S (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/css-tag.js?bust=1692874613:6:1012)
at IconElement.createRenderRoot (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/reactive-element.js?bust=1692874613:6:2898)
at IconElement.createRenderRoot (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-element/lit-element.js?bust=1692874613:6:163)
at IconElement.connectedCallback (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/@lit/reactive-element/reactive-element.js?bust=1692874613:6:3010)
at IconElement.connectedCallback (http://t3core.localhost/typo3/sysext/core/Resources/Public/JavaScript/Contrib/lit-element/lit-element.js?bust=1692874613:6:478)
at <anonymous>:1:15
</pre></p>
<p>Note that this is known in lit, but not easily fixable, as the <code>css``</code> template literaly implicitly use <code>(window).CSSStyleSheet</code></p>
<p><a class="external" href="https://github.com/lit/lit-element/issues/1139">https://github.com/lit/lit-element/issues/1139</a><br /><a class="external" href="https://github.com/lit/lit/issues/2068">https://github.com/lit/lit/issues/2068</a></p> TYPO3 Core - Task #101481 (Closed): Revert "[!!!][TASK] Add native type declarations to GU array...http://forge.typo3.org/issues/1014812023-07-29T07:42:45ZBenjamin Franzkeben@bnf.dev
<p>CI test failures were not catched properly.</p> TYPO3 Core - Bug #99590 (Closed): Accordion in image processing environment test not visiblehttp://forge.typo3.org/issues/995902023-01-18T09:09:02ZBenjamin Franzkeben@bnf.dev
<p>Current output:</p>
<p><img src="http://forge.typo3.org/attachments/download/37323/panel-missing.png" alt="" loading="lazy" /></p>
<p>Expected output:</p>
<p><img src="http://forge.typo3.org/attachments/download/37322/panel-expected.png" alt="" loading="lazy" /></p> TYPO3 Core - Task #98496 (Rejected): Remove outdated ckeditor requirejs configurationhttp://forge.typo3.org/issues/984962022-10-01T18:55:17ZBenjamin Franzkeben@bnf.dev
<p>With the migration to use plain script-loading for CKEditor v4<br />it was forgotten to remove the RequireJS configuration that was <br />intended to be removed as preparation for ES6-only mode <br />in TYPO3 core.</p> TYPO3 Core - Task #98491 (Closed): Remove outdated t3editor requirejs configurationhttp://forge.typo3.org/issues/984912022-10-01T07:38:24ZBenjamin Franzkeben@bnf.devTYPO3 Core - Task #96610 (Closed): Support FLAG_USE_TOP_WINDOW for ES6 module instructionshttp://forge.typo3.org/issues/966102022-01-21T13:30:15ZBenjamin Franzkeben@bnf.devTYPO3 Core - Task #95359 (Closed): Adapt documentation to showcase conditional service dependenci...http://forge.typo3.org/issues/953592021-09-25T12:28:29ZBenjamin Franzkeben@bnf.dev
<p>The current recommendation to use ExtensionManagementUtility::isLoaded was never officially supported from the technical point of view:<br /><a class="external" href="https://docs.typo3.org/c/typo3/cms-dashboard/master/en-us/Configuration/WidgetRegistration.html#services-php-file">https://docs.typo3.org/c/typo3/cms-dashboard/master/en-us/Configuration/WidgetRegistration.html#services-php-file</a></p>
<p>Therefore proper stateless container-builder checks via `hasDefinition()` should be encouraged instead.<br />Also see <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/71214">https://review.typo3.org/c/Packages/TYPO3.CMS/+/71214</a> for an explanation for alternatives.</p> TYPO3 Core - Task #95341 (Closed): `grunt scripts` generates double-compressed javascript fileshttp://forge.typo3.org/issues/953412021-09-24T06:20:50ZBenjamin Franzkeben@bnf.dev
<p>Execute<br /><pre>
(cd Build; node_modules/.bin/grunt build)
(cd Build; node_modules/.bin/grunt scripts)
git status
</pre></p>
<p>Output:<br /><pre>
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: typo3/sysext/adminpanel/Resources/Public/JavaScript/AdminPanel.js
modified: typo3/sysext/adminpanel/Resources/Public/JavaScript/Modules/Cache.js
modified: typo3/sysext/adminpanel/Resources/Public/JavaScript/Modules/Preview.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/ActionButton/AbstractAction.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/AjaxDataHandler.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/BackendException.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/ColorPicker.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/ContextMenu.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/ContextMenuActions.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Event/ConsumerScope.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/FlexFormSectionContainer.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/InlineControlContainer.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Container/SiteLanguageContainer.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/CategoryElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Extra/SelectBoxFilter.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/InputLinkElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/MfaInfoElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Modifier/Resizable.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/Modifier/Tabbable.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectTreeElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SlugElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/FieldWizard/LocalizationStateSelector.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/FormEngineSuggest.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/GlobalEventHandler.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Icons.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/LayoutModule/Paste.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/LiveSearch.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Localization.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Login.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/LoginRefresh.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/ModuleMenu.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/MultiStepWizard.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/NewMultiplePages.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/PageActions.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/PageTree/PageTreeElement.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Popover.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Storage/AbstractClientStorage.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Storage/Persistent.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/SvgTree.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Tabs.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/ClearCacheMenu.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/ShortcutMenu.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Toolbar/SystemInformationMenu.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Tree/DragDrop.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Tree/FileStorageBrowser.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Tree/PageBrowser.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Viewport.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Viewport/AbstractContainer.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Viewport/NavigationContainer.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Viewport/Toolbar.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Wizard.js
modified: typo3/sysext/backend/Resources/Public/JavaScript/Wizard/NewContentElement.js
modified: typo3/sysext/backend/Tests/JavaScript/NotificationTest.js
modified: typo3/sysext/core/Resources/Public/JavaScript/Ajax/AjaxRequest.js
modified: typo3/sysext/core/Resources/Public/JavaScript/Ajax/AjaxResponse.js
modified: typo3/sysext/core/Resources/Public/JavaScript/Ajax/ResponseError.js
modified: typo3/sysext/core/Tests/JavaScript/Ajax/InputTransformerTest.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/ChartInitializer.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/DashboardDelete.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/DashboardModal.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/Grid.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetContentCollector.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetRemover.js
modified: typo3/sysext/dashboard/Resources/Public/JavaScript/WidgetSelector.js
modified: typo3/sysext/extensionmanager/Resources/Public/JavaScript/Repository.js
modified: typo3/sysext/extensionmanager/Resources/Public/JavaScript/Update.js
modified: typo3/sysext/extensionmanager/Resources/Public/JavaScript/UploadForm.js
modified: typo3/sysext/filelist/Resources/Public/JavaScript/ContextMenuActions.js
modified: typo3/sysext/filelist/Resources/Public/JavaScript/FileDelete.js
modified: typo3/sysext/impexp/Resources/Public/JavaScript/ContextMenuActions.js
modified: typo3/sysext/impexp/Resources/Public/JavaScript/ImportExport.js
modified: typo3/sysext/info/Resources/Public/JavaScript/TranslationStatus.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Install.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Installer.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Module/AbstractInlineModule.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Module/AbstractInteractableModule.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Module/PasswordStrength.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Module/Settings/SystemMaintainer.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/UpgradeDocs.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Renderable/FlashMessage.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Renderable/InfoBox.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Renderable/ProgressBar.js
modified: typo3/sysext/install/Resources/Public/JavaScript/Router.js
modified: typo3/sysext/linkvalidator/Resources/Public/JavaScript/Linkvalidator.js
modified: typo3/sysext/lowlevel/Resources/Public/JavaScript/QueryGenerator.js
modified: typo3/sysext/lowlevel/Resources/Public/JavaScript/ReferenceIndex.js
modified: typo3/sysext/opendocs/Resources/Public/JavaScript/Toolbar/OpendocsMenu.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/BrowseDatabase.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/FileLinkHandler.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/LinkBrowser.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/MailLinkHandler.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/PageLinkHandler.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/RecordLinkHandler.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/RecordSearch.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/TelephoneLinkHandler.js
modified: typo3/sysext/recordlist/Resources/Public/JavaScript/UrlLinkHandler.js
modified: typo3/sysext/tstemplate/Resources/Public/JavaScript/ConstantEditor.js
modified: typo3/sysext/workspaces/Resources/Public/JavaScript/Workspaces.js
</pre></p>
<p>Expected:</p>
<p>No changed files.</p>
<p>Issue is that `grunt scripts` uses `newer:terser:typescript` while `grunt build` does not and therefore `grunt scripts` retersed all files on the first run after `grunt build` has been executed.</p> TYPO3 Core - Task #93425 (Closed): Adapt for upcoming Symfony 5.3 console.command DI properties: ...http://forge.typo3.org/issues/934252021-02-03T21:03:04ZBenjamin Franzkeben@bnf.dev
<p>See <a class="external" href="https://github.com/symfony/symfony/pull/39851">https://github.com/symfony/symfony/pull/39851</a></p>
<p>Example of new possible syntax as of symfony 5.3:</p>
<pre><code class="yaml syntaxhl" data-language="yaml"> <span class="na">TYPO3\CMS\Core\Command\ExtensionListCommand</span><span class="pi">:</span>
<span class="na">tags</span><span class="pi">:</span>
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">console.command'</span>
<span class="na">command</span><span class="pi">:</span> <span class="s1">'</span><span class="s">extension:list'</span>
<span class="na">description</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Shows</span><span class="nv"> </span><span class="s">the</span><span class="nv"> </span><span class="s">list</span><span class="nv"> </span><span class="s">of</span><span class="nv"> </span><span class="s">extensions</span><span class="nv"> </span><span class="s">available</span><span class="nv"> </span><span class="s">to</span><span class="nv"> </span><span class="s">the</span><span class="nv"> </span><span class="s">system'</span>
<span class="na">hidden</span><span class="pi">:</span> <span class="kc">false</span>
<span class="na">schedulable</span><span class="pi">:</span> <span class="kc">false</span>
</code></pre> TYPO3 Core - Bug #93045 (Closed): 500 vs 503 error handling is not consistenthttp://forge.typo3.org/issues/930452020-12-10T07:48:04ZBenjamin Franzkeben@bnf.dev
<p>For 5xx status code we have two different cases right now
* configuration errors, which need to respond with 500
* maintenance mode, which is a 503 response</p>
<p>In 10.4.10 always 500 is returned, in master and 10.4 branch currently 503. This should be streamlined.</p>
<p>Also the 500 or 503 site error handler in maintenace middleware isn't invoked as the maintenace mode middleware is executed before the site resolver middleware.</p> TYPO3 Core - Task #93007 (Closed): "Immediate" Exception should be passed through the middleware ...http://forge.typo3.org/issues/930072020-12-06T19:16:33ZBenjamin Franzkeben@bnf.dev
<p>With <a class="issue tracker-4 status-5 priority-4 priority-default closed child" title="Task: Throw PSR-7 Responses up to Application (Closed)" href="http://forge.typo3.org/issues/85812">#85812</a> an immediate response exception has been introduced.<br />It would be nice if the response is not passed all the way back to the HTTP application class,<br />but through the middleware, allowing middlewares to process immediate responses (e.g. redirects).</p> TYPO3 Core - Bug #91074 (Rejected): typo3conf/ folder is not created when using a custom app-dir ...http://forge.typo3.org/issues/910742020-04-17T01:15:10ZBenjamin Franzkeben@bnf.dev
<p>In composer mode in composer.json:</p>
<pre><code>"extra": {<br /> "typo3/cms": {<br /> "app-dir": "custom",<br /> "web-dir": "public" <br /> }<br /> },</code></pre>
<p>In this case Environment::$projectPath would be /path/to/root/custom and Environment::$publicPath would be /path/to/root/public.</p>
<p>The typo3conf folder is then generated in /path/to/root/custom/typo3conf instead of /path/to/root/public/typo3conf.</p>
<p>This is actually by accident, because "custom" and "public" have the same length.<br />Reason is the code in <a class="external" href="https://git.typo3.org/Packages/TYPO3.CMS.git/blob/9fb677f6f3b3a1cd584b9ef183b35da771d3e25d:/typo3/sysext/install/Classes/FolderStructure/DefaultFactory.php#l134">https://git.typo3.org/Packages/TYPO3.CMS.git/blob/9fb677f6f3b3a1cd584b9ef183b35da771d3e25d:/typo3/sysext/install/Classes/FolderStructure/DefaultFactory.php#l134</a><br /><pre>
$publicPath = substr(Environment::getPublicPath(), strlen(Environment::getProjectPath())+1);
</pre><br />which tries to substract the project path from the public path, while assuming that project path is an ancestor, which results in a public path <code>""</code> to be calculate.<br />The result should rather be <code>"../public"</code>.</p>
<p>We should rather generate a relative path and adapt the FolderStructur Factory to handle relative paths, include partent dots ("..").</p> TYPO3 Core - Bug #87997 (Rejected): Links to workspace overlays should not be generated without b...http://forge.typo3.org/issues/879972019-03-25T11:49:57ZBenjamin Franzkeben@bnf.dev
<p>If an editor links to a versioned page id (let's say 1011) directly (e.g. by specifying that id in header_link),<br />that link is currently generated as /index.php?id=1011 when the frontend is visited as a regular visitor (e.g. without backend/workspace context).</p>
<p>Visiting that page will fail with "page not found" (which is fine).</p>
<p>It would be expected that links wouldn't be generated at all (that means: link is empty), as for hidden/deleted pages.</p> TYPO3 Core - Task #86558 (Closed): Support PSR-15 RequestHandlerInterface's in backend routeshttp://forge.typo3.org/issues/865582018-10-03T16:44:48ZBenjamin Franzkeben@bnf.dev
<p>The backend dispatcher uses the a single-pass signature since TYPO3 v9:<br /><code>fn(ServerRequestInterface $req): ResponseInterface</code></p>
<p>That's the same signature that PSR-15 specifies for the RequestHandlerInterface.<br />We already have Invokables as single-class request handlers, and we should<br />support the standard as well.</p> TYPO3 Core - Task #84082 (Closed): A LogRecord should not rely on global state (requestId from Bo...http://forge.typo3.org/issues/840822018-02-28T15:17:33ZBenjamin Franzkeben@bnf.dev