TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692024-03-26T08:54:11ZTYPO3 Forge
Redmine TYPO3 Core - Task #103485 (Under Review): Provide lib.parseFunc via ext:frontendhttp://forge.typo3.org/issues/1034852024-03-26T08:54:11ZBenjamin Franzkeben@bnf.devTYPO3 Core - Feature #103437 (Under Review): Site Profiles that ship Settings, TypoScript, TSConf...http://forge.typo3.org/issues/1034372024-03-20T14:16:04ZBenjamin Franzkeben@bnf.dev
<p>From <a class="external" href="https://forge.typo3.org/issues/103034">https://forge.typo3.org/issues/103034</a></p>
<blockquote>
<p>Site Settings, it is a must-have to include site setting presets from extensions and to override them.</p>
</blockquote> TYPO3 Core - Task #103075 (New): Use full module paths in navigationComponenthttp://forge.typo3.org/issues/1030752024-02-07T14:15:39ZBenjamin Franzkeben@bnf.dev
<p>see <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/81411/93#message-147d54d2d072d7baab287befc7c81a35c131c53e">https://review.typo3.org/c/Packages/TYPO3.CMS/+/81411/93#message-147d54d2d072d7baab287befc7c81a35c131c53e</a></p> TYPO3 Core - Task #102560 (Under Review): Enable TypeScript strictNullCheckshttp://forge.typo3.org/issues/1025602023-11-30T08:28:25ZBenjamin Franzkeben@bnf.dev
<p>This is to avoid bugs like <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Backend Login Screen shows JS Error (Closed)" href="http://forge.typo3.org/issues/91913">#91913</a> or <a class="issue tracker-1 status-3 priority-4 priority-default closed" title="Bug: Page TSConfig crashes browser with T3Editor extension enabled (Resolved)" href="http://forge.typo3.org/issues/101893">#101893</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 - Story #101906 (Under Review): CKEditor5 missing pluginshttp://forge.typo3.org/issues/1019062023-09-13T06:46:57ZBenjamin Franzkeben@bnf.dev
<p>CKEditor Plugins that where shipped in TYPO3 v11, but miss in TYPO3 v12</p> TYPO3 Core - Story #101904 (Accepted): CKEditor5 UIhttp://forge.typo3.org/issues/1019042023-09-13T03:56:05ZBenjamin Franzkeben@bnf.dev
<p>Tracker for UI related CKEditor5 bugs or tasks.</p> TYPO3 Core - Task #101694 (Under Review): Streamline top frame detectionhttp://forge.typo3.org/issues/1016942023-08-16T05:31:25ZBenjamin Franzkeben@bnf.devTYPO3 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 - Task #101297 (Under Review): Render JavaScript modules as script tag if possiblehttp://forge.typo3.org/issues/1012972023-07-10T04:45:43ZBenjamin Franzkeben@bnf.dev
<p>Write something like<br /><pre>
<script type="module" src="/typo3/sysext/backend/Resources/Public/JavaScript/global-event-handler.js?bust=1688766145"></script>
</pre></p>
<p>instead of <br /><pre>
<script src="/typo3/sysext/core/Resources/Public/JavaScript/java-script-item-handler.js?1688764611">/* [{"type": "javaScriptModuleInstruction…
</pre></p>
<p>if possible as fastpath for fast native module loading.</p> TYPO3 Core - Task #98481 (Under Review): Hash package version into public resource pathshttp://forge.typo3.org/issues/984812022-09-30T12:43:24ZBenjamin Franzkeben@bnf.dev
<p>This applies to installations in TYPO3 composer mode using<br />typo3/cms-composer-installers v4 where TYPO3 extensions<br />are stored in vendor/ and their public resources as linked<br />to public/_assets/.</p>
<p>The symlink name in public/_assets/ should be extended to be not<br />just a hash of the relative path to the vendor folder, but also<br />acts as a cacheHash, by including the package version into the<br />symlink name.</p>
<p>That means an extension update of packages/extensions<br />will trigger a new symlink name.<br />This has the drawback that that names in public/_assets/ are<br />no longer predictable, but brings the benifit that this will allow<br />TYPO3 to skip modification-timstamp-lookups in<br />GeneralUtility::createVersionNumberedFilename() and to generate<br />performant JavaScript importmaps via trailing slashes<sup><a href="#fn1">1</a></sup> syntax.</p> TYPO3 Core - Epic #98287 (New): Use web components (via lit) in TYPO3 Backendhttp://forge.typo3.org/issues/982872022-09-07T18:46:15ZBenjamin Franzkeben@bnf.dev
<p>The scope of this epic is to use web components as replacement for the distribution of application logic between HTML templates and CSS/JavaScript files.</p>
<p>A side effect will often be that jQuery becomes useless/cumbersome and is implicitly superseded due do the native reactivity and scroping of web components.</p>
<p>Also see <a class="external" href="https://review.typo3.org/q/topic:lit">https://review.typo3.org/q/topic:lit</a></p> TYPO3 Core - Feature #97150 (Accepted): Support dependency injection for routing aspectshttp://forge.typo3.org/issues/971502022-03-09T07:59:12ZBenjamin Franzkeben@bnf.dev
<p>Reported by John Miller in <a class="issue tracker-1 status-6 priority-4 priority-default closed" title="Bug: GeneralUtility::makeinstance() container fetch should be allowed with or without arguments. (Rejected)" href="http://forge.typo3.org/issues/97149">#97149</a>, routing aspects do not allow dependeny injection as $settings array is passed uncondtially to aspects.</p>
<p>An <code>SettingsAwareInterface</code> should be aded that allows settings to be set via a setter method instead of the constructor arguments</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>