TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-03-08T12:03:39ZTYPO3 Forge
Redmine TYPO3 Core - Bug #100121 (Resolved): Warning in TreeFormLineStreamBuilder when including TS from ...http://forge.typo3.org/issues/1001212023-03-08T12:03:39ZTymoteusz Motylewskit.motylewski@gmail.com
<p>Go to pageproperties, insert TSconfig with wrong path (correct extension, but typo in the folder name).</p>
<pre>
@import 'EXT:sitepackage/Configuration/TSConfig/Mod/NonExistingFolder/*.tsconfig'
</pre>
<p>go to "PageTSConfig" module -> "Included PageTsConfig" <br />An error will be thrown:<br /><pre>
Core: Error handler (BE): PHP Warning: scandir(/var/www/html/typo3conf/ext/sitepackage/Configuration/TSConfig/Mod/NonExistingFolder/): Failed to open directory: No such file or directory in /var/www/html/typo3/sysext/core/Classes/TypoScript/IncludeTree/TreeFromLineStreamBuilder.php line 315
</pre></p>
<p>Expected behaviour:<br />Warning is not thrown.<br />Nice to have -> some notice is shown in PageTSConfig module, or logged into TYPO3 log.</p>
<p>Most probably the same problem affects TypoScript.</p> TYPO3 Core - Bug #100115 (Resolved): Copy operator < replaces previous reference operator result ...http://forge.typo3.org/issues/1001152023-03-07T17:22:35ZTymoteusz Motylewskit.motylewski@gmail.com
<p>This is a change of behavior in TypoScript v12.</p>
<p>Given TS:</p>
<pre>
lib.prototype {
fields {
content {
fields {
header = TEXT
header {
field = header
}
}
}
}
}
lib.additionalField {
fields {
content {
fields {
enlargeImageOnClick = true
}
}
}
}
testElement =< lib.prototype
testElement < lib.additionalField
testElement {
fields {
content {
fields {
subheader = TEXT
subheader {
field = subheader
}
}
}
}
}
tt_content.testElement =< lib.prototype
tt_content.testElement < lib.additionalField
tt_content.testElement {
fields {
content {
fields {
subheader = TEXT
subheader {
field = subheader
}
}
}
}
}
</pre>
<p>In v11 it looked like:<br /><img src="http://forge.typo3.org/attachments/download/37452/clipboard-202303071819-mhee9.png" alt="" loading="lazy" /></p>
<p>In v12 it is:<br /><img src="http://forge.typo3.org/attachments/download/37453/clipboard-202303071820-nkssh.png" alt="" loading="lazy" /></p>
<p>see missing "=< lib.prototype" in v12.<br />What is also interesting. Is that neither in v11 nor in v12 there is no "=< lib.prototype" if the testElement is on the root level of TS.</p> TYPO3 Core - Bug #97508 (Closed): Update to PHPStan 1.6.3http://forge.typo3.org/issues/975082022-04-28T14:46:44ZTymoteusz Motylewskit.motylewski@gmail.comTYPO3 Core - Bug #92856 (New): "Admin Panel" naming confusinghttp://forge.typo3.org/issues/928562020-11-16T16:05:40ZTymoteusz Motylewskit.motylewski@gmail.com
<p>New TYPO3 users are confusing "Admin Panel" with TYPO3 Backend, as in many other systems (WP, Drupal, Magento,...) the "Admin Panel" (or Administration Panel) means the place we call "Backend".<br />More appropriate name would be "developer toolbar" or "debug bar" or sth similar.</p>
<p>Btw, the term "Backend" is also confusing, especialy with IT/devops, where it's used in the meaning of "upstream server".</p> TYPO3 Core - Bug #92601 (Closed): FrontendUserRepository::fetchUserInformationByEmail() must be o...http://forge.typo3.org/issues/926012020-10-19T12:24:32ZTymoteusz Motylewskit.motylewski@gmail.com
<p>in TYPO3 v9.5 the method fetchUserInformationByEmail can in some cases return bool instead of declared array.<br />This result in error like:</p>
<pre>
TypeError: Uncaught exception 'TypeError' with message
'Return value of TYPO3\CMS\FrontendLogin\Domain\Repository\FrontendUserRepository::fetchUserInformationByEmail() must be of the type array,
bool returned' in typo3/sysext/felogin/Classes/Domain/Repository/FrontendUserRepository.php:152
</pre>
<p>The problem is that the method returns directly what fetch() returns:<br />return $query->execute()->fetch(FetchMode::ASSOCIATIVE);</p>
<p>and fetch() can return false in some cases.</p> TYPO3 Core - Bug #92485 (Closed): Missing index on fe_login felogin_forgotHash - long sql requestshttp://forge.typo3.org/issues/924852020-10-05T22:01:03ZTymoteusz Motylewskit.motylewski@gmail.com
<p>Due too missing index in the fe_login felogin_forgotHash column, on big databases > 100k feusers queries to forgot password takes a long time to process.</p>
<p>An index to fe_users should be added:</p>
<p>ALTER TABLE fe_users ADD INDEX felogin_forgot_hash (felogin_forgotHash);</p>
<p>Without the index on the big db the queries take several seconds:</p>
<p>UPDATE `fe_users` SET `password` = ?, `felogin_forgotHash` = ?, `tstamp` = ? WHERE `felogin_forgotHash` = ?<br />^^3895 ms</p>
<p>SELECT * FROM `fe_users` WHERE (`felogin_forgotHash` = ?) AND ((`fe_users`.`disable` = ?) AND (`fe_users`.`starttime` <= ?) AND ((`fe_users`.`endtime` = ?) OR (`fe_users`.`endtime` > ?))) LIMIT ?<br />^^2582 ms</p>
<p>SELECT <abbr title="`uid`">COUNT</abbr> FROM `fe_users` WHERE (`felogin_forgotHash` = ?) AND ((`fe_users`.`disable` = ?) AND (`fe_users`.`starttime` <= ?) AND ((`fe_users`.`endtime` = ?) OR (`fe_users`.`endtime` > ?)))<br />^^874 ms</p> TYPO3 Core - Bug #91143 (New): Datahandler should check return value of checkStoredRecordhttp://forge.typo3.org/issues/911432020-04-20T13:39:21ZTymoteusz Motylewskit.motylewski@gmail.com
<p>In datahandler isertDB the return value of checkStoredRecord is not being checked (if it's null or array) which then results in calling</p>
<pre><code>$this->getRecordHistoryStore()->addRecord($table, $id, $newRow);</code></pre>
<p>with a wrong type (null) for $newRow.</p>
<p>This causes error like:</p>
<p>Argument 3 passed to TYPO3\CMS\Core\DataHandling\History\RecordHistoryStore::addRecord() must be of the type array, null given,</p> TYPO3 Core - Bug #91036 (Closed): Do not calculate beuser page permissions for every pagehttp://forge.typo3.org/issues/910362020-04-14T23:17:42ZTymoteusz Motylewskit.motylewski@gmail.com
<p>In the TreeController the $backendUser->check('tables_modify', 'pages') && $backendUser->checkLanguageAccess(0) is calculated for every page.</p> TYPO3 Core - Bug #91017 (Closed): 9.5 changelog show deprecated TS conditions configuration as an...http://forge.typo3.org/issues/910172020-04-14T07:41:21ZTymoteusz Motylewskit.motylewski@gmail.comTYPO3 Core - Bug #90887 (Closed): Cange name in brokenlinkrepository test to not conflict with te...http://forge.typo3.org/issues/908872020-03-30T13:58:11ZTymoteusz Motylewskit.motylewski@gmail.comTYPO3 Core - Bug #90742 (New): Interface is not blocked in Extension Manager when doing long oper...http://forge.typo3.org/issues/907422020-03-12T11:06:26ZTymoteusz Motylewskit.motylewski@gmail.com
<p>I've noticed that many new users (especially when trying TYPO3 out for the first time) they have issues and sometimes mess up the system when installing introduction package.</p>
<p>The problem is that the orange progress bar doesn't block the ui, so user<br />1) doesn't recognize that there is something going on<br />2) can click multiple times to install the same extension or to install another one when the first is still in progress.</p>
<p>The same issue applies to the extension search box, also it's hard to notice that something is loading.</p> TYPO3 Core - Bug #90635 (New): Error is thrown when using EXT:extension_name for which is install...http://forge.typo3.org/issues/906352020-03-04T11:14:06ZTymoteusz Motylewskit.motylewski@gmail.com
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<a name="Given"></a>
<h3 >Given<a href="#Given" class="wiki-anchor">¶</a></h3>
<p>- an extension e.g. yoast_seo copied to typo3conf/ext/yoast_typo3 (folder different than extension key)<br />- this extension has TYPOScript which references some file using EXT:yoast_seo syntax</p>
<a name="Result"></a>
<h3 >Result:<a href="#Result" class="wiki-anchor">¶</a></h3>
<p>- Backend is broken with "Call to a member function getPackagePath() on null" in ExtensionManagerUtility</p>
<a name="Expected"></a>
<h3 >Expected:<a href="#Expected" class="wiki-anchor">¶</a></h3>
<p>- either the file inclusion is ignored, or the path is correctly resolved (as TYPO3 can correctly translate yoast_seo to yoast_typo3 with <pre>$this->getPackageKeyFromComposerName($packageKey);</pre><br />- breaking whole system is not expected</p>
<a name="Technical-details"></a>
<h2 >Technical details:<a href="#Technical-details" class="wiki-anchor">¶</a></h2>
<p>in this setup<br />- PackageManager->isPackageActive('yoast_seo') return TRUE<br />- PackageManager->getPackageKeyFromComposerName('yoast_seo') returns 'yoast_typo3'<br />- PackageManager->isPackageRegistered('yoast_seo') returns TRUE<br />- PackageManager->isPackageAvailable('yoast_seo')returns TRUE<br />- ExtensionManagementUtility::isLoaded('yoast_seo') returns TRUE<br />- ExtensionManagementUtility::extPath('yoast_seo') throws "Call to a member function getPackagePath() on null" <br />- because PackageManager->getPackage('yoast_seo') returns null</p>
<p>Seems like the API is inconsistent here.</p>
<a name="Possible-solution"></a>
<h2 >Possible solution:<a href="#Possible-solution" class="wiki-anchor">¶</a></h2>
<p>change <br /><pre>
public function getPackage($packageKey)
{
if (!$this->isPackageRegistered($packageKey) && !$this->isPackageAvailable($packageKey)) {
throw new Exception\UnknownPackageException('Package "' . $packageKey . '" is not available. Please check if the package exists and that the package key is correct (package keys are case sensitive).', 1166546734);
}
return $this->packages[$packageKey];
}
</pre><br />to:<br /><pre>
public function getPackage($packageKey)
{
if (!$this->isPackageRegistered($packageKey) && !$this->isPackageAvailable($packageKey)) {
throw new Exception\UnknownPackageException('Package "' . $packageKey . '" is not available. Please check if the package exists and that the package key is correct (package keys are case sensitive).', 1166546734);
}
return $this->packages[$this->getPackageKeyFromComposerName($packageKey)];
}
</pre></p> TYPO3 Core - Bug #90449 (Closed): Wrong key calculation in Admin panel QueryInformationhttp://forge.typo3.org/issues/904492020-02-20T10:38:39ZTymoteusz Motylewskit.motylewski@gmail.com
<p>the line <br /><pre>
$identifier = sha1($query['sql']) . sha1(implode(',', $query['backtrace']));
</pre><br />in TYPO3\CMS\Adminpanel\Modules\Debug\QueryInformation<br />throws a notice "array to string conversion" and does not do what it should, because $query['backtrace'] is an 2 level array, so after implode the string is "Array, Array, Array" - see screenshot.</p>
<p><img src="https://forge.typo3.org/attachments/download/34878/query_info.png" alt="" /></p> TYPO3 Core - Bug #90448 (Closed): Admin panel rendering "Tree display" doesn't show icons and gui...http://forge.typo3.org/issues/904482020-02-20T10:33:12ZTymoteusz Motylewskit.motylewski@gmail.com
<p>When debugging rendering times in the admin panel, and the "Tree display" setting is enabled, the view should show icons and guidelines showing which line is a children of which parent.</p>
<p>Seems that some icon related markup is in html, but its not styled properly.</p>
<p><img src="https://forge.typo3.org/attachments/download/34877/Screenshot%20from%202020-02-20%2010-32-14.png" alt="" /></p> TYPO3 Core - Bug #90051 (New): User get stuck when translation wizard failshttp://forge.typo3.org/issues/900512020-01-03T13:33:19ZTymoteusz Motylewskit.motylewski@gmail.com
<p>If an translation wizard ajax fails (e.g. 500 timeout error), user get stuck with a spinner, and need to refresh the page to be able to work again.</p>
<p>In such cases an error message should be shown in the modal, with a button to close the modal.</p>