Problem/Motivation

/admin/structure/views/view/articles/display-builder/page_1 has a fatal after upgrade to Drupal 11.4-rc2:
InvalidArgumentException: No converter has been registered for drupal.proxy_original_service.paramconverter.views_ui in Drupal\Core\ParamConverter\ParamConverterManager->getConverter() (line 37 of core/lib/Drupal/Core/ParamConverter/ParamConverterManager.php).

It may be related to this change in Core: #3436295: ParamConverterManager lazy services are broken and should use a service locator

Proposed resolution

in /modules/display_builder_views/display_builder_views.routing.yml

        converter: 'drupal.proxy_original_service.paramconverter.views_ui'
+        converter: 'paramconverter.views_ui'

Careful, are we still compatible with Drupal 11.3 after applying this change.

Remaining tasks

I have another error:

"Call to a member function getPlugin() on null in Drupal\views\ViewExecutable->initStyle()"

Because when we load a View Exeutable from a View entity in ViewsSourceBase, the executable has no display set.

But it may be on UI Patterns side.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

pdureau created an issue. See original summary.

pdureau’s picture

Title: 11.4 compat: » 11.4 compat: ParamConverterManager lazy services are broken

pdureau’s picture

Status: Active » Needs review

Pushed.

Careful, are we still compatible with Drupal 11.3 after applying this change.

Let's check if the pipeline is still green.

pdureau’s picture

Assigned: pdureau » mogtofu33

Hello Jean,

I am not able to guess if the playwright fails are the timeout we have from time to time with View UI or something related to this change: https://git.drupalcode.org/project/display_builder/-/jobs/10628199

What do you think?

Drupal 11.4 is expected for this week, so let's move fast on this subject.

But we need to also check the ViewsSourceBase error before merging.

pdureau’s picture

pdureau’s picture

Assigned: mogtofu33 » pdureau
Status: Needs review » Needs work

I am afraid we can't be compatible with both 11.3 and 11.4, because I have this in

InvalidArgumentException: No converter has been registered for paramconverter.views_ui in Drupal\Core\ParamConverter\ParamConverterManager->getConverter() (line 39 of core/lib/Drupal/Core/ParamConverter/ParamConverterManager.php).

I will add a Kernel test to check this.

pdureau’s picture

Assigned: pdureau » mogtofu33

We now have a kernel test tetsing this param converter:
vendor/bin/phpunit -c web/core web/modules/custom/display_builder/modules/display_builder_views/tests/src/Kernel/ViewsControllerTest.php

That's nice because we are now failing at phpunit stage instead of reaching playwright.

So, with drupal.proxy_original_service.paramconverter.views_ui the test is OK with 11.3 but KO with 11.4. With paramconverter.views_ui, the test is KO with 11.3 but OK with 11.4

Do you have an idea how to be compatible with both?

pdureau’s picture

Assigned: mogtofu33 » pdureau

Suggestion from @grimreaper: a route subscriber service.

pdureau’s picture

Assigned: pdureau » mogtofu33
Status: Needs work » Needs review

  • mogtofu33 committed 7744e6a0 on 1.0.x authored by pdureau
    fix: #3607019 11.4 compat: ParamConverterManager lazy services are...
mogtofu33’s picture

Assigned: mogtofu33 » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.