Upgrading to beta 3 breaks website

Created on 3 December 2024, 15 days ago

When I upgrade from beta1 to beta 3 my website breaks. I also tried upgrading from beta 1 to beta 2, then beta 3 and experienced the same problem. I When I try to roll back to beta1, the website is still broken. I must recover the site from a backup to restore functionality.

The full Error result when running composer is:
------------------------------------
#$:/var/www/html/website$ drush updatedb
------------------ ----------- --------------- -------------------------------
Module Update ID Type Description
------------------ ----------- --------------- -------------------------------
ai_assistant_api 10200 hook_update_n 10200 - Implements
hook_update_N().
ai_content 9100 hook_update_n 9100 - Copy the old settings
over to the new module and
disable this one.
ai_assistant_api settings post-update Move settings into new fields
to handle future restructure
on config.
------------------ ----------- --------------- -------------------------------

> [notice] Update started: ai_assistant_api_update_10200
> [error] Cannot assign null to property Drupal\ai_assistant_api\Entity\AiAssistant::$system_prompt of type string
> [error] Update failed: ai_assistant_api_update_10200
> [notice] Update started: ai_content_update_9100
> [error] Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61
> [error] Update failed: ai_content_update_9100
[error] Update aborted by: ai_assistant_api_update_10200, ai_content_update_9100
[error] Finished performing updates.
[error] TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct() (line 53 of /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php) #0 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php(61): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct()
#1 /var/www/html/website/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::create()
#2 /var/www/html/website/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
#3 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Routing/AiApiExplorerRouteSubscriber.php(30): Drupal\Component\Plugin\PluginManagerBase->createInstance()
#4 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\ai_api_explorer\Routing\AiApiExplorerRouteSubscriber->alterRoutes()
#5 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes()
#6 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
#7 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#8 /var/www/html/website/web/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
#9 /var/www/html/website/web/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
#10 /var/www/html/website/vendor/drush/drush/src/Commands/core/UpdateDBCommands.php(96): drupal_flush_all_caches()
#11 [internal function]: Drush\Commands\core\UpdateDBCommands->updatedb()
#12 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
#13 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
#14 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
#15 /var/www/html/website/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
#16 /var/www/html/website/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
#17 /var/www/html/website/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#18 /var/www/html/website/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#19 /var/www/html/website/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#20 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
#21 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
#22 /var/www/html/website/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run()
#23 /var/www/html/website/vendor/bin/drush.php(119): include('...')
#24 {main}.
TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 53 #0 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php(61): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct()
#1 /var/www/html/website/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::create()
#2 /var/www/html/website/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
#3 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Routing/AiApiExplorerRouteSubscriber.php(30): Drupal\Component\Plugin\PluginManagerBase->createInstance()
#4 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\ai_api_explorer\Routing\AiApiExplorerRouteSubscriber->alterRoutes()
#5 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes()
#6 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
#7 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#8 /var/www/html/website/web/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
#9 /var/www/html/website/web/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
#10 /var/www/html/website/vendor/drush/drush/src/Commands/core/UpdateDBCommands.php(96): drupal_flush_all_caches()
#11 [internal function]: Drush\Commands\core\UpdateDBCommands->updatedb()
#12 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
#13 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
#14 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
#15 /var/www/html/website/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
#16 /var/www/html/website/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
#17 /var/www/html/website/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#18 /var/www/html/website/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#19 /var/www/html/website/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#20 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
#21 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
#22 /var/www/html/website/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run()
#23 /var/www/html/website/vendor/bin/drush.php(119): include('...')
#24 {main}
TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct() (line 53 of /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php).
[warning] Drush command terminated abnormally.
---------------------------------------------------------------------------------

When I try to load the page I get the white screen of death. Checking the logs after this reveals the following error with an unrelated module (commerce license) that I did not experience before. When I roll back, everything is fine. This error output:
--------------------
Message Error: Call to a member function label() on null in Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->checkUserHasExistingRights() (line 102 of /var/www/html/website/web/modules/contrib/commerce_license/src/Plugin/Commerce/LicenseType/Role.php).
Severity Error
Hostname 67.11.162.40
Operations
Backtrace
#0 /var/www/html/website/web/modules/contrib/commerce_license/src/LicenseAvailabilityCheckerExistingRights.php(173): Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->checkUserHasExistingRights()
#1 /var/www/html/website/web/modules/contrib/commerce_license/src/LicenseAvailabilityCheckerExistingRights.php(136): Drupal\commerce_license\LicenseAvailabilityCheckerExistingRights->checkPurchasable()
#2 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/AvailabilityManager.php(50): Drupal\commerce_license\LicenseAvailabilityCheckerExistingRights->check()
#3 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/AvailabilityOrderProcessor.php(53): Drupal\commerce_order\AvailabilityManager->check()
#4 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderRefresh.php(198): Drupal\commerce_order\AvailabilityOrderProcessor->process()
#5 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(123): Drupal\commerce_order\OrderRefresh->refresh()
#6 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(86): Drupal\commerce_order\OrderStorage->doOrderPreSave()
#7 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(529): Drupal\commerce_order\OrderStorage->invokeHook()
#8 /var/www/html/website/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(753): Drupal\Core\Entity\EntityStorageBase->doPreSave()
#9 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(483): Drupal\Core\Entity\ContentEntityStorageBase->doPreSave()
#10 /var/www/html/website/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save()
#11 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(169): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()
#12 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityBase.php(354): Drupal\commerce_order\OrderStorage->save()
#13 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(156): Drupal\Core\Entity\EntityBase->save()
#14 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(319): Drupal\commerce_order\OrderStorage->postLoad()
#15 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(232): Drupal\Core\Entity\EntityStorageBase->loadMultiple()
#16 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(180): Drupal\commerce_cart\CartProvider->loadCartData()
#17 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(167): Drupal\commerce_cart\CartProvider->getCartIds()
#18 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/Plugin/Block/CartBlock.php(253): Drupal\commerce_cart\CartProvider->getCarts()
#19 /var/www/html/website/web/core/modules/block/src/BlockViewBuilder.php(47): Drupal\commerce_cart\Plugin\Block\CartBlock->getCacheTags()
#20 /var/www/html/website/web/core/modules/block/src/BlockViewBuilder.php(32): Drupal\block\BlockViewBuilder->viewMultiple()
#21 /var/www/html/website/web/core/modules/block/src/Plugin/DisplayVariant/BlockPageVariant.php(152): Drupal\block\BlockViewBuilder->view()
#22 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(270): Drupal\block\Plugin\DisplayVariant\BlockPageVariant->build()
#23 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
#24 /var/www/html/website/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
#25 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
#26 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
#27 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#28 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#29 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
#30 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#31 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#32 /var/www/html/website/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
#33 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
#34 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
#35 /var/www/html/website/web/modules/contrib/advban/src/AdvbanMiddleware.php(57): Drupal\page_cache\StackMiddleware\PageCache->handle()
#36 /var/www/html/website/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\advban\AdvbanMiddleware->handle()
#37 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle()
#38 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#39 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#40 /var/www/html/website/web/modules/contrib/remove_http_headers/src/StackMiddleware/RemoveHttpHeadersMiddleware.php(49): Drupal\Core\StackMiddleware\AjaxPageState->handle()
#41 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\remove_http_headers\StackMiddleware\RemoveHttpHeadersMiddleware->handle()
#42 /var/www/html/website/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
#43 /var/www/html/website/web/index.php(19): Drupal\Core\DrupalKernel->handle()
#44 {main}
--------------------

šŸ› Bug report
Status

Active

Version

1.0

Component

AI Core module

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @jbuttler
  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @jbuttler - could you check if you can do an update against current dev release? I think there is a bug, outside of the commerce update you are mentioning.

  • šŸ‡®šŸ‡³India mubasshir khan New Delhi, India

    1 - Resolving the TypeError in the ai_api_explorer Module.
    Make sure the right class is being used. You may need to change the service definition or the constructor to take the correct type.

    Check the service definition in your module's services.yml file:

    services:
      ai_api_explorer.image_and_audio_to_video_generator:
        class: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator
        arguments: ['@service_container', '@entity_type.manager', '@file_system', '@logger.factory', '@module_handler', '@path.alias_manager', '@renderer', '@file_url_generator']

    Ensure that @file_url_generator is correctly defined and injected.

    2 - Correcting the mistake in the commerce_license module.
    Look at the checkUserHasExistingRights method in the Role class and make sure the entity is loaded correctly before using any methods on it.

    <?php
    public function checkUserHasExistingRights($user) {
      $role = $this->entityTypeManager->getStorage('user_role')->load($this->getRoleId());
      if ($role) {
        // Proceed with the logic
      } else {
        // Handle the case where the role is not found
        \Drupal::logger('commerce_license')->error('Role not found.');
      }
    }

    3 - Steps to Troubleshoot and Fix Issues
    a. Backup Your Site
    Always make sure to back up your site completely before making any updates or changes.

    b. Update Dependencies
    Check that all dependencies are current. Use the following commands:

    c. Clear Cache
    Clear the Drupal cache to make sure all changes are applied:

    d. Run Database Updates
    Execute the database updates to implement any outstanding updates:

    e. Check for Custom Code
    Examine any custom code or patches that could be causing issues. Verify that custom modules and themes work with the new version.

    2. Rolling Back
    If you need to revert to a previous version, restore both the codebase and the database to how they were before the upgrade attempt.

    3. Consult Module Maintainers
    If problems continue, consider contacting the maintainers of the contributed modules (like ai_api_explorer, commerce_license, etc.) for help. They may have specific fixes or updates to resolve these issues.

  • I just tried the dev release. The AI Assistant update was successful but the AI content update was not. The full output from composer is below:
    ---------------------------------------------------------------
    website$ sudo ./vendor/bin/drush updatedb
    ------------------ ----------- --------------- -------------------------------
    Module Update ID Type Description
    ------------------ ----------- --------------- -------------------------------
    ai_assistant_api 10200 hook_update_n 10200 - Implements
    hook_update_N().
    ai_content 9100 hook_update_n 9100 - Copy the old settings
    over to the new module and
    disable this one.
    ai_assistant_api settings post-update Move settings into new fields
    to handle future restructure
    on config.
    ------------------ ----------- --------------- -------------------------------

    ā”Œ Do you wish to run the specified pending updates? ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
    ā”‚ Yes ā”‚
    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

    > [notice] Update started: ai_assistant_api_update_10200
    > [notice] Update completed: ai_assistant_api_update_10200
    > [notice] Update started: ai_content_update_9100
    > [error] Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61
    > [error] Update failed: ai_content_update_9100
    [error] Update aborted by: ai_content_update_9100
    [error] Finished performing updates.
    [error] TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct() (line 53 of /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php) #0 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php(61): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct()
    #1 /var/www/html/website/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::create()
    #2 /var/www/html/website/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
    #3 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Routing/AiApiExplorerRouteSubscriber.php(30): Drupal\Component\Plugin\PluginManagerBase->createInstance()
    #4 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\ai_api_explorer\Routing\AiApiExplorerRouteSubscriber->alterRoutes()
    #5 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes()
    #6 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #7 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #8 /var/www/html/website/web/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
    #9 /var/www/html/website/web/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
    #10 /var/www/html/website/vendor/drush/drush/src/Commands/core/UpdateDBCommands.php(96): drupal_flush_all_caches()
    #11 [internal function]: Drush\Commands\core\UpdateDBCommands->updatedb()
    #12 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
    #13 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
    #14 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
    #15 /var/www/html/website/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
    #16 /var/www/html/website/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
    #17 /var/www/html/website/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
    #18 /var/www/html/website/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
    #19 /var/www/html/website/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
    #20 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
    #21 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
    #22 /var/www/html/website/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run()
    #23 /var/www/html/website/vendor/bin/drush.php(119): include('...')
    #24 {main}.
    TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 53 #0 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php(61): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct()
    #1 /var/www/html/website/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::create()
    #2 /var/www/html/website/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
    #3 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Routing/AiApiExplorerRouteSubscriber.php(30): Drupal\Component\Plugin\PluginManagerBase->createInstance()
    #4 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\ai_api_explorer\Routing\AiApiExplorerRouteSubscriber->alterRoutes()
    #5 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes()
    #6 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #7 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #8 /var/www/html/website/web/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
    #9 /var/www/html/website/web/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
    #10 /var/www/html/website/vendor/drush/drush/src/Commands/core/UpdateDBCommands.php(96): drupal_flush_all_caches()
    #11 [internal function]: Drush\Commands\core\UpdateDBCommands->updatedb()
    #12 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
    #13 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
    #14 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
    #15 /var/www/html/website/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
    #16 /var/www/html/website/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
    #17 /var/www/html/website/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
    #18 /var/www/html/website/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
    #19 /var/www/html/website/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
    #20 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
    #21 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
    #22 /var/www/html/website/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run()
    #23 /var/www/html/website/vendor/bin/drush.php(119): include('...')
    #24 {main}
    TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct() (line 53 of /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php).
    [warning] Drush command terminated abnormally.
    -------------------------------------------------------------------

    The site is not broken after updating to the dev release, however I have a new error in the log messages related to this. The message about the commerce license error is not present this time:

    -----------------------------------------------------------------
    TypeError: Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::__construct(): Argument #8 ($fileUrlGenerator) must be of type Drupal\Core\File\FileUrlGenerator, Drupal\cdn\File\FileUrlGenerator given, called in /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php on line 61 in Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct() (line 53 of /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php)
    #0 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Plugin/AiApiExplorer/ImageAndAudioToVideoGenerator.php(61): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator->__construct()
    #1 /var/www/html/website/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\ai_api_explorer\Plugin\AiApiExplorer\ImageAndAudioToVideoGenerator::create()
    #2 /var/www/html/website/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance()
    #3 /var/www/html/website/web/modules/contrib/ai/modules/ai_api_explorer/src/Routing/AiApiExplorerRouteSubscriber.php(30): Drupal\Component\Plugin\PluginManagerBase->createInstance()
    #4 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteSubscriberBase.php(37): Drupal\ai_api_explorer\Routing\AiApiExplorerRouteSubscriber->alterRoutes()
    #5 [internal function]: Drupal\Core\Routing\RouteSubscriberBase->onAlterRoutes()
    #6 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #7 /var/www/html/website/web/core/lib/Drupal/Core/Routing/RouteBuilder.php(189): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #8 /var/www/html/website/web/core/lib/Drupal/Core/ProxyClass/Routing/RouteBuilder.php(83): Drupal\Core\Routing\RouteBuilder->rebuild()
    #9 /var/www/html/website/web/core/includes/common.inc(485): Drupal\Core\ProxyClass\Routing\RouteBuilder->rebuild()
    #10 /var/www/html/website/vendor/drush/drush/src/Commands/core/UpdateDBCommands.php(96): drupal_flush_all_caches()
    #11 [internal function]: Drush\Commands\core\UpdateDBCommands->updatedb()
    #12 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(276): call_user_func_array()
    #13 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(212): Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback()
    #14 /var/www/html/website/vendor/consolidation/annotated-command/src/CommandProcessor.php(175): Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter()
    #15 /var/www/html/website/vendor/consolidation/annotated-command/src/AnnotatedCommand.php(387): Consolidation\AnnotatedCommand\CommandProcessor->process()
    #16 /var/www/html/website/vendor/symfony/console/Command/Command.php(326): Consolidation\AnnotatedCommand\AnnotatedCommand->execute()
    #17 /var/www/html/website/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
    #18 /var/www/html/website/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
    #19 /var/www/html/website/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
    #20 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(110): Symfony\Component\Console\Application->run()
    #21 /var/www/html/website/vendor/drush/drush/src/Runtime/Runtime.php(40): Drush\Runtime\Runtime->doRun()
    #22 /var/www/html/website/vendor/drush/drush/drush.php(140): Drush\Runtime\Runtime->run()
    #23 /var/www/html/website/vendor/bin/drush.php(119): include('...')
    #24 {main}
    .

  • As a side note, when I attempt to use the AI explorer after updating to the dev release, I get the white screen.

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @jbuttler, I have merged another fix into the dev branch. We were assuming the Drupal file system and its generator for urls, but we should have loaded the interface as you probably have your files store in s3 or some other blob or CDN storage? Could you try once more on dev. Thanks for your patience.

  • šŸ‡«šŸ‡®Finland merilainen

    I had also some issues with beta1 -> beta3 update. After updating the database and exporting configuration, the Authenticated user role disappeared completely. I reverted the change and tried to save the role so that I could export clean configuration, but the saving the role produced an error:
    RuntimeException: Adding non-existent permissions to a role is not allowed. The incorrect permissions are "access ai content tools". in Drupal\user\Entity\Role->calculateDependencies() (line 210 of /var/www/html/web/core/modules/user/src/Entity/Role.php).
    After I removed that "access ai content tools" permission from the user.role.authenticated.yml file and imported the configuration, I was able to save the role permissions and export it. Now I can see these changes in the configuration.

    dependencies.module:
    - 'ai_content'
    + 'ai_api_explorer'
    
    permissions:
    - 'access ai content tools'
    + 'access ai prompt'
    
  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @merilainen - did you flush the cache before doing the export? Was the actual role gone from the roles UI or from the export only?

    If everything works like it should in the update, it should have uninstalled ai_content module and that would also remove that specific permissions, so the configuration changes looks correct.

  • šŸ‡«šŸ‡®Finland merilainen

    I tested again with a previous database dump with beta1. Looks like the export will delete the authenticated user and it has also disappeared from the Drupal UI

    āÆ ddev import-db --file=2024-11-21_main.sql
    Successfully imported database 'db' for internal-drupal-ai
    āÆ ddev drush updb -y
     ------------ ----------- --------------- ---------------------------------------------------------------------------
      Module       Update ID   Type            Description
     ------------ ----------- --------------- ---------------------------------------------------------------------------
      ai_content   9100        hook_update_n   9100 - Copy the old settings over to the new module and disable this one.
     ------------ ----------- --------------- ---------------------------------------------------------------------------
     // Do you wish to run the specified pending updates?: yes
    >  [notice] Update started: ai_content_update_9100
    >  [notice] Update completed: ai_content_update_9100
    >  [notice] The configuration was successfully updated. 18 configuration objects updated.
     [success] Finished performing updates.
    āÆ ddev drush cr
     [success] Cache rebuild complete.
    āÆ ddev drush cex -y
     [notice] Differences of the active config to the export directory:
    +------------+---------------------------------+-----------+
    | Collection | Config                          | Operation |
    +------------+---------------------------------+-----------+
    |            | ai_content_suggestions.settings | Create    |
    |            | core.extension                  | Update    |
    |            | user.role.authenticated         | Delete    |
    |            | ai_content.settings             | Delete    |
    +------------+---------------------------------+-----------+
    
  • I just upgraded using the dev version, and I did not receive any errors during the update. Composer ran successfully without any reported issues, and there are no issues in the logs yet. I will take some time today to use various features and report back any problems I experience.

    One unexpected effect of the update is that the AI explorer is missing some of the options it had before. This may be intentional, or it may be an error that is not appearing in the logs. I have 6 options available now when I had a dozen or more available before. Let me know if this is unintentional and I can look at a backup to provide a list of the missing options.

    In addition, I am unable to save tts files in the file system, but this may be related to s3. I opened an issue for this in a different ticket, and it was suggested to upgrade to Beta 3 and it may fix the issue. Upgrading to the dev version did not fix the issue, and I receive the following error when trying to create a tts file while automatically saving it to the file system. I will update the ticket for that issue also.
    -------------------------------
    An error occurred
    The following error occurred while processing your request:

    The specified file 'temporary://fileHP6ttq' could not be copied because the destination directory 's3://2024-12/text-to-speech.mp3' is not properly configured. This may be caused by a problem with file or directory permissions.

    Of the following exception type:

    Drupal\Core\File\Exception\DirectoryNotReadyException
    --------------------
    My s3 is working for all other functions including saving audio files through the media library.

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @merilainen - If there is no proprietary permissions in that authenticated role, would it be possible to get that config over Slack? I can't replicate this issue and I might need that to replicate it. Unless you deem the manual solution ok.

    @jbuttler - Its on purpose that the other doesn't show - it will only show explorers where you have an provider setup for that explorer. Since they are visible in AI Settings you would know which ones exist anyway. Thank you for the other ticket, we have not tested the modules in general on other none-local storages, so it's good to test a lot of the features on it.

  • After using the site a little, I am now getting different errors related to commerce license that I was not experiencing before upgrading to the dev version. I double checked the permissions and setup on the license module and verified everything is correct.
    I will try deleting existing licenses in the system and see if I get the same error, then report back. I am not sure if this is because of this update, or because of the license module.

    The errors are all the same:
    --------------------------------------

    Type php
    Date Wednesday, December 4, 2024 - 9:55 am
    Location https://www.aideamaker.com/Posting-Limits-AI-Text/Account-Manger-AI-Text...
    Referrer https://www.aideamaker.com/admin/structure/taxonomy/manage/posting_limit...
    Message Error: Call to a member function label() on null in Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->checkUserHasExistingRights() (line 102 of /var/www/html/website/web/modules/contrib/commerce_license/src/Plugin/Commerce/LicenseType/Role.php).
    Severity Error
    Operations
    Backtrace
    #0 /var/www/html/website/web/modules/contrib/commerce_license/src/LicenseAvailabilityCheckerExistingRights.php(173): Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->checkUserHasExistingRights()
    #1 /var/www/html/website/web/modules/contrib/commerce_license/src/LicenseAvailabilityCheckerExistingRights.php(136): Drupal\commerce_license\LicenseAvailabilityCheckerExistingRights->checkPurchasable()
    #2 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/AvailabilityManager.php(50): Drupal\commerce_license\LicenseAvailabilityCheckerExistingRights->check()
    #3 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/AvailabilityOrderProcessor.php(53): Drupal\commerce_order\AvailabilityManager->check()
    #4 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderRefresh.php(198): Drupal\commerce_order\AvailabilityOrderProcessor->process()
    #5 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(123): Drupal\commerce_order\OrderRefresh->refresh()
    #6 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(86): Drupal\commerce_order\OrderStorage->doOrderPreSave()
    #7 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(529): Drupal\commerce_order\OrderStorage->invokeHook()
    #8 /var/www/html/website/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(753): Drupal\Core\Entity\EntityStorageBase->doPreSave()
    #9 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(483): Drupal\Core\Entity\ContentEntityStorageBase->doPreSave()
    #10 /var/www/html/website/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save()
    #11 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(169): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()
    #12 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityBase.php(354): Drupal\commerce_order\OrderStorage->save()
    #13 /var/www/html/website/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(156): Drupal\Core\Entity\EntityBase->save()
    #14 /var/www/html/website/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(319): Drupal\commerce_order\OrderStorage->postLoad()
    #15 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(232): Drupal\Core\Entity\EntityStorageBase->loadMultiple()
    #16 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(180): Drupal\commerce_cart\CartProvider->loadCartData()
    #17 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/CartProvider.php(167): Drupal\commerce_cart\CartProvider->getCartIds()
    #18 /var/www/html/website/web/modules/contrib/commerce/modules/cart/src/Plugin/Block/CartBlock.php(253): Drupal\commerce_cart\CartProvider->getCarts()
    #19 /var/www/html/website/web/core/modules/block/src/BlockViewBuilder.php(47): Drupal\commerce_cart\Plugin\Block\CartBlock->getCacheTags()
    #20 /var/www/html/website/web/core/modules/block/src/BlockViewBuilder.php(32): Drupal\block\BlockViewBuilder->viewMultiple()
    #21 /var/www/html/website/web/core/modules/block/src/Plugin/DisplayVariant/BlockPageVariant.php(152): Drupal\block\BlockViewBuilder->view()
    #22 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(270): Drupal\block\Plugin\DisplayVariant\BlockPageVariant->build()
    #23 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
    #24 /var/www/html/website/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
    #25 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    #26 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #27 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #28 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
    #29 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
    #30 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
    #31 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
    #32 /var/www/html/website/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
    #33 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
    #34 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
    #35 /var/www/html/website/web/modules/contrib/advban/src/AdvbanMiddleware.php(57): Drupal\page_cache\StackMiddleware\PageCache->handle()
    #36 /var/www/html/website/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\advban\AdvbanMiddleware->handle()
    #37 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle()
    #38 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
    #39 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
    #40 /var/www/html/website/web/modules/contrib/remove_http_headers/src/StackMiddleware/RemoveHttpHeadersMiddleware.php(49): Drupal\Core\StackMiddleware\AjaxPageState->handle()
    #41 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\remove_http_headers\StackMiddleware\RemoveHttpHeadersMiddleware->handle()
    #42 /var/www/html/website/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
    #43 /var/www/html/website/web/index.php(19): Drupal\Core\DrupalKernel->handle()
    #44 {main}

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @jbuttler - The last error could be connected to the same thing that @merilainen is seeing - could you check that the Authenticated User or some other user role was not removed?

  • No user roles are missing.

    I ran the all cron jobs and cleared the caches, and now the site has the white screen of death when navigating to most places. I tried to check the commerce license page and received a new error:
    ---------------------------------------------
    Type php
    Date Wednesday, December 4, 2024 - 10:43 am
    User jeremy
    Location https://www.aideamaker.com/admin/commerce/licenses
    Referrer https://www.aideamaker.com/admin/commerce/config/licenses/dashboard
    Message Error: Call to a member function label() on null in Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->buildLabel() (line 48 of /var/www/html/website/web/modules/contrib/commerce_license/src/Plugin/Commerce/LicenseType/Role.php).
    Severity Error
    Hostname 67.11.162.40
    Operations
    Backtrace
    #0 /var/www/html/website/web/modules/contrib/commerce_license/src/Entity/License.php(99): Drupal\commerce_license\Plugin\Commerce\LicenseType\Role->buildLabel()
    #1 /var/www/html/website/web/modules/contrib/commerce_license/src/Plugin/views/field/EntityLabel.php(94): Drupal\commerce_license\Entity\License->label()
    #2 /var/www/html/website/web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1202): Drupal\commerce_license\Plugin\views\field\EntityLabel->render()
    #3 /var/www/html/website/web/core/modules/views/views.theme.inc(238): Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender()
    #4 [internal function]: template_preprocess_views_view_field()
    #5 /var/www/html/website/web/core/lib/Drupal/Core/Theme/ThemeManager.php(261): call_user_func_array()
    #6 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
    #7 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
    #8 /var/www/html/website/web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1796): Drupal\Core\Render\Renderer->render()
    #9 /var/www/html/website/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(767): Drupal\views\Plugin\views\field\FieldPluginBase->theme()
    #10 [internal function]: Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow()
    #11 /var/www/html/website/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
    #12 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback()
    #13 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback()
    #14 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
    #15 /var/www/html/website/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(706): Drupal\Core\Render\Renderer->render()
    #16 /var/www/html/website/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(572): Drupal\views\Plugin\views\style\StylePluginBase->renderFields()
    #17 /var/www/html/website/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(460): Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping()
    #18 /var/www/html/website/web/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php(2177): Drupal\views\Plugin\views\style\StylePluginBase->render()
    #19 /var/www/html/website/web/core/modules/views/src/ViewExecutable.php(1593): Drupal\views\Plugin\views\display\DisplayPluginBase->render()
    #20 /var/www/html/website/web/core/modules/views/src/Plugin/views/display/Page.php(201): Drupal\views\ViewExecutable->render()
    #21 /var/www/html/website/web/core/modules/views/src/ViewExecutable.php(1690): Drupal\views\Plugin\views\display\Page->execute()
    #22 /var/www/html/website/web/core/modules/views/src/Element/View.php(81): Drupal\views\ViewExecutable->executeDisplay()
    #23 [internal function]: Drupal\views\Element\View::preRenderViewElement()
    #24 /var/www/html/website/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
    #25 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback()
    #26 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback()
    #27 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
    #28 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render()
    #29 /var/www/html/website/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
    #30 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(231): Drupal\Core\Render\Renderer->executeInRenderContext()
    #31 /var/www/html/website/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
    #32 /var/www/html/website/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
    #33 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    #34 /var/www/html/website/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #35 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #36 /var/www/html/website/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
    #37 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
    #38 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
    #39 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
    #40 /var/www/html/website/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
    #41 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
    #42 /var/www/html/website/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
    #43 /var/www/html/website/web/modules/contrib/advban/src/AdvbanMiddleware.php(57): Drupal\page_cache\StackMiddleware\PageCache->handle()
    #44 /var/www/html/website/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\advban\AdvbanMiddleware->handle()
    #45 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle()
    #46 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
    #47 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
    #48 /var/www/html/website/web/modules/contrib/remove_http_headers/src/StackMiddleware/RemoveHttpHeadersMiddleware.php(49): Drupal\Core\StackMiddleware\AjaxPageState->handle()
    #49 /var/www/html/website/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\remove_http_headers\StackMiddleware\RemoveHttpHeadersMiddleware->handle()
    #50 /var/www/html/website/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
    #51 /var/www/html/website/web/index.php(19): Drupal\Core\DrupalKernel->handle()
    #52 {main}

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    I have replicated the issue on update, that it is removing user roles from Beta1 to Beta3. Sorry that I did not see the sooner.

    This is 99% the cause of your issue jbuttler.

    There is a fix on the development release, could you try once again if it works.

  • No problem! I appreciate all of the hard work that you guys are doing on these AI modules and I am happy to help any way that I can.

    This seems to be working so far. I will keep using it and let you know if I experience additional issues.

  • I had a few assistants with custom instructions, prompts, and a system prompt on these assistants. It looks like all of these instructions were wiped out but the assistants are still functional. I can get my prompts from a site backup, but this may be a larger issue for some people

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    Thanks you for confirming that, since the second bug affects your website in large, outside of the AI module features, we have done a new release in beta4 with these changes.

    As for the AI Assistant API, this was known and on purpose, we wanted to move away the techinal part of the prompt completely, so anyone that is using this as a "normal" user can set instructions that are just specific for how they want a assistant to answer questions, instead of techincal nature on how to form json responses etc.

    Anyone that actually is playing around with that advanced part we assume uses backups, configuration files etc. to be able to figure out which parts needs to be rechanged.

  • I was able to successfully upgrade to beta-4. Thanks for your help!

  • šŸ‡©šŸ‡ŖGermany marcus_johansson

    @merilainen - can you confirm that it works for you as well with dev or beta4, before I close this issue?

    • marcus_johansson ā†’ committed ee5d0dae on 3479388-research-normalize-function
      Issue #3491390: FileUrlGeneratorInterface, instead of FileUrlGenerator...
  • šŸ‡«šŸ‡®Finland merilainen

    Yep, authenticated role is not deleted any more with beta4.

Production build 0.71.5 2024