Problem/Motivation
The recipe ai_recipe_content_classification uses this module inside an AI Automator. When creating a new entity that has a comment field the exception is thrown:
AssertionError: Cannot load the "node" entity with NULL ID. in assert() (line 266 of /var/www/html/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php).
Full trace:
#0 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(266): assert()
#1 /var/www/html/web/core/modules/comment/src/CommentForm.php(101): Drupal\Core\Entity\EntityStorageBase->load()
#2 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityForm.php(108): Drupal\comment\CommentForm->form()
#3 [internal function]: Drupal\Core\Entity\EntityForm->buildForm()
#4 /var/www/html/web/core/lib/Drupal/Core/Form/FormBuilder.php(554): call_user_func_array()
#5 /var/www/html/web/core/lib/Drupal/Core/Form/FormBuilder.php(303): Drupal\Core\Form\FormBuilder->retrieveForm()
#6 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm()
#7 /var/www/html/web/core/modules/comment/src/CommentLazyBuilders.php(117): Drupal\Core\Entity\EntityFormBuilder->getForm()
#8 [internal function]: Drupal\comment\CommentLazyBuilders->renderForm()
#9 /var/www/html/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(107): call_user_func_array()
#10 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(910): Drupal\Core\Render\Renderer->doTrustedCallback()
#11 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(417): Drupal\Core\Render\Renderer->doCallback()
#12 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#13 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render()
#14 /var/www/html/web/sites/default/files/php/twig/6a01c01c3b92e_field--comment.html.twig_jhCIdOIEWKN8MUd3-yO7Hi36C/P5BeTkRwurutzDzs3SvIM7ZUrC4mAJpR128N9FB_mPc.php(90): Drupal\Core\Template\TwigExtension->escapeFilter()
#15 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_6aa74ebf53949dd462997db419c9ff46->doDisplay()
#16 /var/www/html/vendor/twig/twig/src/Template.php(386): Twig\Template->yield()
#17 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render()
#18 /var/www/html/web/core/lib/Drupal/Core/Template/TwigThemeEngine.php(35): Twig\TemplateWrapper->render()
#19 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(428): Drupal\Core\Template\TwigThemeEngine->renderTemplate()
#20 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(500): Drupal\Core\Theme\ThemeManager->render()
#21 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(513): Drupal\Core\Render\Renderer->doRender()
#22 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#23 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render()
#24 /var/www/html/web/sites/default/files/php/twig/6a01c01c3b92e_node.html.twig_ZrDgkyQoq6_n7OGXwTygSkd8M/_sPNjOhUWUJiGmLvuzLrTc8vhV0_6acJlD8YiQZF_Fg.php(115): Drupal\Core\Template\TwigExtension->escapeFilter()
#25 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_e51ea9e33ab7976f9b606da730009d95->doDisplay()
#26 /var/www/html/vendor/twig/twig/src/Template.php(386): Twig\Template->yield()
#27 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render()
#28 /var/www/html/web/core/lib/Drupal/Core/Template/TwigThemeEngine.php(35): Twig\TemplateWrapper->render()
#29 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(428): Drupal\Core\Template\TwigThemeEngine->renderTemplate()
#30 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(500): Drupal\Core\Theme\ThemeManager->render()
#31 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(253): Drupal\Core\Render\Renderer->doRender()
#32 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(143): Drupal\Core\Render\Renderer->doRenderRoot()
#33 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(634): Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
#34 [internal function]: Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
#35 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(649): Fiber->resume()
#36 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(142): Drupal\Core\Render\Renderer->executeInRenderContext()
#37 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(152): Drupal\Core\Render\Renderer->renderInIsolation()
#38 /var/www/html/web/modules/contrib/token_entity_render/token_entity_render.module(83): Drupal\Core\Render\Renderer->renderPlain()
#39 [internal function]: token_entity_render_tokens()The error is caused by comment form that needs the entity id to be rendered, but if it is called on pre save of a new entity, then there is no id yet.
Steps to reproduce
Apply recipe https://www.drupal.org/project/ai_recipe_content_classification . Try to create a new Article (more instructions in the parent issue).
Proposed resolution
Add in_preview property to the entity that is going to be rendered. This is used in several place in core. If this property is there, for example, then comment form is not rendered.
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork token_entity_render-3589513
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
a.dmitriiev commentedComment #5
mandclu commentedComment #7
mandclu commentedMerged in, and I will roll a new beta release with this change shortly.
Comment #9
arianraeesi commented