TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692018-02-17T13:50:16ZTYPO3 Forge
Redmine TYPO3 Core - Task #83951 (Closed): Decouple Bootstrap and Application initializationhttp://forge.typo3.org/issues/839512018-02-17T13:50:16ZBenjamin Franzkeben@bnf.dev
<p>In order to support full-application subrequests (later on),<br />bootstraping, application initialization and application execution<br />should be decoupled.</p>
<p>To be able to initialize a frontend Application in backend<br />Application context, the frontend Application should not re-execute<br />bootstraping code.</p>
That means:
<ul>
<li>Bootstrap should be limited to bootstrapping (oh wonder!)<br /> => setting up global services/whatever, not more.</li>
<li>A Container (PSR-11) performs initialization<br /> => e.g. `new Frontend/Http/Application()`</li>
<li>Application performs execution<br /> => checking possible (application specifc redirects)<br /> => offloading work to the request handler</li>
</ul> TYPO3 Core - Bug #83946 (Closed): Content-Type for some backend ajax routes and eID scripts broke...http://forge.typo3.org/issues/839462018-02-16T21:06:04ZBenjamin Franzkeben@bnf.dev
<p><a class="external" href="https://review.typo3.org/c/55754">https://review.typo3.org/c/55754</a> refactored all PSR-7<br />related controllers to remove an own response.</p>
<p>Missing is the fact that ajax routes used a<br />pre-generated response with application/json<br />Content-Type header.<br />eID scripts did not use a pre-generated header<br />at all.</p> TYPO3 Core - Task #83869 (Closed): Remove request type specific code in Bootstraphttp://forge.typo3.org/issues/838692018-02-13T00:26:02ZBenjamin Franzkeben@bnf.devTYPO3 Core - Bug #83867 (Closed): ProductionExceptionHandler: assumes TSFE is always availablehttp://forge.typo3.org/issues/838672018-02-12T21:56:06ZBenjamin Franzkeben@bnf.dev
<p>Uncaught Error: Call to a member function isBackendUserLoggedIn() on null<br />in […]/typo3/sysext/core/Classes/Error/ProductionExceptionHandler.php:103</p> TYPO3 Core - Task #83864 (Closed): Directly wire Application and RequestHandlerhttp://forge.typo3.org/issues/838642018-02-12T19:09:43ZBenjamin Franzkeben@bnf.dev
<p>Bootstrap should not contain application specific code (HTTP vs CLI). The Application should handle their request handlers themselves.</p> TYPO3 Core - Bug #83854 (Closed): EidHandler triggers an exception when an eID script returns nullhttp://forge.typo3.org/issues/838542018-02-12T09:56:05ZBenjamin Franzkeben@bnf.dev
<p>A null return value returned by a eID script needs to be converted to NullResponse.</p>
<pre>
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Return value of TYPO3\CMS\Frontend\Middleware\EidHandler::process() must implement interface Psr\Http\Message\ResponseInterface, null returned | TypeError thrown in file […]/typo3/sysext/frontend/Classes/Middleware/EidHandler.php in line 66. Requested URL: http://127.0.0.1:3002/index.php?eID=dumpFile&t=f&f=1&token=38b5b8024d5652bc59ce83ed943fec71def7d417
</pre> TYPO3 Core - Task #83831 (Closed): Make extension scanner aware of the deprecated EidRequestHandlerhttp://forge.typo3.org/issues/838312018-02-09T15:23:59ZBenjamin Franzkeben@bnf.dev
<p>The EidRequestHandler was replaced by a EidHandler middleware.<br />Extensionscanner support for the deprecated class should be added.</p> TYPO3 Core - Task #83803 (Closed): Rewrite eID handling as PSR-15 middlewarehttp://forge.typo3.org/issues/838032018-02-07T22:48:00ZBenjamin Franzkeben@bnf.devTYPO3 Core - Bug #83802 (Closed): Timetracker and pre-process middleware ordering is incorrecthttp://forge.typo3.org/issues/838022018-02-07T21:59:57ZBenjamin Franzkeben@bnf.dev
<p>The middlware's introduced in <a class="external" href="https://review.typo3.org/c/55537/">https://review.typo3.org/c/55537/</a> did not preserve the sequence as used before.</p>
<p>timetracker has been marked to be executed after the preprocessing:</p>
<pre>
'typo3/cms-frontend/timetracker' => [
'target' => \TYPO3\CMS\Frontend\Middleware\TimeTrackerInitialization::class,
'after' => [
'typo3/cms-frontend/preprocessing'
]
]
</pre>
<p>'timetracker' needs to be executed first, then the request 'preprocessing', as done before the mentioned change:</p>
<pre>
// Starting time tracking
$configuredCookieName = trim($GLOBALS['TYPO3_CONF_VARS']['BE']['cookieName']) ?: 'be_typo_user';
/** @var TimeTracker $timeTracker */
$timeTracker = GeneralUtility::makeInstance(TimeTracker::class, ($request->getCookieParams()[$configuredCookieName] ? true : false));
$timeTracker->start();
// Hook to preprocess the current request
foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest'] ?? [] as $hookFunction) {
$hookParameters = [];
GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters);
}
</pre> TYPO3 Core - Task #83794 (Closed): External URL redirect should use PSR-7 Response objectshttp://forge.typo3.org/issues/837942018-02-06T23:47:16ZBenjamin Franzkeben@bnf.dev
<p>Instead of immediately die'ing, allow to post-process redirects in the middleware chain.</p> TYPO3 Core - Task #83727 (Closed): Reimplement EXT:redirect as PSR-15 middlewarehttp://forge.typo3.org/issues/837272018-01-29T21:17:48ZBenjamin Franzkeben@bnf.dev
<p>The redirect handling is a perfect usecase of PSR-15 middlewares.</p>
<p>Redirect handling wants to a) prevent the regular frontend rendering and b) return an own response. c) in case a no redirect matches it want's the regular RequestHandler to be invoked.</p>
<p>a) is doable by not invoking the RequestHandler a middleware gets passed by parameter<br />b) is simple by simply returning an own PSR-7 Response<br />c) is the standard case for a middleware.</p> TYPO3 Core - Task #83726 (Closed): HTTP RequestHandlers should use strict typinghttp://forge.typo3.org/issues/837262018-01-29T21:12:35ZBenjamin Franzkeben@bnf.devTYPO3 Core - Feature #83725 (Closed): Introduce PSR-15 HTTP Middleware supporthttp://forge.typo3.org/issues/837252018-01-29T21:10:04ZBenjamin Franzkeben@bnf.dev
<p>The PSR-15 middleware specification was released on 22nd of january 2018.<br />TYPO3 should support PSR-15 middlewares out-of-the box.</p>
<p>Supporting PSR-15 middlewares improves interoperability with independent libraries and would superseed ugly hooks like <code>$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest']</code> (ugly as they have not been adapted when PSR-7 Requests/Responses were introduced).</p> TYPO3 Core - Task #83724 (Closed): HTTP RequestHandlers should always return a PSR-7 ResponseInte...http://forge.typo3.org/issues/837242018-01-29T21:03:15ZBenjamin Franzkeben@bnf.dev
<p>The PSR-15 middleware interfaces [1] require that RequestHandlers always return a Response.<br />In order to support PSR-15 middleware (at some point), TYPO3 request handlers should do the same.</p>
<p>A NULL return value should rather be replaced with a PSR-7 Response that's either ignored by Core\Bootstrap or a Response with a 200 status code and an empty body.</p>
<p>[1] <a class="external" href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-15-request-handlers.md">https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-15-request-handlers.md</a></p> TYPO3 Core - Bug #79107 (Closed): Extensionmanager shows incorrect warning in composer modehttp://forge.typo3.org/issues/791072016-12-29T13:24:05ZBenjamin Franzkeben@bnf.dev
<p>The warning should be an info instead, as the warning can't be resolved besides not using composer:</p>
<blockquote><blockquote>
<p>The system is set to composer mode. Please notice that it is not possible to add an extension with the Extension Manager. You have to use composer to add further extensions to your system.</p>
</blockquote></blockquote>