Skip to content

[6.0] Remove event dispatcher in compat plugin constructor#45998

Merged
softforge merged 3 commits intojoomla:6.0-devfrom
Digital-Peak:compat6
Aug 29, 2025
Merged

[6.0] Remove event dispatcher in compat plugin constructor#45998
softforge merged 3 commits intojoomla:6.0-devfrom
Digital-Peak:compat6

Conversation

@laoneo
Copy link
Member

@laoneo laoneo commented Aug 28, 2025

Summary of Changes

Thew compat plugin still uses the dispatcher in the constructor.

Testing Instructions

Enable the compat plugin.

Actual result BEFORE applying this Pull Request

Error:
oomla\Plugin\Behaviour\Compat6\Extension\Compat6::__construct(): Argument #1 ($dispatcher) must be of type Joomla\Event\DispatcherInterface, array given

Expected result AFTER applying this Pull Request

Site load again.

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

@laoneo laoneo added the bug label Aug 28, 2025
@richard67 richard67 changed the title Remove event dispatcher in compat plugin constructor [6.0] Remove event dispatcher in compat plugin constructor Aug 28, 2025
@richard67
Copy link
Member

richard67 commented Aug 28, 2025

The compat6 plugin exists already in 5.4-dev, but there it is only an empty stub without a constructor, so this PR here does it at the right place (6.0-dev).

I don't have time for a real test now, but by review the PR is right, I think.

@exlemor
Copy link

exlemor commented Aug 28, 2025

@laoneo - where am I supposed to find:

oomla\Plugin\Behaviour\Compat6\Extension\Compat6::__construct(): Argument #1 ($dispatcher) must be of type Joomla\Event\DispatcherInterface, array given

I'm not seeing that anywhere - in the Joomla Backend, or in any log...
(I have tried Maximum Error Reporting: on with or without Debug on, with or without Log Almost Everything and/or Log Deprecated API and can't get it to show....)

I should have specified (fresh installation, Joomla 6 Nightly from Thursday, 28 August 2025 00:55:42 UTC and Install Blog Data, French added, and Install Multilingual Sample Data).

thanks :)

@exlemor
Copy link

exlemor commented Aug 28, 2025

OK, @laoneo so this might or might not be related or help... . Since I couldn't find this error:

0 Joomla\Plugin\Behaviour\Compat6\Extension\Compat6::__construct(): Argument #1 ($dispatcher) must be of type Joomla\Event\DispatcherInterface, array given, called in /home/lights/public_html/_j6b2n/plugins/behaviour/compat6/services/provider.php on line 34

I went on to test PR #46002 #46002, (Downloaded the Update Package and installed it) after which I DID receive the above error message with a stacktrace ;(

`

Call Stack

| Function | Location

-- | -- | --
1 | () | JROOT/plugins/behaviour/compat6/src/Extension/Compat6.php:59
2 | Joomla\Plugin\Behaviour\Compat6\Extension\Compat6->__construct() | JROOT/plugins/behaviour/compat6/services/provider.php:34
3 | Joomla\DI\ServiceProviderInterface@anonymous/home/lights/public_html/_j6b2n/plugins/behaviour/compat6/services/provider.php:20$aa->{closure}() | JROOT/libraries/vendor/joomla/di/src/ContainerResource.php:168
4 | Joomla\DI\ContainerResource->getInstance() | JROOT/libraries/vendor/joomla/di/src/Container.php:95
5 | Joomla\DI\Container->get() | JROOT/libraries/src/Extension/ExtensionManagerTrait.php:177
6 | Joomla\CMS\Application\CMSApplication->loadExtension() | JROOT/libraries/src/Extension/ExtensionManagerTrait.php:99
7 | Joomla\CMS\Application\CMSApplication->bootPlugin() | JROOT/libraries/src/Plugin/PluginHelper.php:232
8 | Joomla\CMS\Plugin\PluginHelper::import() | JROOT/libraries/src/Plugin/PluginHelper.php:192
9 | Joomla\CMS\Plugin\PluginHelper::importPlugin() | JROOT/libraries/src/Application/CMSApplication.php:820
10 | Joomla\CMS\Application\CMSApplication->initialiseApp() | JROOT/libraries/src/Application/AdministratorApplication.php:331
11 | Joomla\CMS\Application\AdministratorApplication->initialiseApp() | JROOT/libraries/src/Application/AdministratorApplication.php:174
12 | Joomla\CMS\Application\AdministratorApplication->doExecute() | JROOT/libraries/src/Application/CMSApplication.php:315
13 | Joomla\CMS\Application\CMSApplication->execute() | JROOT/administrator/includes/app.php:58
14 | require_once() | JROOT/administrator/index.php:32



`

(disabling plg_behaviour_compat6 via phpMyAdmin (after clearing cache) let me 'restore' the site).


Then I installed again J6! Nightly, turned on Compat. Plugin 6 and applied the Patch for PR #45998 and it crashed (no error before the PR applied):

An error has occurred.
0 Joomla\Plugin\Behaviour\Compat6\Extension\Compat6::__construct(): Argument #1 ($config) must be of type array, Joomla\Event\Dispatcher given, called in /home/lights/public_html/_j6b2n/plugins/behaviour/compat6/services/provider.php on line 38

@richard67
Copy link
Member

@exlemor You can test as follows:

On a clean 5.4-dev or latest 5.4 nightly build or 5.4-beta1, enable "Debug System" and set error reporting to maximum in global configuration. Then in the Joomla Update Component, change update channel to custom URL and use the URL of the 6.0 nightlies: https://update.joomla.org/core/nightlies/next_major_list.xml . You might have to disable the Joomla 5 compat plugin before the update.

Result:
2025-08-29_test-pr-45998_1

Do the same with the same starting conditions but this time use the custom update URL from this PR: https://artifacts.joomla.org/drone/joomla/joomla-cms/6.0-dev/45998/downloads/87556/pr_list.xml

Result:
2025-08-29_test-pr-45998_2

@richard67
Copy link
Member

I have tested this item ✅ successfully on 6dae38c

Details on how to test and the result see in my previous comment.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45998.

@joomdonation
Copy link
Contributor

I have tested this item ✅ successfully on 6dae38c


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45998.

@joomdonation
Copy link
Contributor

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/45998.

@joomla-cms-bot joomla-cms-bot added the RTC This Pull Request is Ready To Commit label Aug 29, 2025
@exlemor
Copy link

exlemor commented Aug 29, 2025

@exlemor You can test as follows:

On a clean 5.4-dev or latest 5.4 nightly build or 5.4-beta1, enable "Debug System" and set error reporting to maximum in global configuration. Then in the Joomla Update Component, change update channel to custom URL and use the URL of the 6.0 nightlies: https://update.joomla.org/core/nightlies/next_major_list.xml . You might have to disable the Joomla 5 compat plugin before the update.

Result: 2025-08-29_test-pr-45998_1

Do the same with the same starting conditions but this time use the custom update URL from this PR: https://artifacts.joomla.org/drone/joomla/joomla-cms/6.0-dev/45998/downloads/87556/pr_list.xml

Result: 2025-08-29_test-pr-45998_2

Thanks @richard67 but I just got freed now and it is already RTC - you guys are fast ;) - The Testing Instructions needed a bit of an update for me to be able to get the expected results.

Thanks for all of your collective hard work.

@softforge softforge merged commit 48307ce into joomla:6.0-dev Aug 29, 2025
30 checks passed
@joomla-cms-bot joomla-cms-bot removed the RTC This Pull Request is Ready To Commit label Aug 29, 2025
@softforge softforge added this to the Joomla! 6.0.0 milestone Aug 29, 2025
@softforge
Copy link
Contributor

thank you @laoneo much appreciated

@laoneo laoneo deleted the compat6 branch August 29, 2025 16:35
rdeutz pushed a commit to rdeutz/joomla-cms that referenced this pull request Sep 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants