Issue #3434069: Drupal 11 compatibility

Makes the module installable and loadable on Drupal 11:

  • core_version_requirement becomes ^10.3 || ^11. Queue UI 3.2, which the module requires since #3482659, needs 10.3, and CI tests 10.6 and 11.x.
  • EstimatedTimeToFinish injects plugin.manager.queue_stat instead of using ContainerAwareTrait, which Symfony 7 removes. It returns 0 when there is no processing rate (from !5 (closed)).
  • QueueStatisticManager creates its statistic plugins on the first queue event instead of in its constructor. Injecting the manager into a plugin otherwise causes a circular reference, as reported in #3558615.
  • getSubscribedEvents() returns array in the four subscribers, as Symfony 7's interface requires.
  • A kernel test processes a queue item and reads every statistic.

API change: the fourth constructor argument of EstimatedTimeToFinish is now QueueStatisticManager instead of the container.

After merge: close !2 (closed) and !5 (closed), which this MR supersedes.

AI-Generated: Yes (Used Claude Code to write the lazy plugin creation and the kernel test, and to find the circular reference.)

Edited by Achton Smidt Winther

Merge request reports

Loading
Loading