- πΊπΈUnited States nessthehero
Is this task under consideration by the maintainers? This module shows up on Upgrade Status under "Collaborate with maintainers" as a module that needs support.
I don't see any other ticket tracking active progress towards Drupal 10 support. Is it planned? Is this module still actively maintained?
- First commit to issue fork.
- πΊπΈUnited States nessthehero
LGTM! Module works on Drupal 10.1.2 via DrupalPod, and changes in the MR seem simple enough to me.
Also tested in 9.5.9 with Upgrade Status, and it shows up green!
I'm still a bit new to contributing on d.o so I don't know if I need to mark this as RTBC or someone else can do that? Either way, I think this is great!
- Status changed to RTBC
9 months ago 4:15pm 11 October 2023 - πΊπΈUnited States Albert Volkman
Setting status per @nessthehero's review.
- Status changed to Needs work
12 days ago 7:19pm 16 June 2024 - πΈπ°Slovakia kaszarobert
With the MR changes, although Upgrade Status says it is compatible, there's some major problem that needs to be dealt with under Drupal 10 during module install:
Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException: Circular reference detected for service "cache.backend.database", path: "http_kernel -> http_middleware.ajax_page_state -> http_middleware.negotiation -> http_middleware.reverse_proxy -> http_middleware.page_cache -> cache.page -> cache.backend.database -> Drupal\Component\Datetime\TimeInterface -> state -> cache.bootstrap". in Drupal\Component\DependencyInjection\Container->get() (line 149 of core/lib/Drupal/Component/DependencyInjection/Container.php). Drupal\Component\DependencyInjection\Container->get('cache.backend.database') (Line: 98) Drupal\Core\Cache\ChainedFastBackendFactory->get('bootstrap') (Line: 110) Drupal\Core\Cache\CacheFactory->get('bootstrap') call_user_func_array(Array, Array) (Line: 257) Drupal\Component\DependencyInjection\Container->createService(Array, 'cache.bootstrap') (Line: 179) Drupal\Component\DependencyInjection\Container->get('cache.bootstrap', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'state') (Line: 179) Drupal\Component\DependencyInjection\Container->get('state', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'Drupal\Component\Datetime\TimeInterface') (Line: 179) Drupal\Component\DependencyInjection\Container->get('Drupal\Component\Datetime\TimeInterface', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'cache.backend.database') (Line: 179) Drupal\Component\DependencyInjection\Container->get('cache.backend.database') (Line: 110) Drupal\Core\Cache\CacheFactory->get('page') call_user_func_array(Array, Array) (Line: 257) Drupal\Component\DependencyInjection\Container->createService(Array, 'cache.page') (Line: 179) Drupal\Component\DependencyInjection\Container->get('cache.page', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'http_middleware.page_cache') (Line: 179) Drupal\Component\DependencyInjection\Container->get('http_middleware.page_cache', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'http_middleware.reverse_proxy') (Line: 179) Drupal\Component\DependencyInjection\Container->get('http_middleware.reverse_proxy', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'http_middleware.negotiation') (Line: 179) Drupal\Component\DependencyInjection\Container->get('http_middleware.negotiation', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'http_middleware.ajax_page_state') (Line: 179) Drupal\Component\DependencyInjection\Container->get('http_middleware.ajax_page_state', 1) (Line: 438) Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) (Line: 239) Drupal\Component\DependencyInjection\Container->createService(Array, 'http_kernel') (Line: 179) Drupal\Component\DependencyInjection\Container->get('http_kernel') (Line: 1513) Drupal\Core\DrupalKernel->getHttpKernel() (Line: 741) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
After this error the module is enabled but the scheduled transition state and date tables are not created resulting to a broken site. Since the tables were not created, you cannot even uninstall this module because of this error:
pc@ASUS-PC:~/lando-projects/drupal10.localhost/web/modules/custom/lightning_scheduler$ lando drush pmu lightning_scheduler In ExceptionHandler.php line 56: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal10.block_content_r__48d0019ac1' doesn't exist: SELECT 1 AS "expression" FROM "block_content_r__48d0019ac1" "t" WHERE "scheduled_transition_date_value" IS NOT NULL LIMIT 1 OFFSET 0; Array ( ) In StatementWrapperIterator.php line 113: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'drupal10.block_content_r__48d0019ac1' doesn't exist
This problem does not appear on Drupal 9 clean install. It needs to be fixed here.
- π¨π¦Canada deviantintegral
FYI there's a new error introduced in 10.3.0:
In Container.php line 149: Circular reference detected for service "cache.bootstrap", path: "module_handler -> cache.bootstrap -> cache.backend.apcu -> Drupal\Component\Datetime\TimeInterface -> state".
This is because lightning_scheduler.datetime.time decoartes datetime.time and modifies the constructor arguments, which are not part of compatibility promises by core. It may be more reliable to instead inject that via setter injection.
- Assigned to kaszarobert