This bug is still very much alive, and I am in dire need for a solution on this..
#5 patch works fine on D10.2.7, php 8.1, thanks!
I have exactly the same problem and identical error messages on D10.2.7
@smustgrave, 1.0.11 works fine, many thanks!
FYI it does give this error in the /admin/reports/updates page:
Not compatible
Requires Drupal core: 10.0.0 to 10.1.6
but as it works that'll just be the version declaration in the info file..
Thanks for your quick responses! I have implemented the patch, the errors do disappear and I can flush caches and run update.php.
However, the media aliases now don't work as they should. Trying to access them using the alias (e.g. https://domain.tld/media/2562) gives a white screen, with the error/log reporting:
TypeError: Drupal\Core\Entity\Controller\EntityViewController::__construct(): Argument #2 ($renderer) must be of type Drupal\Core\Render\RendererInterface, Drupal\Core\Entity\EntityRepository given, called in /home/xxx/public_html/modules/contrib/media_alias_display/src/Controller/DisplayController.php on line 113 in Drupal\Core\Entity\Controller\EntityViewController->__construct() (line 40 of /home/xxx/public_html/core/lib/Drupal/Core/Entity/Controller/EntityViewController.php)
#0 /home/xxx/public_html/modules/contrib/media_alias_display/src/Controller/DisplayController.php(113): Drupal\Core\Entity\Controller\EntityViewController->__construct()
#1 /home/xxx/public_html/modules/contrib/media_alias_display/src/Controller/DisplayController.php(136): Drupal\media_alias_display\Controller\DisplayController->__construct()
#2 /home/xxx/public_html/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php(28): Drupal\media_alias_display\Controller\DisplayController::create()
#3 /home/xxx/public_html/core/lib/Drupal/Core/Controller/ControllerResolver.php(117): Drupal\Core\DependencyInjection\ClassResolver->getInstanceFromDefinition()
#4 /home/xxx/public_html/core/lib/Drupal/Core/Controller/ControllerResolver.php(69): Drupal\Core\Controller\ControllerResolver->createController()
#5 /home/xxx/public_html/core/lib/Drupal/Core/Controller/ControllerResolver.php(85): Drupal\Core\Controller\ControllerResolver->getControllerFromDefinition()
#6 /home/xxx/public_html/vendor/symfony/http-kernel/HttpKernel.php(152): Drupal\Core\Controller\ControllerResolver->getController()
#7 /home/xxx/public_html/vendor/symfony/http-kernel/HttpKernel.php(81): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#8 /home/xxx/public_html/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()
#9 /home/xxx/public_html/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#10 /home/xxx/public_html/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#11 /home/xxx/public_html/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
#12 /home/xxx/public_html/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
#13 /home/xxx/public_html/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#14 /home/xxx/public_html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#15 /home/xxx/public_html/core/lib/Drupal/Core/DrupalKernel.php(718): Stack\StackedHttpKernel->handle()
#16 /home/xxx/public_html/index.php(19): Drupal\Core\DrupalKernel->handle()
#17 {main}
Apologues for assuming a bug in the module or browsers..
I've solved the issue by making sure meta tag sets the canonical url to the alias..
Why didn't I think of that before..
thanks @keshavv and @marcoliver, but I'm afraid this is not the solution to my issue?
I have no files missing, so there's nothing I can save or add.. I've tried to remove the entire pathauto/config folder and to reinstall those files, but it makes no difference at all.
The entire module works fine, just at the 'settings' tab I get this array error.
To give a bit more detail: the pathauto module on this site used to work fine until recently. There are patterns for all content types, and these work fine to this day.
It's just that a little while ago (about a week before I raised this issue) the module stopped replacing spaces with hyphens, so suddenly newly created pages got a alias with everything written together (so /thisisfourwords instead of the desired /this-is-four-words). As the site is live and very active, this is a major problem and not an environment I can just crash at will to find a solution.. On all my other sites, including several with near identical set-ups, the module works fine.
And further suggestions would be extremely welcome!
Thanks for the suggestion.. Try the fix, still get white screen with 'unexpected error', and log now says:
TypeError: implode(): Argument #1 ($pieces) must be of type array, string given in implode() (line 256 of /home/eucitize/public_html/modules/contrib/pathauto/src/Form/PathautoSettingsForm.php)
Additional info: after I added playsinline in the twig, I discovered that now my phone etc worked great, but lap- and desktops now didn't autoplay anymore.. I have solved this leveraging bootstrap in the twig (see below) - but I assume there may be a more elegant javascript way adding 'playsilne' only when mobile/tablet detected -
{# mobile / ipad #}
<div class="d-block d-md-none">
<video preload="{{ player_attributes.preload }}" {{ player_attributes.controls ? 'controls' : '' }} style="width:{{ player_attributes.width }}px;height:{{ player_attributes.height }}px;" {{ player_attributes.autoplay ? 'autoplay' : '' }} {{ player_attributes.loop ? 'loop' : '' }} {{ player_attributes.muted ? 'muted' : '' }} playsinline>
{% for user in items %}
<source src="{{ user }}"/>
{% endfor %}
</video>
</div>
{# larger than mobile #}
<div class="d-none d-md-block">
<video preload="{{ player_attributes.preload }}" {{ player_attributes.controls ? 'controls' : '' }} style="width:{{ player_attributes.width }}px;height:{{ player_attributes.height }}px;" {{ player_attributes.autoplay ? 'autoplay' : '' }} {{ player_attributes.loop ? 'loop' : '' }} {{ player_attributes.muted ? 'muted' : '' }} >
{% for user in items %}
<source src="{{ user }}"/>
{% endfor %}
</video>
</div>