Project

General

Profile

Actions

Bug #94454

closed

SelfEmittableLazyOpenStream is not compatible with guzzlehttp/psr7 2.0.0

Added by Christian Heindl about 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2021-07-01
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
11
PHP Version:
7.4
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

With new 2.0.0 version of guzzlehttp/psr7 TYPO3 11.2 does not startup, due to an exception:

Fatal error: Class TYPO3\CMS\Core\Http\SelfEmittableLazyOpenStream may not inherit from final class (GuzzleHttp\Psr7\LazyOpenStream) in /app/public/typo3/sysext/core/Classes/Http/SelfEmittableLazyOpenStream.php on line 29

GuzzleHttp\Psr7\LazyOpenStream is now a final class an cannot be subclasses anymore.


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #94422: wrong handling in TYPO3\CMS\Core\Http\SelfEmittableLazyOpenStreamClosed2021-06-27

Actions
Related to TYPO3 Core - Bug #95136: Required guzzlehttp/psr7 too new for most librariesClosed2021-09-07

Actions
Actions #1

Updated by Christian Heindl about 3 years ago

The occurred to me today after i executed "composer update" within a TYPO3 11 project.

Actions #2

Updated by Christian Kuhn about 3 years ago

We think we fixed that yesterday, could you verify?

https://review.typo3.org/c/Packages/TYPO3.CMS/+/69668

Actions #3

Updated by Christian Kuhn about 3 years ago

  • Related to Bug #94422: wrong handling in TYPO3\CMS\Core\Http\SelfEmittableLazyOpenStream added
Actions #4

Updated by Christian Heindl about 3 years ago

Yes, this should fix the issue! As a workaround I pinned guzzlehttp/psr7 to ^1.8.0 in my project´s composer.json and it worked again. Thank you!

Actions #5

Updated by Benni Mack about 3 years ago

I think we should create our SelfEmittableLazyOpenStream as a wrapper / decorator around the Guzzle API.

Actions #6

Updated by Christian Kuhn about 3 years ago

Thank for feedback, Christian.

Unsure, Benni. Not sure if we really want that dependency. Imho, an own implementation wouldn't hurt in this case, all other psr-7 implementations in ext:core have no 3rd party dependency, too. But we have time now and can decide on a good solution later.

Actions #7

Updated by Georg Ringer almost 3 years ago

  • Status changed from New to Accepted
  • Priority changed from Should have to Must have
Actions #8

Updated by David Bruchmann almost 3 years ago

@Benni Mack, actually it was like that and that was the reason for the broken behavior. Instead the Guzzle Api 2.x expects being the final wrapper.
Apart from the breaking "final" I consider the API as stable, so using Guzzle Api like required can IMO seen as relatively future-proof.

Actions #9

Updated by Gerrit Code Review almost 3 years ago

  • Status changed from Accepted to Under Review

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/70437

Actions #10

Updated by Gerrit Code Review almost 3 years ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/70437

Actions #11

Updated by Gerrit Code Review almost 3 years ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/70437

Actions #12

Updated by Benni Mack almost 3 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #13

Updated by Benni Mack almost 3 years ago

  • Status changed from Resolved to Closed
Actions #14

Updated by Andreas Kienast almost 3 years ago

  • Related to Bug #95136: Required guzzlehttp/psr7 too new for most libraries added
Actions

Also available in: Atom PDF