GrapesJS still fails to load after upgrade to 7.2.1

Your software
My Mautic version is: 7.2.1
My PHP version is: 8.4
My Database type and version is: MariaDB

Your problem
My problem is: After composer upgrade to 7.2.1, which I understand was supposed to fix this problem, GrapesJS still fails to load.

When trying to open GrapeJS, popup says “Please enable the GrapesJS builder plugin (or another builder plugin) to use this feature.”

Going to plugins page, GrapeJS shows v1.0.0 (which doesn’t make sense that it would be only that) and Enabled/Auth toggle is Yes. Clicking “Install/Upgrade Plugins” says “0 new plugins were installed and 0 updated”

Cache was cleared during and after upgrade 7.2.0 to 7.2.1

These errors are showing in the log:

[2026-09-24T20:47:43.603642+00:00] app.CRITICAL: Uncaught PHP Exception Twig\Error\RuntimeError: “Key “0” does not exist as the sequence/mapping is empty in “@MauticCore/Helper/chart.html.twig” at line 2.”

Steps I have tried to fix the problem:

Hi Adam,

This looks related to an issue that was fixed in Mautic 7.2.1, but there are two separate failure modes.

PR #17375 fixed GrapesJS asset path resolution for installations using a separate docroot. However, the compiled GrapesJS assets must also be present.

Could you check whether these files exist?

test -f docroot/plugins/GrapesJsBuilderBundle/Assets/library/js/dist/manifest.json
test -f docroot/plugins/GrapesJsBuilderBundle/Assets/library/js/dist/builder.js

If your installation does not use docroot, use:

test -f plugins/GrapesJsBuilderBundle/Assets/library/js/dist/manifest.json
test -f plugins/GrapesJsBuilderBundle/Assets/library/js/dist/builder.js

If either file is missing, the plugin can appear enabled while the builder still cannot load. In that case, the issue is with the packaged/generated assets rather than the plugin status. This is also being tracked separately in docker-mautic#479.

The chart.html.twig error appears to be a separate issue and is not directly related to the GrapesJS path fix.

After confirming that the files exist, clear the Mautic cache and test the email builder again.

Thanks! Yes, my docroot is mautic/docroot, and the files were missing. I replaced them from the 7.2.0 zip and GrapesJS is now working. I will investigate the twig error later.

There was one issue – I had copied an email in the email table from an earlier install of 7.1.2 into the 7.2.0/1 database and it displayed in the preview but when loaded in the editor it was just a bunch of inline text. The Brienz theme was still selected. I will be able to recreate it from scratch, so it isn’t crucial. Don’t know if this is a bug, or due to a database change, or because there was foreign key from another a row in another table that I didn’t copy. When I create a new email from scratch, the appearance and css is working fine.

Hi Adam,

Thanks for confirming that restoring the missing files got GrapesJS working.

The copied email sounds like a separate issue. Since newly created emails render correctly, I would first investigate the transferred email rather than assume that the builder is generally broken.

Copying a database row between installations is not a reliable migration test: the preview working does not necessarily mean that the editor has everything it needs to reconstruct the original layout. Keeping Brienz selected also does not, by itself, establish that the template files and saved editor content are equivalent.

Without comparing the original and copied records, I wouldn’t confidently attribute this to a database change or a missing foreign-key relationship.

If you investigate later, please preserve the original email and test on a copy. The useful comparison would be the complete email records, the installed Brienz theme files, and any browser-console errors when opening the copied email.

If the problem can also be reproduced through a normal upgrade, without manually transferring database rows, that would provide much stronger evidence of an upgrade regression.