Fatal when trying to add twitter post

Created on 9 April 2025, 8 days ago

Problem/Motivation

I created one media type twitter.
I used media library
When I try to add new twitter post just after submit post I've got this fatal :

TypeError : Drupal\Component\Utility\Html::escape(): Argument #1 ($text) must be of type string, null given, called in /var/www/app/web/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 238 dans Drupal\Component\Utility\Html::escape() (/var/www/app/web/core/lib/Drupal/Component/Utility/Html.php ligne 431)

#0 /var/www/app/web/core/lib/Drupal/Component/Render/FormattableMarkup.php(238): Drupal\Component\Utility\Html::escape(NULL)
#1 /var/www/app/web/core/lib/Drupal/Component/Render/FormattableMarkup.php(187): Drupal\Component\Render\FormattableMarkup::placeholderEscape(NULL)
#2 /var/www/app/web/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php(195): Drupal\Component\Render\FormattableMarkup::placeholderFormat('Retirer @label', Array)
#3 /var/www/app/web/core/lib/Drupal/Component/Utility/ToStringTrait.php(15): Drupal\Core\StringTranslation\TranslatableMarkup->render()
#4 /var/www/app/web/core/lib/Drupal/Component/Render/PlainTextOutput.php(22): Drupal\Core\StringTranslation\TranslatableMarkup->__toString()
#5 /var/www/app/web/core/lib/Drupal/Core/Template/Attribute.php(151): Drupal\Component\Render\PlainTextOutput::renderFromHtml(Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#6 /var/www/app/web/core/lib/Drupal/Core/Template/Attribute.php(111): Drupal\Core\Template\Attribute->createAttributeValue('aria-label', Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#7 /var/www/app/web/core/lib/Drupal/Core/Template/Attribute.php(86): Drupal\Core\Template\Attribute->offsetSet('aria-label', Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#8 /var/www/app/web/core/lib/Drupal/Core/Theme/ThemeManager.php(324): Drupal\Core\Template\Attribute->__construct(Array)
#9 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(502): Drupal\Core\Theme\ThemeManager->render('input', Array)
#10 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(459): Drupal\Core\Render\Renderer->doRender(Array)
#11 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(203): Drupal\Core\Render\Renderer->doRender(Array, false)
#12 /var/www/app/web/core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render(Array)
#13 /var/www/app/web/sites/default/files/php/twig/67f684fd9df67_item-list--media-library-_SgAI3uto6fi0N043SVAmsC0-s/_Y1eRBd1IxTj9_nXClvgZOuMP4b8xoM6f3BQJvd9-XE.php(71): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#14 /var/www/app/vendor/twig/twig/src/Template.php(388): __TwigTemplate_5ebd49aee9e8358d5fca990408b4ac14->doDisplay(Array, Array)
#15 /var/www/app/vendor/twig/twig/src/Template.php(344): Twig\Template->yield(Array, Array)
#16 /var/www/app/vendor/twig/twig/src/Template.php(359): Twig\Template->display(Array)
#17 /var/www/app/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
#18 /var/www/app/web/core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render(Array)
#19 /var/www/app/web/core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template('core/themes/cla...', Array)
#20 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(446): Drupal\Core\Theme\ThemeManager->render('item_list__medi...', Array)
#21 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(459): Drupal\Core\Render\Renderer->doRender(Array)
#22 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(203): Drupal\Core\Render\Renderer->doRender(Array, true)
#23 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(108): Drupal\Core\Render\Renderer->render(Array, true)
#24 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(593): Drupal\Core\Render\Renderer->{closure:Drupal\Core\Render\Renderer::renderRoot():107}()
#25 /var/www/app/web/core/lib/Drupal/Core/Render/Renderer.php(107): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#26 /var/www/app/web/core/lib/Drupal/Core/Ajax/CommandWithAttachedAssetsTrait.php(36): Drupal\Core\Render\Renderer->renderRoot(Array)
#27 /var/www/app/web/core/lib/Drupal/Core/Ajax/ReplaceCommand.php(31): Drupal\Core\Ajax\InsertCommand->getRenderedContent()
#28 /var/www/app/web/core/lib/Drupal/Core/Ajax/AjaxResponse.php(43): Drupal\Core\Ajax\ReplaceCommand->render()
#29 /var/www/app/web/core/modules/media_library/src/Form/AddFormBase.php(637): Drupal\Core\Ajax\AjaxResponse->addCommand(Object(Drupal\Core\Ajax\ReplaceCommand))
#30 [internal function]: Drupal\media_library\Form\AddFormBase->updateFormCallback(Array, Object(Drupal\Core\Form\FormState), Object(Symfony\Component\HttpFoundation\Request))
#31 /var/www/app/web/core/lib/Drupal/Core/Form/FormAjaxResponseBuilder.php(69): call_user_func_array(Array, Array)
#32 /var/www/app/web/core/lib/Drupal/Core/Form/EventSubscriber/FormAjaxSubscriber.php(112): Drupal\Core\Form\FormAjaxResponseBuilder->buildResponse(Object(Symfony\Component\HttpFoundation\Request), Array, Object(Drupal\Core\Form\FormState), Array)
#33 /var/www/app/web/modules/contrib/tracer/src/EventDispatcher/TraceableEventDispatcher.php(155): Drupal\Core\Form\EventSubscriber\FormAjaxSubscriber->onException(Object(Symfony\Component\HttpKernel\Event\ExceptionEvent), 'kernel.exceptio...', Object(Drupal\tracer\EventDispatcher\TraceableEventDispatcher))
#34 /var/www/app/web/modules/contrib/tracer/src/EventDispatcher/TraceableEventDispatcher.php(77): Drupal\tracer\EventDispatcher\TraceableEventDispatcher->callListeners(Array, 'kernel.exceptio...', Object(Symfony\Component\HttpKernel\Event\ExceptionEvent))
#35 /var/www/app/vendor/symfony/http-kernel/HttpKernel.php(241): Drupal\tracer\EventDispatcher\TraceableEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ExceptionEvent), 'kernel.exceptio...')
#36 /var/www/app/vendor/symfony/http-kernel/HttpKernel.php(91): Symfony\Component\HttpKernel\HttpKernel->handleThrowable(Object(Drupal\Core\Form\FormAjaxException), Object(Symfony\Component\HttpFoundation\Request), 1)
#37 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#38 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#39 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#40 /var/www/app/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#41 /var/www/app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#42 /var/www/app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#43 /var/www/app/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#44 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#45 /var/www/app/web/modules/contrib/tracer/src/StackMiddleware/TracesMiddleware.php(38): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#46 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\tracer\StackMiddleware\TracesMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#47 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#48 /var/www/app/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#49 /var/www/app/web/core/lib/Drupal/Core/DrupalKernel.php(709): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#50 /var/www/app/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#51 {main}

.
🐛 Bug report
Status

Active

Version

2.10

Component

Code

Created by

🇫🇷France musa.thomas France 🇫🇷

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

Comments & Activities

  • Issue created by @musa.thomas
  • 🇫🇷France musa.thomas France 🇫🇷

    After debug it's coming from web/core/modules/media_library/src/Form/AddFormBase.php when the element submit is build, it required a label for aria-label attributes.
    The label here is NULL and also produce fatal. This label come from the metadata method of plugin source media. When the getMetadata is calll with $attribute_name='default_name', this value for this key is never defined.
    Everything works for exemple if you set default_name=id
    I don"t if it's normal or if I miss something in settings ?
    I post the patch in case

  • 🇫🇷France musa.thomas France 🇫🇷

    Also need to add x support

Production build 0.71.5 2024