Feature RTC PR-5.3-dev Pending

User tests: Successful: Unsuccessful:

avatar joomdonation
joomdonation
9 Feb 2025

Pull Request for Issue # .

Summary of Changes

This PR makes some small improvement to System - Debug plugin code:

  • Add missing parameter $event for event listener methods
  • Declare void return type for event listener mehods
  • Introduce local $app variable to avoid repeat call to $this->getApplication() to get application object
  • Minor improvement to isAuthorisedDisplayDebug code: Remove use of deprecated get method to get user groups and hopefully the code is easier to read.

Testing Instructions

  • Use Joomla 5.3 nightly build
  • Make sure System - Debug plugin is enabled
  • Go to System - Global Configuration, set Debug System to Yes
  • Check and make sure Debug plugin still works as before

Actual result BEFORE applying this Pull Request

Works

Expected result AFTER applying this Pull Request

Works

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

avatar joomdonation joomdonation - open - 9 Feb 2025
avatar joomdonation joomdonation - change - 9 Feb 2025
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 9 Feb 2025
Category Front End Plugins
avatar Fedik Fedik - test_item - 9 Feb 2025 - Tested successfully
avatar Fedik
Fedik - comment - 9 Feb 2025

I have tested this item ✅ successfully on 6ee635e


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

avatar richard67 richard67 - change - 9 Feb 2025
Labels Added: Feature PR-5.3-dev
avatar richard67 richard67 - alter_testresult - 9 Feb 2025 - Fedik: Tested successfully
avatar richard67 richard67 - test_item - 9 Feb 2025 - Tested successfully
avatar richard67
richard67 - comment - 9 Feb 2025

I have tested this item ✅ successfully on 43923db


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

avatar richard67 richard67 - change - 9 Feb 2025
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 9 Feb 2025

RTC


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

avatar richard67 richard67 - test_item - 9 Feb 2025 - Tested unsuccessfully
avatar richard67
richard67 - comment - 9 Feb 2025

I have tested this item 🔴 unsuccessfully on 43923db

Changing my test result. With this PR applied I get a PHP warning when having a multilingual site and using the button in the backend to go to the frontend or when using the frontend URL without the language suffix:

PHP Warning:  Attempt to read property "sef" on null in /home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/languagefilter/src/Extension/LanguageFilter.php on line 272

I've noticed that when testing PR #44841 and had this PR here applied in addition to the other one, and later noticed it also happens without the other PR applied.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/44844.
avatar richard67 richard67 - change - 9 Feb 2025
Status Ready to Commit Pending
avatar richard67
richard67 - comment - 9 Feb 2025

Back to pending due to unsuccessful human test.


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

avatar Fedik
Fedik - comment - 9 Feb 2025

Hm, interesting, how it linked.
I did not tried on multilanguage

avatar richard67
richard67 - comment - 9 Feb 2025

From reading code I have no explanation. This PR looks good to me, as well as the other one.

avatar joomdonation
joomdonation - comment - 10 Feb 2025

@richard67 Do we need any special setup to see the warning? I tried to setup a fresh installation of 5.3 nightly build, then use Multilingual sample data but could not re-procedure the issue. If it is possible, could you please try again with a fresh installation ?

avatar richard67
richard67 - comment - 10 Feb 2025

@joomdonation The PHP warning was only visible in the PHP error log file, not in backend even with debug on.

avatar joomdonation
joomdonation - comment - 10 Feb 2025

@joomdonation The PHP warning was only visible in the PHP error log file, not in backend even with debug on.

I checked the error log and also did not see the error. The line of code which throws the warning (I guess - because the file was changed in the other PR) is https://github.com/joomla/joomla-cms/blob/5.3-dev/plugins/system/languagefilter/src/Extension/LanguageFilter.php#L278 , should not happen. Even it happens it is not related to this PR or other PR. I would like to check to see why it happens but could not see it myself.

avatar richard67
richard67 - comment - 10 Feb 2025

I will try again later. Am at work so it may take some time.

avatar joomdonation
joomdonation - comment - 10 Feb 2025

Thanks Richard !

avatar richard67 richard67 - alter_testresult - 10 Feb 2025 - Fedik: Tested successfully
avatar richard67
richard67 - comment - 10 Feb 2025

Hmm, system tests are failing, both MySQL and PostgreSQL. Not sure yet if related to this PR or coming from 5.3-dev.

avatar richard67
richard67 - comment - 10 Feb 2025

Tried again 2 times, system tests are failing, but at different places than the previous run. Will try again.

avatar richard67
richard67 - comment - 10 Feb 2025

@joomdonation Regarding my issue: I could reproduce it on a clean, new installation with the branch of this PR when I had installed blog sample data after having installed 2 languages (with downloaded package) and multilingual sample data. It's a valid scenario to install blog sample data in addition to multilingual sample data. I've just tried the same on a new installation of a clean, current 5.3-dev branch, and with that I could not reproduce it.

avatar richard67
richard67 - comment - 10 Feb 2025

P.S.: Possibly the issue is not caused by this PR but this PR unmasks it? There is something with laminas-diactoros in my stack trace, so it could be related to the recent dependency update for 5.3-dev.

The below 2 errors repeat multiple times.

PHP Warning:  Undefined array key "" in /home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/languagefilter/src/Extension/LanguageFilter.php on line 278, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP Stack trace:, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   1. {main}() /home/richard/lamp/public_html/joomla-cms-5.3-dev/index.php:0, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   2. require_once() /home/richard/lamp/public_html/joomla-cms-5.3-dev/index.php:32, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   3. Joomla\\CMS\\Application\\CMSApplication->execute() /home/richard/lamp/public_html/joomla-cms-5.3-dev/includes/app.php:58, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   4. Joomla\\CMS\\Exception\\ExceptionHandler::handleException($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Application/CMSApplication.php:336, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   5. Joomla\\CMS\\Exception\\ExceptionHandler::render($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Exception/ExceptionHandler.php:73, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   6. Joomla\\CMS\\Error\\Renderer\\HtmlRenderer->render($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Exception/ExceptionHandler.php:136, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   7. Joomla\\CMS\\Document\\ErrorDocument->render($cache = FALSE, $params = ['template' => 'cassiopeia', 'directory' => '/home/richard/lamp/public_html/joomla-cms-5.3-dev/templates', 'debug' => TRUE, 'csp_nonce' => NULL, 'templateInherits' => '', 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }]) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Error/Renderer/HtmlRenderer.php:70, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   8. Joomla\\CMS\\Document\\HtmlDocument->render($caching = FALSE, $params = ['template' => 'cassiopeia', 'directory' => '/home/richard/lamp/public_html/joomla-cms-5.3-dev/templates', 'debug' => TRUE, 'csp_nonce' => NULL, 'templateInherits' => '', 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }, 'file' => 'error.php']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/ErrorDocument.php:139, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   9. Joomla\\CMS\\Document\\HtmlDocument->_renderTemplate() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:647, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  10. Joomla\\CMS\\Document\\HtmlDocument->getBuffer($type = 'modules', $name = 'search', $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:894, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  11. Joomla\\CMS\\Document\\Renderer\\Html\\ModulesRenderer->render($position = 'search', $params = ['name' => 'search', 'style' => 'none'], $content = NULL) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:575, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  12. Joomla\\CMS\\Document\\Renderer\\Html\\ModuleRenderer->render($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $attribs = ['name' => 'search', 'style' => 'none'], $content = NULL) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/Renderer/Html/ModulesRenderer.php:51, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  13. Joomla\\CMS\\Helper\\ModuleHelper::renderModule($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/Renderer/Html/ModuleRenderer.php:99, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  14. Joomla\\CMS\\Helper\\ModuleHelper::renderRawModule($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $params = class Joomla\\Registry\\Registry { protected $data = class stdClass { public $searchfilter = ''; public $show_autosuggest = 1; public $show_advanced = 0; public $show_label = 0; public $alt_label = 'Search'; public $show_button = 1; public $opensearch = 1; public $opensearch_name = ''; public $set_itemid = 0; public $layout = '_:default'; public $module_tag = 'search' }; protected $initialized = TRUE; protected $separator = '.' }, $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Helper/ModuleHelper.php:160, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  15. Joomla\\CMS\\Dispatcher\\ModuleDispatcher->dispatch() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Helper/ModuleHelper.php:289, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  16. Joomla\\CMS\\Dispatcher\\ModuleDispatcher::Joomla\\CMS\\Dispatcher\\{closure:/home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:43-53}($path = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/modules/mod_finder/mod_finder.php', $displayData = ['module' => class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, 'app' => class Joomla\\CMS\\Application\\SiteApplication { protected $config = class Joomla\\Registry\\Registry { ... }; protected ?Psr\\Log\\LoggerInterface $logger = class Joomla\\CMS\\Log\\DelegatingPsrLogger { ... }; private ${Joomla\\Application\\AbstractApplication}dispatcher = class Joomla\\Event\\Dispatcher { ... }; protected $input = class Joomla\\CMS\\Input\\Input { ... }; public $charSet = 'utf-8'; public $mimeType = 'text/html'; public $httpVersion = '1.1'; public $modifiedDate = NULL; public $client = class Joomla\\Application\\Web\\WebClient { ... }; protected $response = class Laminas\\Diactoros\\Response { ... }; private ${Joomla\\Application\\AbstractWebApplication}cacheable = FALSE; private ${Joomla\\Application\\AbstractWebApplication}responseMap = [...]; public $JComponentTitle = NULL; public $item_associations = NULL; protected $document = class Joomla\\CMS\\Document\\ErrorDocument { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; protected $identity = class Joomla\\CMS\\User\\User { ... }; private ${Joomla\\CMS\\Application\\WebApplication}userFactory = class Joomla\\CMS\\User\\UserFactory { ... }; protected $docOptions = [...]; public $scope = 'mod_finder'; protected $clientId = 0; protected $messageQueue = [...]; protected $name = 'site'; protected $profiler = class Joomla\\CMS\\Profiler\\Profiler { ... }; protected $template = class stdClass { ... }; protected $pathway = NULL; protected $authenticationPluginType = 'authentication'; protected $menus = [...]; private ${Joomla\\CMS\\Application\\CMSApplication}menuFactory = class Joomla\\CMS\\Menu\\MenuFactory { ... }; private ${Joomla\\CMS\\Application\\CMSApplication}container = class Joomla\\DI\\Container { ... }; protected $session = class Joomla\\CMS\\Session\\Session { ... }; protected $language_filter = TRUE; protected $detect_browser = FALSE; public $registeredurlparams = NULL; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } }, 'input' => class Joomla\\CMS\\Input\\Input { protected $options = [...]; protected $filter = class Joomla\\Filter\\InputFilter { ... }; protected $data = [...]; protected $inputs = [...] }, 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }, 'template' => 'cassiopeia']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:55, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  17. include() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:52, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  18. Joomla\\CMS\\Router\\Route::_($url = 'index.php?option=com_finder&view=search&format=opensearch', $xhtml = *uninitialized*, $tls = *uninitialized*, $absolute = *uninitialized*) /home/richard/lamp/public_html/joomla-cms-5.3-dev/modules/mod_finder/mod_finder.php:29, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  19. Joomla\\CMS\\Router\\Route::link($client = 'site', $url = 'index.php?option=com_finder&view=search&format=opensearch', $xhtml = TRUE, $tls = 0, $absolute = FALSE) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Route.php:99, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  20. Joomla\\CMS\\Router\\Router->build($url = 'index.php?option=com_finder&view=search&format=opensearch') /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Route.php:150, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  21. Joomla\\CMS\\Router\\Router->processBuildRules($uri = class Joomla\\CMS\\Uri\\Uri { protected $uri = 'index.php?option=com_finder&view=search&format=opensearch'; protected $scheme = NULL; protected $host = NULL; protected $port = NULL; protected $user = NULL; protected $pass = NULL; protected $path = 'index.php'; protected $query = NULL; protected $fragment = NULL; protected $vars = ['option' => 'com_finder', 'view' => 'search', 'format' => 'opensearch', 'Itemid' => 121, 'lang' => NULL] }, $stage = 'preprocess') /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Router.php:204, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  22. Joomla\\Plugin\\System\\LanguageFilter\\Extension\\LanguageFilter->buildRule($router = class Joomla\\CMS\\Router\\SiteRouter { protected $vars = []; protected $rules = ['buildpreprocess' => [...], 'build' => [...], 'buildpostprocess' => [...], 'parsepreprocess' => [...], 'parse' => [...], 'parsepostprocess' => [...]]; protected $cache = ['2681d6e5d2833fabaf6848899b10c23f' => class Joomla\\CMS\\Uri\\Uri { ... }]; protected $tainted = FALSE; protected $componentRouters = ['com_users' => class Joomla\\Component\\Users\\Site\\Service\\Router { ... }, 'com_finder' => class Joomla\\Component\\Finder\\Site\\Service\\Router { ... }]; protected $app = class Joomla\\CMS\\Application\\SiteApplication { protected $config = class Joomla\\Registry\\Registry { ... }; protected ?Psr\\Log\\LoggerInterface $logger = class Joomla\\CMS\\Log\\DelegatingPsrLogger { ... }; private ${Joomla\\Application\\AbstractApplication}dispatcher = class Joomla\\Event\\Dispatcher { ... }; protected $input = class Joomla\\CMS\\Input\\Input { ... }; public $charSet = 'utf-8'; public $mimeType = 'text/html'; public $httpVersion = '1.1'; public $modifiedDate = NULL; public $client = class Joomla\\Application\\Web\\WebClient { ... }; protected $response = class Laminas\\Diactoros\\Response { ... }; private ${Joomla\\Application\\AbstractWebApplication}cacheable = FALSE; private ${Joomla\\Application\\AbstractWebApplication}responseMap = [...]; public $JComponentTitle = NULL; public $item_associations = NULL; protected $document = class Joomla\\CMS\\Document\\ErrorDocument { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; protected $identity = class Joomla\\CMS\\User\\User { ... }; private ${Joomla\\CMS\\Application\\WebApplication}userFactory = class Joomla\\CMS\\User\\UserFactory { ... }; protected $docOptions = [...]; public $scope = 'mod_finder'; protected $clientId = 0; protected $messageQueue = [...]; protected $name = 'site'; protected $profiler = class Joomla\\CMS\\Profiler\\Profiler { ... }; protected $template = class stdClass { ... }; protected $pathway = NULL; protected $authenticationPluginType = 'authentication'; protected $menus = [...]; private ${Joomla\\CMS\\Application\\CMSApplication}menuFactory = class Joomla\\CMS\\Menu\\MenuFactory { ... }; private ${Joomla\\CMS\\Application\\CMSApplication}container = class Joomla\\DI\\Container { ... }; protected $session = class Joomla\\CMS\\Session\\Session { ... }; protected $language_filter = TRUE; protected $detect_browser = FALSE; public $registeredurlparams = NULL; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } }; protected $menu = class Joomla\\CMS\\Menu\\SiteMenu { protected $items = [...]; protected $default = [...]; protected $active = 0; protected $storedUser = NULL; private ${Joomla\\CMS\\Menu\\AbstractMenu}itemsLoaded = TRUE; protected $app = class Joomla\\CMS\\Application\\SiteApplication { ... }; protected $db = class Joomla\\Database\\Mysqli\\MysqliDriver { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } } }, $uri = class Joomla\\CMS\\Uri\\Uri { protected $uri = 'index.php?option=com_finder&view=search&format=opensearch'; protected $scheme = NULL; protected $host = NULL; protected $port = NULL; protected $user = NULL; protected $pass = NULL; protected $path = 'index.php'; protected $query = NULL; protected $fragment = NULL; protected $vars = ['option' => 'com_finder', 'view' => 'search', 'format' => 'opensearch', 'Itemid' => 121, 'lang' => NULL] }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Router.php:448, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP Warning:  Attempt to read property "sef" on null in /home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/languagefilter/src/Extension/LanguageFilter.php on line 278, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP Stack trace:, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   1. {main}() /home/richard/lamp/public_html/joomla-cms-5.3-dev/index.php:0, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   2. require_once() /home/richard/lamp/public_html/joomla-cms-5.3-dev/index.php:32, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   3. Joomla\\CMS\\Application\\CMSApplication->execute() /home/richard/lamp/public_html/joomla-cms-5.3-dev/includes/app.php:58, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   4. Joomla\\CMS\\Exception\\ExceptionHandler::handleException($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Application/CMSApplication.php:336, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   5. Joomla\\CMS\\Exception\\ExceptionHandler::render($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Exception/ExceptionHandler.php:73, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   6. Joomla\\CMS\\Error\\Renderer\\HtmlRenderer->render($error = class TypeError { protected $message = 'Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/plugins/system/debug/src/Extension/Debug.php'; protected int $line = 277; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...]]; private ?Throwable ${Error}previous = NULL; public $xdebug_message = '<tr><th align=\\'left\\' bgcolor=\\'#f57900\\' colspan="5"><span style=\\'background-color: #cc0000; color: #fce94f; font-size: x-large;\\'>( ! )</span> TypeError: Joomla\\\\Plugin\\\\System\\\\Debug\\\\Extension\\\\Debug::onAfterRespond(): Argument #1 ($event) must be of type Joomla\\\\CMS\\\\Event\\\\Application\\\\AfterRespondEvent, Joomla\\\\Application\\\\Event\\\\ApplicationEvent given, called in /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/vendor/joomla/event/src/Dispatcher.php on line 454 in /home/richard/lamp/public_html/joomla-cm'... }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Exception/ExceptionHandler.php:136, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   7. Joomla\\CMS\\Document\\ErrorDocument->render($cache = FALSE, $params = ['template' => 'cassiopeia', 'directory' => '/home/richard/lamp/public_html/joomla-cms-5.3-dev/templates', 'debug' => TRUE, 'csp_nonce' => NULL, 'templateInherits' => '', 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }]) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Error/Renderer/HtmlRenderer.php:70, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   8. Joomla\\CMS\\Document\\HtmlDocument->render($caching = FALSE, $params = ['template' => 'cassiopeia', 'directory' => '/home/richard/lamp/public_html/joomla-cms-5.3-dev/templates', 'debug' => TRUE, 'csp_nonce' => NULL, 'templateInherits' => '', 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }, 'file' => 'error.php']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/ErrorDocument.php:139, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP   9. Joomla\\CMS\\Document\\HtmlDocument->_renderTemplate() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:647, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  10. Joomla\\CMS\\Document\\HtmlDocument->getBuffer($type = 'modules', $name = 'search', $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:894, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  11. Joomla\\CMS\\Document\\Renderer\\Html\\ModulesRenderer->render($position = 'search', $params = ['name' => 'search', 'style' => 'none'], $content = NULL) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/HtmlDocument.php:575, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  12. Joomla\\CMS\\Document\\Renderer\\Html\\ModuleRenderer->render($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $attribs = ['name' => 'search', 'style' => 'none'], $content = NULL) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/Renderer/Html/ModulesRenderer.php:51, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  13. Joomla\\CMS\\Helper\\ModuleHelper::renderModule($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Document/Renderer/Html/ModuleRenderer.php:99, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  14. Joomla\\CMS\\Helper\\ModuleHelper::renderRawModule($module = class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, $params = class Joomla\\Registry\\Registry { protected $data = class stdClass { public $searchfilter = ''; public $show_autosuggest = 1; public $show_advanced = 0; public $show_label = 0; public $alt_label = 'Search'; public $show_button = 1; public $opensearch = 1; public $opensearch_name = ''; public $set_itemid = 0; public $layout = '_:default'; public $module_tag = 'search' }; protected $initialized = TRUE; protected $separator = '.' }, $attribs = ['name' => 'search', 'style' => 'none']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Helper/ModuleHelper.php:160, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  15. Joomla\\CMS\\Dispatcher\\ModuleDispatcher->dispatch() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Helper/ModuleHelper.php:289, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  16. Joomla\\CMS\\Dispatcher\\ModuleDispatcher::Joomla\\CMS\\Dispatcher\\{closure:/home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:43-53}($path = '/home/richard/lamp/public_html/joomla-cms-5.3-dev/modules/mod_finder/mod_finder.php', $displayData = ['module' => class stdClass { public $id = 121; public $title = 'Search (en-GB)'; public $module = 'mod_finder'; public $position = 'search'; public $content = ''; public $showtitle = 1; public $params = '{"searchfilter":"","show_autosuggest":1,"show_advanced":0,"show_label":0,"alt_label":"Search","show_button":1,"opensearch":1,"opensearch_name":"","set_itemid":0,"layout":"_:default","module_tag":"search"}'; public $menuid = 0; public $name = 'finder'; public $style = NULL }, 'app' => class Joomla\\CMS\\Application\\SiteApplication { protected $config = class Joomla\\Registry\\Registry { ... }; protected ?Psr\\Log\\LoggerInterface $logger = class Joomla\\CMS\\Log\\DelegatingPsrLogger { ... }; private ${Joomla\\Application\\AbstractApplication}dispatcher = class Joomla\\Event\\Dispatcher { ... }; protected $input = class Joomla\\CMS\\Input\\Input { ... }; public $charSet = 'utf-8'; public $mimeType = 'text/html'; public $httpVersion = '1.1'; public $modifiedDate = NULL; public $client = class Joomla\\Application\\Web\\WebClient { ... }; protected $response = class Laminas\\Diactoros\\Response { ... }; private ${Joomla\\Application\\AbstractWebApplication}cacheable = FALSE; private ${Joomla\\Application\\AbstractWebApplication}responseMap = [...]; public $JComponentTitle = NULL; public $item_associations = NULL; protected $document = class Joomla\\CMS\\Document\\ErrorDocument { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; protected $identity = class Joomla\\CMS\\User\\User { ... }; private ${Joomla\\CMS\\Application\\WebApplication}userFactory = class Joomla\\CMS\\User\\UserFactory { ... }; protected $docOptions = [...]; public $scope = 'mod_finder'; protected $clientId = 0; protected $messageQueue = [...]; protected $name = 'site'; protected $profiler = class Joomla\\CMS\\Profiler\\Profiler { ... }; protected $template = class stdClass { ... }; protected $pathway = NULL; protected $authenticationPluginType = 'authentication'; protected $menus = [...]; private ${Joomla\\CMS\\Application\\CMSApplication}menuFactory = class Joomla\\CMS\\Menu\\MenuFactory { ... }; private ${Joomla\\CMS\\Application\\CMSApplication}container = class Joomla\\DI\\Container { ... }; protected $session = class Joomla\\CMS\\Session\\Session { ... }; protected $language_filter = TRUE; protected $detect_browser = FALSE; public $registeredurlparams = NULL; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } }, 'input' => class Joomla\\CMS\\Input\\Input { protected $options = [...]; protected $filter = class Joomla\\Filter\\InputFilter { ... }; protected $data = [...]; protected $inputs = [...] }, 'params' => class Joomla\\Registry\\Registry { protected $data = class stdClass { ... }; protected $initialized = TRUE; protected $separator = '.' }, 'template' => 'cassiopeia']) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:55, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  17. include() /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Dispatcher/ModuleDispatcher.php:52, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  18. Joomla\\CMS\\Router\\Route::_($url = 'index.php?option=com_finder&view=search&format=opensearch', $xhtml = *uninitialized*, $tls = *uninitialized*, $absolute = *uninitialized*) /home/richard/lamp/public_html/joomla-cms-5.3-dev/modules/mod_finder/mod_finder.php:29, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  19. Joomla\\CMS\\Router\\Route::link($client = 'site', $url = 'index.php?option=com_finder&view=search&format=opensearch', $xhtml = TRUE, $tls = 0, $absolute = FALSE) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Route.php:99, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  20. Joomla\\CMS\\Router\\Router->build($url = 'index.php?option=com_finder&view=search&format=opensearch') /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Route.php:150, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  21. Joomla\\CMS\\Router\\Router->processBuildRules($uri = class Joomla\\CMS\\Uri\\Uri { protected $uri = 'index.php?option=com_finder&view=search&format=opensearch'; protected $scheme = NULL; protected $host = NULL; protected $port = NULL; protected $user = NULL; protected $pass = NULL; protected $path = 'index.php'; protected $query = NULL; protected $fragment = NULL; protected $vars = ['option' => 'com_finder', 'view' => 'search', 'format' => 'opensearch', 'Itemid' => 121, 'lang' => NULL] }, $stage = 'preprocess') /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Router.php:204, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
PHP  22. Joomla\\Plugin\\System\\LanguageFilter\\Extension\\LanguageFilter->buildRule($router = class Joomla\\CMS\\Router\\SiteRouter { protected $vars = []; protected $rules = ['buildpreprocess' => [...], 'build' => [...], 'buildpostprocess' => [...], 'parsepreprocess' => [...], 'parse' => [...], 'parsepostprocess' => [...]]; protected $cache = ['2681d6e5d2833fabaf6848899b10c23f' => class Joomla\\CMS\\Uri\\Uri { ... }]; protected $tainted = FALSE; protected $componentRouters = ['com_users' => class Joomla\\Component\\Users\\Site\\Service\\Router { ... }, 'com_finder' => class Joomla\\Component\\Finder\\Site\\Service\\Router { ... }]; protected $app = class Joomla\\CMS\\Application\\SiteApplication { protected $config = class Joomla\\Registry\\Registry { ... }; protected ?Psr\\Log\\LoggerInterface $logger = class Joomla\\CMS\\Log\\DelegatingPsrLogger { ... }; private ${Joomla\\Application\\AbstractApplication}dispatcher = class Joomla\\Event\\Dispatcher { ... }; protected $input = class Joomla\\CMS\\Input\\Input { ... }; public $charSet = 'utf-8'; public $mimeType = 'text/html'; public $httpVersion = '1.1'; public $modifiedDate = NULL; public $client = class Joomla\\Application\\Web\\WebClient { ... }; protected $response = class Laminas\\Diactoros\\Response { ... }; private ${Joomla\\Application\\AbstractWebApplication}cacheable = FALSE; private ${Joomla\\Application\\AbstractWebApplication}responseMap = [...]; public $JComponentTitle = NULL; public $item_associations = NULL; protected $document = class Joomla\\CMS\\Document\\ErrorDocument { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; protected $identity = class Joomla\\CMS\\User\\User { ... }; private ${Joomla\\CMS\\Application\\WebApplication}userFactory = class Joomla\\CMS\\User\\UserFactory { ... }; protected $docOptions = [...]; public $scope = 'mod_finder'; protected $clientId = 0; protected $messageQueue = [...]; protected $name = 'site'; protected $profiler = class Joomla\\CMS\\Profiler\\Profiler { ... }; protected $template = class stdClass { ... }; protected $pathway = NULL; protected $authenticationPluginType = 'authentication'; protected $menus = [...]; private ${Joomla\\CMS\\Application\\CMSApplication}menuFactory = class Joomla\\CMS\\Menu\\MenuFactory { ... }; private ${Joomla\\CMS\\Application\\CMSApplication}container = class Joomla\\DI\\Container { ... }; protected $session = class Joomla\\CMS\\Session\\Session { ... }; protected $language_filter = TRUE; protected $detect_browser = FALSE; public $registeredurlparams = NULL; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } }; protected $menu = class Joomla\\CMS\\Menu\\SiteMenu { protected $items = [...]; protected $default = [...]; protected $active = 0; protected $storedUser = NULL; private ${Joomla\\CMS\\Menu\\AbstractMenu}itemsLoaded = TRUE; protected $app = class Joomla\\CMS\\Application\\SiteApplication { ... }; protected $db = class Joomla\\Database\\Mysqli\\MysqliDriver { ... }; protected $language = class Joomla\\CMS\\Language\\Language { ... }; private $cacheControllerFactory = class Joomla\\CMS\\Cache\\CacheControllerFactory { ... } } }, $uri = class Joomla\\CMS\\Uri\\Uri { protected $uri = 'index.php?option=com_finder&view=search&format=opensearch'; protected $scheme = NULL; protected $host = NULL; protected $port = NULL; protected $user = NULL; protected $pass = NULL; protected $path = 'index.php'; protected $query = NULL; protected $fragment = NULL; protected $vars = ['option' => 'com_finder', 'view' => 'search', 'format' => 'opensearch', 'Itemid' => 121, 'lang' => NULL] }) /home/richard/lamp/public_html/joomla-cms-5.3-dev/libraries/src/Router/Router.php:448, referer: https://www.joomla-53-dev.vmubu02.vmnet2.local/administrator/index.php
avatar richard67
richard67 - comment - 10 Feb 2025

It seems that $this->current_lang is not set when we come into the else here: https://github.com/joomla/joomla-cms/blob/5.3-dev/plugins/system/languagefilter/src/Extension/LanguageFilter.php#L275-L279

        if (isset($this->lang_codes[$lang])) {
            $sef = $this->lang_codes[$lang]->sef;
        } else {
            $sef = $this->lang_codes[$this->current_lang]->sef;
        }
avatar joomdonation
joomdonation - comment - 10 Feb 2025

@richard67 Yes, that's right. For whatever reason, $this->current_lang has value set to empty string in this case and it causes the warning.

We will need to figure out why the Debug plugin is enabled, something strange happening here.

avatar brianteeman
brianteeman - comment - 10 Feb 2025

could it be related to

// Disable language debug to prevent debug_lang_const being added to the string
$this->getApplication()->getLanguage()->setDebug(false);

avatar joomdonation
joomdonation - comment - 10 Feb 2025

Thanks all for your test and feedback. I think I figured out. This plugin also listen for another event ApplicationEvents::AFTER_RESPOND https://github.com/joomla/joomla-cms/blob/5.3-dev/plugins/system/debug/src/Extension/Debug.php#L152C13-L152C45

When that event is triggered, it passes an instance of Joomla\Application\Event\ApplicationEvent to onAfterRespond method. So the $event parameter needs to have union type AfterRespondEvent|ApplicationEvent. The last commit should address the issue.

avatar richard67
richard67 - comment - 10 Feb 2025

Et voilà: System test are succeeding, and my issue is gone.

avatar richard67 richard67 - test_item - 10 Feb 2025 - Tested successfully
avatar richard67
richard67 - comment - 10 Feb 2025

I have tested this item ✅ successfully on 92c8b9d

Debug works as before.


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

avatar QuyTon QuyTon - test_item - 10 Feb 2025 - Tested successfully
avatar QuyTon
QuyTon - comment - 10 Feb 2025

I have tested this item ✅ successfully on 92c8b9d


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

avatar QuyTon QuyTon - change - 10 Feb 2025
Status Pending Ready to Commit
avatar QuyTon
QuyTon - comment - 10 Feb 2025

RTC


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

avatar QuyTon QuyTon - change - 10 Feb 2025
Labels Added: RTC
avatar laoneo laoneo - change - 10 Feb 2025
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2025-02-10 19:19:01
Closed_By laoneo
avatar laoneo laoneo - close - 10 Feb 2025
avatar laoneo laoneo - merge - 10 Feb 2025
avatar laoneo
laoneo - comment - 10 Feb 2025

Thanks!

avatar joomdonation
joomdonation - comment - 11 Feb 2025

Thanks everyone !

Add a Comment

Login with GitHub to post a comment