Problem/Motivation

Hello project maintainers,
This is an automated issue to help make this module compatible with Drupal 9.

To read more about this effort by the Drupal Association, please read: Accelerating Drupal 9 module and theme readiness with automated patches

Periodically patches will be added to this issue that remove Drupal 9 deprecations. To stop further patches from being posted simply close this issue(any status besides Active, Needs Review or Needs work) or remove the "ProjectUpdateBotD9" tag from the issue.

The patches will be posted by the Project Update Bot official user account. This account will not receive any issue credit contributions for itself or any company.

Proposed resolution

You have a few options for how to use this issue:

  1. Accept automated patches until this issue is closed

    If this issue is left open(status of Active, Needs Review or Needs work) and the "ProjectUpdateBotD9" tag is left on this issue, new patches will be posted periodically if new deprecations are needed.

    As the Drupal Rector project improves and is able to fix more deprecations the patches posted here will cover more of the deprecations in the module.

  2. Leave open but stop new automated patches.

    If you want to use this issue as a starting point to remove deprecations but don't want new automated patches simply leave this issue open but remove the "ProjectUpdateBotD9" from the issue.

    You can use Drupal Rector yourself to make these patches.

    If you want to receive automated patches again simply add back the "ProjectUpdateBotD9" tag.

  3. Close it and don't use it

    If the maintainers of this project don't find this issue useful they can simply close this issue(any status besides Active, Needs Review or Needs work) and no more automated patches will be posted here.

    If the issue is reopened then new automated patches will be posted.

    If you are using another issue(s) to work on Drupal 9 compatibility it may be useful to other contributors to add those issues as "Related issues" when closing this issue.

Remaining tasks

Using the patches

  1. Apply the patch in the comment by Project Update Bot
  2. Thoroughly test the patch. These patches are automatically generated so they haven't been tested manually or automatically.

Providing feedback

If there are problems with one of the patches posted by the Project Update Bot, such as it does not correctly replace a deprecation, you can file an issue in the Rector issue queue. For other issues with the bot, for instance if the issue summary created by the bot is unclear,  use the Infrastructure project issue queue using the component “Bot: Drupal Rector”.

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

Project Update Bot created an issue. See original summary.

project update bot’s picture

Status: Active » Needs review
StatusFileSize
new705 bytes

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 9 Compatibility

According to the Upgrade Status module, even with this patch, this module is not yet compatible with Drupal 9.

Currently Drupal-Rector, version 0.5.5, cannot fix all Drupal 9 compatibility problems.

This patch does not update the info.yml file for Drupal 9 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 9 compatibility fixes as they become available in Drupal-Rector.

Debug info

Bot run #1477

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 0.12.3
  2. palantirnet/drupal-rector: 0.5.5
  3. rector/rector-prefixed: dev-master
deepakkumar14’s picture

Issue summary: View changes
StatusFileSize
new1022 bytes

I have added a patch for Drupal 9 compatibility of this module.

jasonluttrell’s picture

I'm getting another Drupal 9 issue. To be clear, this module worked fine in Drupal 8.

I created another ticket for this: https://www.drupal.org/project/admin_toolbar_toggle/issues/3167322

The website encountered an unexpected error. Please try again later.

Drupal\Core\Security\UntrustedCallbackException: Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was _admin_toolbar_toggle_pre_render_toolbar. See https://www.drupal.org/node/2966725 in Drupal\Core\Render\Renderer->doTrustedCallback() (line 96 of core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php).
Drupal\Core\Render\Renderer->doCallback('#pre_render', '_admin_toolbar_toggle_pre_render_toolbar', Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 444)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 105)
__TwigTemplate_1f57c2b3c5e0f470df2ec7e1bea1bd707d248aa3ad39b428f22e887c70d843cb->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('core/themes/seven/templates/classy/layout/html.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('html', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 147)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 148)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 78)
Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy->dispatch(Object, 'kernel.view') (Line: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 50)
Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 705)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

jasonluttrell’s picture

@deepakkumar14 - there does not seem to be much activity on this module, but I cannot find any other recent modules doing something similar. I tried to fix this myself, but only succeeded at making the menu disappear completely. While it doesn't seem like a complex module, I can't figure out how to fix the code. I understand that in Drupal 9, the callback is supposed to be in a class that implements TrustedCallbackInterface. Can you help finish making this Drupal 9 compatible? It would be greatly appreciated.

mortona2k’s picture

This patch incorporates the previous fixes and moves the #pre_render callback function into a class that implements TrustedCallbackInterface.

Here is the relevant change record for this: https://www.drupal.org/node/2966725.

@deepakkumar14 thanks for kicking this off, and @jasonluttrell thanks for reporting the other issue. I think we should close that one and call it fixed in here if this patch passes review.

mortona2k’s picture

Changing the line to:

$info['toolbar']['#pre_render'][] = [\Drupal\admin_toolbar_toggle\AdminToolbarToggle::class, 'preRender'];

jasonluttrell’s picture

Excellent. Thanks for the work on this! I tried out the patch in #7 on my local computer and it works wonderfully.

jasonluttrell’s picture

Status: Needs review » Reviewed & tested by the community

  • mortona2k committed c35d8e01 on 8.x-1.x
    Issue #3146067 by mortona2k, Project Update Bot, deepakkumar14,...
mortona2k’s picture

mortona2k’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

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