? ? Pending

User tests: Successful: Unsuccessful:

avatar roland-d
roland-d
18 Jun 2019

Summary of Changes

This fixes a fatal error when accessing the site

Fatal error: Declaration of Joomla\CMS\Session\Storage\JoomlaStorage::setOptions(array $options) must be compatible with Joomla\Session\Storage\NativeStorage::setOptions(array $options): Joomla\Session\Storage\NativeStorage in libraries/src/Session/Storage/JoomlaStorage.php on line 23

Testing Instructions

  1. Checkout the current Joomla 4 branch
  2. Open the site and you get this fatal error:
Fatal error: Declaration of Joomla\CMS\Session\Storage\JoomlaStorage::setOptions(array $options) must be compatible with Joomla\Session\Storage\NativeStorage::setOptions(array $options): Joomla\Session\Storage\NativeStorage in libraries/src/Session/Storage/JoomlaStorage.php on line 23
  1. Apply this pull request
  2. Run composer update
  3. Reload the site
  4. Site now loads

Expected result

The site loads

Actual result

The site doesn't load

Documentation Changes Required

None

Pinging @wilsonge

avatar roland-d roland-d - open - 18 Jun 2019
avatar roland-d roland-d - change - 18 Jun 2019
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 18 Jun 2019
Category Libraries
avatar roland-d roland-d - change - 18 Jun 2019
Labels Added: ?
avatar roland-d roland-d - change - 18 Jun 2019
The description was changed
avatar roland-d roland-d - edited - 18 Jun 2019
avatar joomla-cms-bot joomla-cms-bot - change - 18 Jun 2019
Category Libraries External Library Composer Change Libraries
avatar mbabker
mbabker - comment - 18 Jun 2019

Also for clarity, on the Fatal error: A void function must not return a value in /usr/local/var/www/joomlacms/libraries/src/Session/Session.php on line 233 error...

Everything that's been typehinted is either new API for CMS 4.0 or Framework 2.0, or exists in a non-extendable scope (final class, private method, etc.). Anything that already exists in a stable CMS 3.x or Framework 1.x shouldn't be typehinted because of B/C breaks in changing signatures, unless the change was explicitly vetted (and there are some, but they're the exception to the rule). That one slipped in because we lost the @since 1.0 tag on the parent method in the Framework repo (it had @since __DEPLOY_VERSION__ so I figured it was new when going through things). So if you start running into type issues, first look for a B/C break then revert that break (unless explicitly vetted and OK'd as such) before trying to adapt code to the changed signature.

avatar richard67
richard67 - comment - 18 Jun 2019

@roland-d Is it ready for testing?

avatar roland-d roland-d - change - 18 Jun 2019
The description was changed
avatar roland-d roland-d - edited - 18 Jun 2019
avatar roland-d
roland-d - comment - 18 Jun 2019

@mbabker Thanks for the input

@richard67 It should be ready now, I cleaned up the test instructions.

avatar wilsonge wilsonge - close - 18 Jun 2019
avatar wilsonge wilsonge - merge - 18 Jun 2019
avatar wilsonge wilsonge - change - 18 Jun 2019
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2019-06-18 18:37:14
Closed_By wilsonge
Labels Added: ?
avatar wilsonge
wilsonge - comment - 18 Jun 2019

Tested this locally and works. Thanks!

avatar richard67
richard67 - comment - 18 Jun 2019

@wilsonge Bad boy 👅 . I was so keen on testing it, and now you merged already 😄

avatar wilsonge
wilsonge - comment - 18 Jun 2019

sorrrrrrry :/

Add a Comment

Login with GitHub to post a comment