TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692021-08-04T12:02:12ZTYPO3 Forge
Redmine TYPO3 Core - Bug #94709 (Closed): TypeError for SQLite in DB Comparehttp://forge.typo3.org/issues/947092021-08-04T12:02:12ZDaniel Siepmanncoding@daniel-siepmann.de
<p>The following error id displayed to the user within Backend Maintenance module when doing a DB compare with sqlite database. I've an old v10 updated to current master and trying to execute db compare.<br /><pre>
(1/1) TypeError
Argument 2 passed to Doctrine\DBAL\Connection::handleExceptionDuringQuery() must be of the type string, array given, called in /home/daniels/Projects/own/website-typo3/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php on line 1524
</pre></p>
<p>The issue seems to be within <em>TYPO3\CMS\Core\Database\Schema\SchemaMigrator::migrate</em> which generates arrays instead of strings of SQL for SQLite.</p>
<pre>
$updateSuggestionsPerConnection = array_merge_recursive(
$this->getUpdateSuggestions($statements),
$this->getUpdateSuggestions($statements, true)
);
</pre><br />Contains the issue, some SQL exists in both and is combined as new array containing duplicates.
<pre>
at Doctrine\DBAL\Connection->handleExceptionDuringQuery()
in /home/daniels/Projects/own/website-typo3/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php line 1524
$result = $connection->exec($sql);
}
} catch (Throwable $e) {
$this->handleExceptionDuringQuery(
$e,
$sql,
$params,
$types
);
at Doctrine\DBAL\Connection->executeStatement()
in /home/daniels/Projects/own/website-typo3/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php line 1473
'https://github.com/doctrine/dbal/pull/4163',
'Connection::executeUpdate() is deprecated, use Connection::executeStatement() instead.'
);
return $this->executeStatement($sql, $params, $types);
}
/**
* Executes an SQL statement with the given parameters and returns the number of affected rows.
at Doctrine\DBAL\Connection->executeUpdate()
in /home/daniels/Projects/own/website-typo3/project/public/typo3/sysext/core/Classes/Database/Schema/SchemaMigrator.php line 142
$connection = $connectionPool->getConnectionByName($connectionName);
foreach ($statementsToExecute as $hash => $statement) {
try {
$connection->executeUpdate($statement);
} catch (DBALException $e) {
$result[$hash] = $e->getPrevious()->getMessage();
}
}
</pre> TYPO3 Core - Bug #94698 (Closed): LinkAnalyzerResult no longer compatible with SQLitehttp://forge.typo3.org/issues/946982021-08-03T14:29:39ZDaniel Siepmanncoding@daniel-siepmann.de
<p>The code was changed and does pass db results to further APIs.<br />Those expect integer, but doctrine still does not convert db results and just returns strings, that will break.</p>
<p>Two issues exist:</p>
<pre>
Uncaught TYPO3 Exception Argument 1 passed to TYPO3\CMS\Core\Site\SiteFinder::getSiteByPageId() must be of the type int, string given, called in /home/daniels/Projects/own/website-typo3/project/pu
blic/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php on line 257
thrown in file /home/daniels/Projects/own/website-typo3/project/public/typo3/sysext/core/Classes/Site/SiteFinder.php
in line 114
</pre>
<pre>
Uncaught TYPO3 Exception Argument 1 passed to TYPO3\CMS\Core\Site\Entity\Site::getLanguageById() must be of the type int, string given, called in /home/daniels/Projects/own/website-typo3/project/public/typo3/sysext/linkvalidator/Classes/Result/LinkAnalyzerResult.php on line 258
thrown in file /home/daniels/Projects/own/website-typo3/project/public/typo3/sysext/core/Classes/Site/Entity/Site.php
in line 241
</pre>
<p>Those will be triggered by scheduler task.</p> TYPO3 Core - Bug #94154 (Closed): TypeError for missing transOrigPointerField fieldhttp://forge.typo3.org/issues/941542021-05-18T21:07:44ZDaniel Siepmanncoding@daniel-siepmann.de
<p>A TypeError is thrown when accessing the list module with records that have a TCA entry with configured ctrl.languageField but without ctrl.transOrigPointerField.</p>
<pre>
(1/1) TypeError
Argument 1 passed to TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder::eq() must be of the type string, null given, called in /typo3/sysext/backend/Classes/Utility/BackendUtility.php on line 3207
in /typo3/sysext/core/Classes/Database/Query/Expression/ExpressionBuilder.php line 110
* @param mixed $value The value. No automatic quoting/escaping is done.
*
* @return string
*/
public function eq(string $fieldName, $value): string
{
return $this->comparison($this->connection->quoteIdentifier($fieldName), static::EQ, $value);
}
at TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder->eq()
in /typo3/sysext/backend/Classes/Utility/BackendUtility.php line 3207
->from($table)
->where(
$queryBuilder->expr()->eq(
$GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField'],
$queryBuilder->createNamedParameter($ref, \PDO::PARAM_INT)
),
$queryBuilder->expr()->neq(
$GLOBALS['TCA'][$table]['ctrl']['languageField'],
$queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
</pre>
<p>Looks like the if condition doesn't work as expected:</p>
<pre>
if ($GLOBALS['TCA'][$table]['ctrl']['languageField'] ?? null
&& $GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField'] ?? null
) {
</pre> TYPO3 Core - Bug #90770 (Closed): Show newest rss entries firsthttp://forge.typo3.org/issues/907702020-03-17T13:32:18ZDaniel Siepmanncoding@daniel-siepmann.de
<p>The RSS Widgets do not sort items.<br />In case an RSS feed provides newest entries last, they won't show up.</p>
<p>Therefore it might be an option to sort feeds by their pubDate before storing to cache.</p> TYPO3 Core - Bug #90660 (Closed): Allow creation of Widgets through API using only configurationhttp://forge.typo3.org/issues/906602020-03-06T12:25:17ZDaniel Siepmanncoding@daniel-siepmann.de
<p>It should be possible to create widgets only with configuration.<br />Therefore EXT:dashboard should deliver implementations for widgets, e.g. for an RssWidget. This can be configured from outside.<br />The idea is to not provide abstract widget classes, but concrete classes that will be instantiated multiple times with different options.</p> TYPO3 Core - Bug #90638 (Closed): Doughnout widget broken with to big legend on mobilehttp://forge.typo3.org/issues/906382020-03-04T13:46:20ZDaniel Siepmanncoding@daniel-siepmann.de
<p>See screenshot for result.</p>
<p>Richard told me there is a max height or something like that for widgets, which might be removed on mobile devices.</p> TYPO3 Core - Bug #90546 (Closed): Charts won't render from time to timehttp://forge.typo3.org/issues/905462020-02-27T07:44:55ZDaniel Siepmanncoding@daniel-siepmann.de
<p>From time to time while loading the dashboard I receive the following error in Browser Console:<br /><pre>
Error: Module name "TYPO3/CMS/Dashboard/Contrib/chartjs" has not been loaded yet for context: _
https://requirejs.org/docs/errors.html#notloaded
</pre></p>
<p>Whenever this error occurs, the charts are not rendered. I guess because the chartjs module is missing ;)</p>
<p>I've no clue yet what's causing this issue, or how to reproduce.</p>
<p>Used browser: Firefox "73.0.1 (64-bit)" on ubuntu.</p> TYPO3 Core - Bug #90454 (Closed): Don't break dashboard if widget is no longer availablehttp://forge.typo3.org/issues/904542020-02-20T22:04:12ZDaniel Siepmanncoding@daniel-siepmann.de
<p>If a PHP Class for a widget does no longer exist, the whole dashboard breaks.<br />An example would be:</p>
<pre>
( ! ) Fatal error: Class 'TYPO3\CMS\Dashboard\Widgets\AbstractDoughnutChartWidget' not found in htdocs/typo3conf/ext/styleguide/Classes/Widgets/Pages.php on line 32
</pre>
<p>This widget extends the AbstractDoughnutChartWidget, which no longer exists, as I've removed the cherry picked patch. I guess the same behaviour would happen once an extension is removed from the system, which provided a widget that was added to a dashboard.</p> TYPO3 Core - Task #86887 (New): Enable urls like `https://example.com/` and `https://example.com/...http://forge.typo3.org/issues/868872018-11-08T14:29:05ZDaniel Siepmanncoding@daniel-siepmann.de
<p>We just discussed how to configure the new URL handling within 9.5.x.</p>
<p>Our goal: Have urls like <em><a class="external" href="https://example.com/">https://example.com/</a></em> and <em><a class="external" href="https://example.com/path/to/site.html">https://example.com/path/to/site.html</a></em>, so only <em>.html</em> suffix for page type 0 if there is a path.<br /><pre>
PageTypeSuffix:
default: .html
index: ''
map:
.html: 0
type: PageType
</pre></p>
<p>I know this doesn't fit the current idea of the enhancer. The <em>index</em> is by default set to <em>index</em>, resulting in <em><a class="external" href="https://example.com/index.html">https://example.com/index.html</a></em> which I can fully understand.</p>
<p>Most websites still were configured to support the above version. I can understand that this will not work, as you can have <em>.xml: 10</em> and <em>.json: 15</em> for example. So TYPO3 does need this to be consistent. But is there a chance to add something like <em>disableSuffixForDefault: true</em>:<br /><pre>
PageTypeSuffix:
default: .html
index: ''
disableSuffixForDefault: true
map:
.html: 0
type: PageType
</pre></p>
<p>So TYPO3 will check that the default mapping will be applied, with the <em>index</em> and prevent adding anything?</p>
<p>That should solve the issue and should, hopefully, not be a big deal. If so, I'll open an issue in forge.<br />Maybe there are other solutions, but I didn't find anything else that still fits the streamlined approach.<br />Or did I oversee some approach? As there is no issue right now, we might be alone with this issue?<br />Corresponding stackoverflow entry: <a class="external" href="https://stackoverflow.com/questions/52903641/real-urls-in-typo3-9-5-0">https://stackoverflow.com/questions/52903641/real-urls-in-typo3-9-5-0</a></p> TYPO3 Core - Bug #82833 (Closed): It's not possible to replace options from FinisherVariableProvi...http://forge.typo3.org/issues/828332017-10-20T13:11:41ZDaniel Siepmanncoding@daniel-siepmann.de
<p>Currently only strings and integers are allowed. This prevents further values like floats from being used while saving to database.</p>
<p>The following implementation prevents such use case from working:<br /><pre>
if (!is_string($value) && !is_int($value)) {
$value = '{' . $match[1] . '}';
}
</pre><br /><a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/form/Classes/Domain/Finishers/AbstractFinisher.php#L208">https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/form/Classes/Domain/Finishers/AbstractFinisher.php#L208</a></p>
<p>To reproduce, register a custom finisher that will add a float and use this in another finisher like:<br /><pre>
lat:
value: '{Geocode.result.geometry.location.lng}'
</pre></p> TYPO3 Core - Bug #76662 (Rejected): Drag and Drop in Page module for new content elements ignores...http://forge.typo3.org/issues/766622016-06-16T15:14:49ZDaniel Siepmanncoding@daniel-siepmann.de
<p>Using the click version of the wizard works as expected. Using drag and drop ignores the configured default values. Instead the ctype is selected by the provided key, all other values are ignored completely.</p> TYPO3 Core - Task #75955 (Closed): Doctrine: migrate ext:tstemplate/TypoScriptTemplateModuleContr...http://forge.typo3.org/issues/759552016-04-27T21:27:15ZDaniel Siepmanncoding@daniel-siepmann.deTYPO3 Core - Bug #70391 (Closed): Update record icon on hide/unhidehttp://forge.typo3.org/issues/703912015-10-05T17:12:02ZDaniel Siepmanncoding@daniel-siepmann.de
<p>As soon as you update the hide / unhide state of a record in list view, the "action button" is updated, while the record icon is not.<br />It would be nice to also update the record item to reflect the change.</p> TYPO3 Core - Bug #55642 (Closed): Page tree filter can't filter for id or title anymore.http://forge.typo3.org/issues/556422014-02-04T09:26:24ZDaniel Siepmanncoding@daniel-siepmann.de
<p>Ernesto figured out it was <a class="external" href="https://review.typo3.org/#/c/26740/">https://review.typo3.org/#/c/26740/</a> that introduced this bug.</p> TYPO3 Core - Bug #55517 (Closed): ClassLoader not working with NullBackend for legacy classes http://forge.typo3.org/issues/555172014-01-31T14:58:05ZDaniel Siepmanncoding@daniel-siepmann.de
<p>Setting <em>cache_core</em> to <em>NullBackend</em><br /><pre>
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_core']['backend'] = '\TYPO3\CMS\Core\Cache\Backend\NullBackend';
</pre> <br />creates Fatal Errors for calls to old class names like <em>t3lib_extMgm</em>.<br />You can reproduce it e.g. with a call to the <em>t3lib_extMgm</em> class inside <em>ext_tables.php</em> of an extension.</p>
<p>This error is not catched using the <em>Install Tool</em> <em>Check for broken extensions</em> option.</p>