TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692024-02-26T11:56:46ZTYPO3 Forge
Redmine TYPO3 Core - Bug #103202 (Resolved): TODO comments in FileInterface::setContents() cut offhttp://forge.typo3.org/issues/1032022024-02-26T11:56:46ZMathias Brodalambrodala@pagemachine.de
<p>Currently <code>FileInterface::setContents()</code> looks like this:</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="cd">/**
* Replace the current file contents with the given string.
*
* @TODO : Consider to remove this function from the interface, as its
* @TODO : At the same time, it could be considered whether to make the whole
* @return $this
*/</span>
<span class="k">public</span> <span class="k">function</span> <span class="n">setContents</span><span class="p">(</span><span class="kt">string</span> <span class="nv">$contents</span><span class="p">):</span> <span class="kt">self</span><span class="p">;</span>
</code></pre>
<p>The TODO comments are cut off since the dreaded <code>[TASK] Move and Namespace (sic!) classes</code> commit. (<a class="issue tracker-4 status-5 priority-4 priority-default closed child" title="Task: Namespace switch core main patch (Closed)" href="http://forge.typo3.org/issues/40096">#40096</a>)</p>
<p>These should be restored for the time being.</p> TYPO3 Core - Bug #102083 (Resolved): Validation triggered for fields in fieldsets disabled by var...http://forge.typo3.org/issues/1020832023-10-04T10:03:41ZMathias Brodalambrodala@pagemachine.de
<p>Given fields are placed in a fieldset and that fieldset is disabled using variants. Also given that these fields have validators.</p>
<p>Now if one tries to submit the form, it is displayed again without explanation. Inspection of the validation results shows that the validators of the fields have been triggered and couldn't validate the input of the fields. These fields could not be filled by the user since they are disabled together with their fieldset.</p>
<p>Validators of fields within disabled fieldsets should be ignored.</p> TYPO3 Core - Bug #97522 (Closed): Word "new" in command "description" breaks DIhttp://forge.typo3.org/issues/975222022-04-29T16:44:01ZMathias Brodalambrodala@pagemachine.de
<p>Given a command definition like this ...</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">services</span><span class="pi">:</span>
<span class="na">_defaults</span><span class="pi">:</span>
<span class="na">autowire</span><span class="pi">:</span> <span class="kc">true</span>
<span class="na">autoconfigure</span><span class="pi">:</span> <span class="kc">true</span>
<span class="na">public</span><span class="pi">:</span> <span class="kc">false</span>
<span class="na">Acme\Foo\</span><span class="pi">:</span>
<span class="na">resource</span><span class="pi">:</span> <span class="s1">'</span><span class="s">../Classes/*'</span>
<span class="na">Acme\Foo\Command\BarCommand</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="s">console.command</span>
<span class="na">command</span><span class="pi">:</span> <span class="s">example:bar</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Build a new bar</span>
<span class="na">schedulable</span><span class="pi">:</span> <span class="kc">false</span>
<span class="na">Acme\Foo\Command\QuxCommand</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="s">console.command</span>
<span class="na">command</span><span class="pi">:</span> <span class="s">example:qux</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Do something</span>
<span class="na">schedulable</span><span class="pi">:</span> <span class="kc">false</span>
</code></pre>
<p>... you get an error like this:</p>
<pre>
[ ParseError ]
syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM), expecting '('
Exception trace:
#0 ()
var/cache/code/di/DependencyInjectionContainer_<hash>.php:<line>
...
</pre>
<p>The generated service in the DI cache file:</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="cd">/**
* Gets the public 'Acme\Foo\Command\BarCommand' shared autowired service.
*
* @return \Acme\Foo\Command\BarCommand
*/</span>
<span class="k">protected</span> <span class="k">function</span> <span class="n">getBarCommandService</span><span class="p">()</span>
<span class="p">{</span>
<span class="nv">$this</span><span class="o">-></span><span class="n">services</span><span class="p">[</span><span class="s1">'Acme\\Foo\\Command\\BarCommand'</span><span class="p">]</span> <span class="o">=</span> <span class="nv">$instance</span> <span class="o">=</span> <span class="nc">\TYPO3\CMS\Core\Utility\GeneralUtility</span><span class="o">::</span><span class="nf">makeInstanceForDi</span><span class="p">(</span><span class="nc">\Acme\Foo\Command\BarCommand</span><span class="o">::</span><span class="n">class</span><span class="p">,</span> <span class="nc">\TYPO3\CMS\Core\Utility\GeneralUtility</span><span class="o">::</span><span class="nf">makeInstanceForDi</span><span class="p">(</span><span class="nc">\Acme\Foo\Security\BarDependency</span><span class="o">::</span><span class="n">class</span><span class="p">));</span>
<span class="nv">$instance</span><span class="o">-></span><span class="nf">setName</span><span class="p">(</span><span class="s1">'example:bar'</span><span class="p">);</span>
<span class="nv">$instance</span><span class="o">-></span><span class="nf">setDescription</span><span class="p">(</span><span class="s1">'Build a \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstanceForDi(bar'</span><span class="p">);</span>
<span class="k">return</span> <span class="nv">$instance</span><span class="p">;</span>
<span class="p">}</span>
<span class="cd">/**
* Gets the public 'Acme\Foo\Command\QuxCommand' shared autowired service.
*
* @return \Acme\Foo\Command\QuxCommand
*/</span>
<span class="k">protected</span> <span class="k">function</span> <span class="n">getQuxCommandService</span><span class="p">::</span><span class="kt">class</span><span class="p">)</span>
<span class="p">{</span>
<span class="c1"># ...</span>
<span class="p">}</span>
</code></pre>
<p>This is very likely caused by the rather simple replacement here:</p>
<p><a class="external" href="https://github.com/TYPO3/typo3/blob/6f7514f51634fd98a4d4def818c3f16e28aff538/typo3/sysext/core/Classes/DependencyInjection/ContainerBuilder.php#L166">https://github.com/TYPO3/typo3/blob/6f7514f51634fd98a4d4def818c3f16e28aff538/typo3/sysext/core/Classes/DependencyInjection/ContainerBuilder.php#L166</a></p>
<pre><code class="php syntaxhl" data-language="php"><span class="nv">$code</span> <span class="o">=</span> <span class="nb">preg_replace</span><span class="p">(</span><span class="s1">'/new ([^\(\s]+)\(/'</span><span class="p">,</span> <span class="s1">'\\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstanceForDi(\\1::class, '</span><span class="p">,</span> <span class="nv">$code</span><span class="p">);</span>
</code></pre> TYPO3 Core - Bug #89720 (Closed): TypoScript import from directory loads all fileshttp://forge.typo3.org/issues/897202019-11-21T10:31:48ZMathias Brodalambrodala@pagemachine.de
<p>The "documentation of the TypoScript <code>@import</code> feature"https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/TypoScriptSyntax/Syntax/Includes.html#includes claims that importing from a directory will automatically only load <code>.typoscript</code> files in that directory:</p>
<pre>
# The filename extension can be omitted and defaults to .typoscript
@import 'EXT:myproject/Configuration/TypoScript/'
</pre>
<p>However, this is not true. If a directory is imported like this, <strong>all</strong> files in that directory are imported as TypoScript and then parsed as such, leading to various errors in the Object Browser / Template Analyzer.</p>
<p>Here <code>fileadmin/form_definitions</code> is imported and a form definition exists in this directory:</p>
<p><img src="http://forge.typo3.org/attachments/download/34716/2019-11-21_10-29.png" alt="" loading="lazy" /></p>
<p>The Template Analyzer then clearly reveals that the form definition has been imported, too:</p>
<p><img src="http://forge.typo3.org/attachments/download/34717/2019-11-21_10-30.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #87260 (Closed): Untranslated records should not be linkedhttp://forge.typo3.org/issues/872602018-12-21T14:53:04ZMathias Brodalambrodala@pagemachine.de
<p>When using the linkhandler feature to link to a record in the default language, the same link is shown on translated pages, even if the linked record was not translated. This leads to a 404 or similar error when following the link on translated pages.</p>
<p>Thus at least for dedicated record links a check should be added to ensure such a link is skipped.</p> TYPO3 Core - Bug #85459 (Closed): Unclear explanation for adding custom content elements in FSChttp://forge.typo3.org/issues/854592018-07-03T09:26:46ZMathias Brodalambrodala@pagemachine.de
<p>The explanation of how to add custom content elements in FSC is not very clear in various locations and should be reworded/extended.</p> TYPO3 Core - Bug #85320 (Rejected): Translation arguments not inserted into default valuehttp://forge.typo3.org/issues/853202018-06-20T16:37:57ZMathias Brodalambrodala@pagemachine.de
<p>Given is a form with a default value for a form element label which includes placeholders like <code>%s</code> and <a href="https://docs.typo3.org/typo3cms/extensions/form/Concepts/FrontendRendering/Index.html#form-element-translation-arguments-are-supported" class="external">translation arguments via TypoScript</a>.</p>
<p>When viewing the page with the form in English then the translation arguments are not inserted into the form element label. Instead the default value for the label is shown including placeholders.</p> TYPO3 Core - Bug #85083 (Closed): Validation error with DateTimeImmutablehttp://forge.typo3.org/issues/850832018-05-25T14:57:03ZMathias Brodalambrodala@pagemachine.de
<p>Having an object property typed as <code>\DateTimeImmutable</code> yields a validation error when using that object as Extbase controller argument:</p>
<blockquote>
<p>The given subject was not a valid DateTime. Got: 'object'</p>
</blockquote>
<p>This is caused by the <code>DateTimeValidator</code> which only checks for <code>DateTime</code> but not <code>DateTimeImmutable</code>. This should be changed to <code>DateTimeInterface</code> to cover both.</p> TYPO3 Core - Bug #81760 (Closed): Typo in label for "Recently updated pages" menu descriptionhttp://forge.typo3.org/issues/817602017-06-30T15:23:09ZMathias Brodalambrodala@pagemachine.de
<p>The description of the <strong>Recently updated pages</strong> menu currently says:</p>
<blockquote>
<p>Menu of recenlty updated pages</p>
</blockquote>
<p>This should be fixed to say <em>recently</em>.</p> TYPO3 Core - Bug #81124 (Closed): Title HTML shown for references in element informationhttp://forge.typo3.org/issues/811242017-05-03T09:26:43ZMathias Brodalambrodala@pagemachine.de
<p>If there is a reference to an element with a very long title, it is outputted like <code><span title="Original very long title">Original ...</span></code>.</p>
<p>However, HTML is escaped in the element information, thus the code is shown as is. It should be stripped in <code>ElementInformationController::makeRef()</code> just like in <code>ElementInformationController::getPageTitle()</code>.</p> TYPO3 Core - Bug #79859 (Closed): Wrong table "sys_language_overay" in Datahandler::localize()http://forge.typo3.org/issues/798592017-02-16T16:44:49ZMathias Brodalambrodala@pagemachine.de
<p>With <a class="issue tracker-4 status-5 priority-4 priority-default closed" title="Task: Remove support for transForeignTable in TCA (Closed)" href="http://forge.typo3.org/issues/78191">#78191</a> a regression was introduced by a typo for the <code>sys_language_overlay</code> table. This basically disables the localization guard for that table and can cause hard to track issues.</p> TYPO3 Core - Bug #73083 (Closed): Use API to check for "Hide default translation of page"http://forge.typo3.org/issues/730832016-02-02T17:15:33ZMathias Brodalambrodala@pagemachine.de
<p>Throughout the core the logic to handle <code>pages.l18n_cfg</code> with value <code>1</code> (Hide default translation of page) is duplicated instead of calling <code>GeneralUtility::hideIfDefaultLanguage()</code> This should be fixed.</p> TYPO3 Core - Bug #67244 (Closed): Undocumented flushing page cache by table and record tagshttp://forge.typo3.org/issues/672442015-06-02T16:25:44ZMathias Brodalambrodala@pagemachine.de
<p>Since <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Provide flushing cache by table and record tags (Closed)" href="http://forge.typo3.org/issues/46617">#46617</a> it is possible to flush page caches by changing records of custom tables simply by registering additional page cache tags like <code>tx_mytable</code> and <code>tx_mytable_42</code> through the <code>TypoScriptFrontendController</code>.</p>
<p>This feature should be documented for reasons stated in the commit message:</p>
<p><cite>As suggested in the wiki it is helpful to tag caches with a combination of<br />table and record uid to get the cache deleted when the specific record was<br />edited. But rather that each extension provides its own implementation it<br />would be better to store this simple function into the core.</cite></p> TYPO3 Core - Bug #65488 (Closed): TimeTracker not set for eID scriptshttp://forge.typo3.org/issues/654882015-03-03T15:43:45ZMathias Brodalambrodala@pagemachine.de
<p>With the recent request handler refactoring some breaking changes where introduced, among others the global TimeTracker <code>$GLOBALS['TT']</code> not being set for eID scripts anymore:</p>
<pre>
( ! ) Fatal error: Call to a member function push() on null in /var/www/typo3_src/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php on line 1206
Call Stack
# Time Memory Function Location
1 0.0719 240072 {main}( ) .../index.php:0
2 0.0790 639632 TYPO3\CMS\Core\Core\Bootstrap->run( ??? ) .../index.php:33
3 0.1116 2472944 TYPO3\CMS\Frontend\EidRequestHandler->handleRequest( ) .../Bootstrap.php:195
4 0.1249 2482888 require( '/var/www/typo3conf/ext/routing/Classes/Controller/RoutingController.php' ) .../EidRequestHandler.php:61
5 0.2003 2609712 Causal\Routing\Controller\RoutingController->dispatch( ) .../RoutingController.php:332
6 0.2108 2650536 Causal\Routing\Controller\RoutingController->initTSFE( ) .../RoutingController.php:114
7 0.8588 4934936 TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->determineId( ) .../RoutingController.php:314
</pre> TYPO3 Core - Bug #61144 (Closed): Trailing comma in arrays causes exceptionhttp://forge.typo3.org/issues/611442014-08-22T14:36:05ZMathias Brodalambrodala@pagemachine.de
<p>Given the following viewhelper invocation:</p>
<pre>
<f:render partial="Foo" arguments="{
foo: 1,
bar: 2,
}"/>
</pre>
<p>Fluid throws an exception like this due to the trailing comma:</p>
<blockquote>
<p>#1237900529: The argument "arguments" was registered with type "array", but is of type "string" in view helper "TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper"</p>
</blockquote>
<p>While the array above may not be valid in JSON, it is fully valid in JavaScript. Given the fact that the only other piece of software that chokes on this is the Internet Explorer (at least ancient versions) I'd opt for allowing this.</p>