TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692024-03-21T04:31:37ZTYPO3 Forge
Redmine TYPO3 Core - Bug #103444 (Resolved): YamlFileLoader has no logger instancehttp://forge.typo3.org/issues/1034442024-03-21T04:31:37ZBenjamin Franzkeben@bnf.dev
<p>Uncaught TYPO3 Exception Call to a member function error() on null<br />thrown in file /home/ben/src/TYPO3.CMS/typo3/sysext/core/Classes/Configuration/Loader/YamlFileLoader.php<br />in line 171</p> TYPO3 Core - Bug #103382 (Resolved): Context-Menu placed in invisible area when opened at bottom ...http://forge.typo3.org/issues/1033822024-03-13T09:21:55ZBenjamin Franzkeben@bnf.dev
<p><a class="external" href="https://typo3.slack.com/archives/C03AM9R17/p1710271829140209?thread_ts=1710244943.836959&cid=C03AM9R17">https://typo3.slack.com/archives/C03AM9R17/p1710271829140209?thread_ts=1710244943.836959&cid=C03AM9R17</a><br /><a class="external" href="https://typo3.slack.com/archives/C03AM9R17/p1710244943836959">https://typo3.slack.com/archives/C03AM9R17/p1710244943836959</a></p> TYPO3 Core - Bug #103296 (Resolved): Composer-Mode public resource paths are not correctly resolv...http://forge.typo3.org/issues/1032962024-03-06T10:28:44ZBenjamin Franzkeben@bnf.dev
<pre>
Refused to apply style from 'https://t3core.localhost/Build/composer/public/typo3/main?token=80d4c64f1e289e50651c299d3e3a173d58b7c763' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
</pre>
<p><img src="http://forge.typo3.org/attachments/download/38296/inline-ajax-public-resource-url-wrong-composer-mode.png" alt="" loading="lazy" /></p>
<p>Found via patchset 9 of <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/83027/9">https://review.typo3.org/c/Packages/TYPO3.CMS/+/83027/9</a><br /><a class="external" href="https://git.typo3.org/typo3/CI/cms/-/jobs/3016881">https://git.typo3.org/typo3/CI/cms/-/jobs/3016881</a></p>
<pre>
1) Inline1nCest: Disable an Inline Element which has no checkbox for disabled state
Test Acceptance/Application/FormEngine/Inline1nCest.php:disableInline1nInlineElementWithoutRenderedDisableField
Found following JavaScript errors in the browser console:
18:25:42.44 SEVERE - http://web/typo3/record/edit?token=7f59b97d48ea3fd858f2b2c1bc91542804b38b1e&edit%5Btx_styleguide_inline_1n%5D%5B1%5D=edit&returnUrl=/typo3/module/web/list?token%3De6f62f45187ab9f4523b043b9357378cf58cdf7c%26id%3D127%26table%3D%26pointer%3D1 - Refused to apply style from 'http://web/typo3/main?token=56002678c4b7605eb7a5d9d1760554f92e7bf5d1' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
Scenario Steps:
19. $I->click("button span[data...","[data-field-name...") at Acceptance/Application/FormEngine/Inline1nCest.php:172
18. $I->waitForElement("input[data-formengine-input-na...") at Acceptance/Application/FormEngine/Inline1nCest.php:169
17. $I->click("div[data-bs-togg...","[data-field-name...") at Acceptance/Application/FormEngine/Inline1nCest.php:168
16. $I->click("inline_2") at Acceptance/Application/FormEngine/Inline1nCest.php:165
15. $I->waitForText("Edit Form",3,"h1") at Acceptance/Application/FormEngine/Inline1nCest.php:44
14. $I->click("#recordlist-tx_styleguide_inline_1n a[a...") at Acceptance/Application/FormEngine/Inline1nCest.php:43
Artifacts:
Png: /builds/typo3/CI/cms/typo3/sysext/core/Tests/../../../../typo3temp/var/tests/AcceptanceReports/TYPO3.CMS.Core.Tests.Acceptance.Application.FormEngine.Inline1nCest.disableInline1nInlineElementWithoutRenderedDisableField.ci.composer.headless.fail.png
Html: /builds/typo3/CI/cms/typo3/sysext/core/Tests/../../../../typo3temp/var/tests/AcceptanceReports/TYPO3.CMS.Core.Tests.Acceptance.Application.FormEngine.Inline1nCest.disableInline1nInlineElementWithoutRenderedDisableField.ci.composer.headless.fail.html
</pre> TYPO3 Core - Bug #103294 (Resolved): Race condition in DI cache persistencehttp://forge.typo3.org/issues/1032942024-03-06T09:10:49ZBenjamin Franzkeben@bnf.dev
<p>With <a class="issue tracker-4 status-5 priority-4 priority-default closed" title="Task: Improve dependency injection container caching (Closed)" href="http://forge.typo3.org/issues/90418">#90418</a> the container cache has been excluded from the<br />regular cache-flush-pipeline.<br />Therefore flushing has been explicitly performed when writing a<br />new cache entry (with the intent to clean up old cache entries).</p>
<p>Issue is: Cleaning up the entire folder by deleting the folder means<br />a concurrent request – that is creating the same DI cache as well –<br />will fail to write the cache when the folder is (re)moved in that<br />moment.</p>
<pre>
In SimpleFileBackend.php line 232:
The temporary cache file "/var/www/html/typo3temp/var/cache/code/di/65e832cba8809119262340.temp" could not be written.
</pre> TYPO3 Core - Bug #103067 (Resolved): TCA password is autofilled when editing a user recordhttp://forge.typo3.org/issues/1030672024-02-07T09:18:25ZBenjamin Franzkeben@bnf.dev
<p><img src="http://forge.typo3.org/attachments/download/38237/tca-password-username-autocomplete.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #102994 (Resolved): typo3 setup throws exception as port is not casted to inthttp://forge.typo3.org/issues/1029942024-01-30T12:33:24ZBenjamin Franzkeben@bnf.dev
<pre>
TYPO3_DB_PORT=3306 \
TYPO3_DB_USERNAME=db \
TYPO3_DB_HOST=db \
TYPO3_DB_DBNAME=db \
TYPO3_DB_PASSWORD=db \
TYPO3_DB_DRIVER=mysqli \
TYPO3_SERVER_TYPE=other \
TYPO3_SETUP_ADMIN_EMAIL=admin@example.com \
TYPO3_SETUP_ADMIN_USERNAME=admin \
TYPO3_SETUP_ADMIN_PASSWORD='Pa$$w0rd' \
TYPO3_SETUP_CREATE_SITE="${DDEV_PRIMARY_URL}/" \
TYPO3_PROJECT_NAME="Test Install" \
vendor/bin/typo3 setup --force
Enter the database "port" [default: 3306] ? 3306
Uncaught TYPO3 Exception mysqli::real_connect(): Argument #5 ($port) must be of type ?int, string given
thrown in file /var/www/html/.build/v13/vendor/doctrine/dbal/src/Driver/Mysqli/Driver.php
in line 44
</pre> TYPO3 Core - Bug #102748 (Resolved): table wizard connected callback is not guaranteed to have ac...http://forge.typo3.org/issues/1027482024-01-04T08:27:29ZBenjamin Franzkeben@bnf.dev
<p>The <code><textarea></code> element is not guaranteed to be available, when it is rendered/delivered after the wizard element.</p> TYPO3 Core - Bug #102676 (Resolved): Sanitize embedded HTML in Installation-Wide Configuration GUIhttp://forge.typo3.org/issues/1026762023-12-15T12:31:09ZBenjamin Franzkeben@bnf.dev
<p>Input data is statically provided by EXT:core only, so there is no<br />security issue known right now. This change is a preparation to avoid<br />possible future security issues.</p> TYPO3 Core - Bug #102603 (Resolved): link-element initialization race conditionhttp://forge.typo3.org/issues/1026032023-12-05T07:55:23ZBenjamin Franzkeben@bnf.dev
<p><img src="http://forge.typo3.org/attachments/download/38151/link-browser-race-condition.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #102550 (Resolved): race condition in value-picker initialization http://forge.typo3.org/issues/1025502023-11-29T08:17:52ZBenjamin Franzkeben@bnf.dev
<p>(Custom) element children are not guaranteed to be available by the time<br />the element is added to the DOM — i.e. when the connectedCallback() is<br />triggered by the browser. That means we can not assume that value-picker<br /><select> children will always be available.</p>
<p>Note that it worked most of the times, because JavaScript modules are<br />loaded asynchronously, and thus "most of the times" execute later after<br />the DOM is rendered, but when the server is really busy, the HTML output<br />can be rendered very late, so that a connectedCallback is triggered<br />immediately when an opening tag is written to the DOM — even before the<br />childrens are attached. (Otherwise the browsers would have to delay the<br />connectedCallback's until the closing tag is rendered, but that's not<br />the case — at least not in google chrome.)</p>
<p>Error:<br /><img src="http://forge.typo3.org/attachments/download/38138/connected-callback-children.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #102520 (Resolved): UserSessionManager tries to access normalizedParams since 12...http://forge.typo3.org/issues/1025202023-11-27T07:59:44ZBenjamin Franzkeben@bnf.dev
<p>Extensions relied on the fact that `normalizedParams` was not provided until 12.4.7, so they could pass a blunt ServerRequest to <code>BackendUserAuthentication->start()</code></p>
<p>This leads to an exception with EXT:container upgrade wizards, see attachment and following link<br />See also <a class="external" href="https://github.com/b13/container/issues/460">https://github.com/b13/container/issues/460</a></p> TYPO3 Core - Bug #102243 (Under Review): RTE CKEditor5 "externalPlugins" configuration is not mig...http://forge.typo3.org/issues/1022432023-10-24T11:58:09ZBenjamin Franzkeben@bnf.dev
<p>The following CKEditor config loaded and configured the wordcount plugin in TYPO3 v11, but does not in TYPO3 v12.4.0-v12.4.7:</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">editor</span><span class="pi">:</span>
<span class="na">externalPlugins</span><span class="pi">:</span>
<span class="na">wordcount</span><span class="pi">:</span>
<span class="na">resource</span><span class="pi">:</span> <span class="s2">"</span><span class="s">EXT:rte_ckeditor/Resources/Public/JavaScript/Contrib/plugins/wordcount/plugin.js"</span>
<span class="na">maxCharCount</span><span class="pi">:</span> <span class="m">100</span>
<span class="na">maxWordCount</span><span class="pi">:</span> <span class="m">50</span>
<span class="na">showCharCount</span><span class="pi">:</span> <span class="kc">true</span>
<span class="na">showRemaining</span><span class="pi">:</span> <span class="kc">true</span>
</code></pre>
<p>Note that this was not the recommended v11 config for "internal" plugins, but it did work and was used according to Josef Glatz (who reported this).</p>
<p>Note that the equivalent "official" v11 style config works and is properly migrated:</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">editor</span><span class="pi">:</span>
<span class="na">config</span><span class="pi">:</span>
<span class="na">extraPlugins</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">wordcount</span>
<span class="na">wordcount</span><span class="pi">:</span>
<span class="na">maxCharCount</span><span class="pi">:</span> <span class="m">100</span>
<span class="na">maxWordCount</span><span class="pi">:</span> <span class="m">50</span>
<span class="na">showCharCount</span><span class="pi">:</span> <span class="kc">true</span>
<span class="na">showRemaining</span><span class="pi">:</span> <span class="kc">true</span>
</code></pre>
<p>Ideally both formats would be supported in TYPO3 v12.</p> TYPO3 Core - Bug #101684 (Under Review): <typo3-backend-icon> changed to inline element in TYPO3 v12http://forge.typo3.org/issues/1016842023-08-15T07:32:44ZBenjamin Franzkeben@bnf.dev
<p>Expect: <typo3-backend-icon> should render as in TYPO3 v11</p> TYPO3 Core - Bug #93270 (Under Review): BroadcastMessage.fromData() is not idempotenthttp://forge.typo3.org/issues/932702021-01-12T06:35:24ZBenjamin Franzkeben@bnf.dev
<p>If BroadcastMessage is recreated using <code>BroadcastMessage.fromData()</code> it does not retain the original object structure. This is because <code>BroadcastMessage.fromData()</code> nests the entrire data (which includes a <code>payload</code> property itself) into another wrapping <code>payload</code> property.</p>
<p>Given following JavaScript code (executable in a Browser console in a window of the TYPO3 Backend):</p>
<pre><code class="javascript syntaxhl" data-language="javascript"><span class="nb">window</span><span class="p">.</span><span class="nf">require</span><span class="p">([</span><span class="dl">'</span><span class="s1">TYPO3/CMS/Backend/BroadcastMessage</span><span class="dl">'</span><span class="p">],</span> <span class="p">({</span><span class="nx">BroadcastMessage</span><span class="p">})</span> <span class="o">=></span> <span class="p">{</span>
<span class="kd">const</span> <span class="nx">bm1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">BroadcastMessage</span><span class="p">(</span><span class="dl">'</span><span class="s1">component</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">eventName</span><span class="dl">'</span><span class="p">,</span> <span class="p">{</span><span class="na">foo</span><span class="p">:</span> <span class="dl">'</span><span class="s1">bar</span><span class="dl">'</span><span class="p">})</span>
<span class="c1">// Create bm2 from bm1, as if bm1 has been sent via broadcastchannel</span>
<span class="kd">const</span> <span class="nx">bm2</span> <span class="o">=</span> <span class="nx">BroadcastMessage</span><span class="p">.</span><span class="nf">fromData</span><span class="p">(</span><span class="nx">bm1</span><span class="p">)</span>
<span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">bm1</span><span class="dl">'</span><span class="p">,</span> <span class="nx">bm1</span><span class="p">.</span><span class="nx">payload</span><span class="p">)</span>
<span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">bm2</span><span class="dl">'</span><span class="p">,</span> <span class="nx">bm2</span><span class="p">.</span><span class="nx">payload</span><span class="p">)</span>
<span class="p">})</span>
</code></pre>
<p>The expected result/output is that <code>payload</code> contains the same value for both <code>BroadcastMessage</code> instances:<br /><pre>
bm1 {foo: "bar"}
bm2 {foo: "bar"}
</pre></p>
<p>While it actually is:<br /><pre>
bm1 {foo: "bar"}
bm2 {payload: {foo: "bar"}}
</pre></p>
<p><code>BroadcastMessage.fromData()</code> should be fixed to be idempotent, while keeping backwards compatibility (to existing event-subscribers) by doing the "additional" payload wrapping in <code>BroadcastMessage.createCustomEvent</code>. The "good" thing is, that BroadcastMessage isn't used directly by subscribers, it is transformed into a <code>CustomEvent</code>, therefore this can be fixed without breaking BC.</p> TYPO3 Core - Bug #91220 (Accepted): ExtensionManager dependency calculation does not take extensi...http://forge.typo3.org/issues/912202020-04-28T11:40:12ZBenjamin Franzkeben@bnf.dev
<p>When one extension depends on two extensions where both extensions depend on a third one, but with a different set of matching versions, then ExtensionManager is unable to find the common dependency version that is allowed by both extensions, because it decided for a very too early.</p>
<p>Sound very complicated in written words, therefore an example:</p>
<p>Two custom extensions: "master" and "other_ext"</p>
<p>EXT:master (allowing powermail v6-v8 and depending on `other_ext`)</p>
<pre><code>'constraints' => array(<br /> 'depends' => array(<br /> 'typo3' => '9.5.0-9.5.99',<br /> 'powermail' => '6.0.0-8.99.99',<br /> 'other_ext' => '*',<br /> ),<br /> ),<br />EXT:other_ext (allowing only powermail v6)</code></pre>
<pre><code>'constraints' => array(<br /> 'depends' => array(<br /> 'typo3' => '9.5.0-9.5.99',<br /> 'powermail' => '6.0.0-6.99.99',<br /> ),<br /> ),</code></pre>
<p>When installing "master" on 9.5 the error "powermail was requested to be downloaded in different versions (6.2.0 and 7.4.0)." will be thrown.</p>
<p>That is because the latest version of powermail is used when checking dependencies for "EXT:master" – the compatible v6 should/could be taken into account as both extensions are marked to be compatible with it and v6 itself is marked to be v9.5 compatible.</p>
<p>Note: This is <strong>not</strong> a bug that was introduced with <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/64308/">https://review.typo3.org/c/Packages/TYPO3.CMS/+/64308/</a> (that patch is fine) – it's just an additional and more complex case.</p>
<p><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Special dependencies are not checked during install of dependencies (Closed)" href="http://forge.typo3.org/issues/91179">#91179</a> is therefore related, but not the source of this bug.</p>