GrapesJS Issues

3,464 parsed GitHub issues — 370 solved · 90 open. Search, filter and explore battle-tested answers.

3,464 issues found

#6663November 26, 2025by lexoyo4 answers
0 reactions

Symbols break when loading pages progressively (instances lose __symbol link)

Here is a video showing the bug: https://github.com/user-attachments/assets/0fdc76ed-cee5-4481-98b1-cbbf52572b31 GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? firefox latest and Chrome v141.0.7390.122 Reproducible demo link https://canary.silex.me/ I can do a fiddle/c...

lexoyo

Oh and i'd be happy to contribute if you tell me what solution i should focus on (a command to re-connect instances, an async method to load project data like what i do in silex, ...) cc @artf

artf

yeah looks like an issue with that way of loading pages 🤔 I don't see any issue on my side (full project load). What is the reason behind loading pages in that way?

lexoyo

yeah looks like an issue with that way of loading pages 🤔 I don't see any issue on my side (full project load). What is the reason behind loading pages in that way? It avoids blocking the main thread for too long. When users load a real l...

#6659November 25, 2025by NilLlisterri4 answers
1 reactions

Symbol styles not synced

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Firefox 145.0 (64-bit) Reproducible demo link https://jsfiddle.net/artur_arseniev/ta19s6go/ Describe the bug How to reproduce the bug? Go to the official Symbols demo, create a symbol and change the text color of the main...

NilLlisterri

Got it, if I want to style something inside a symbol and share the changes I should add a class to it. Thank you both for the help!

lexoyo

Hello This color is applied to the element, in grapesjs this means it will generate a css like #compid { color: red; } but IDs are unique in an HTML page, so the other symbol has a different ID It's a problem to me too, I'm not sure how th...

artf

Sorry, not a bug, but a "feature" 😅 IMHO, component styles should not be bound to symbols; that's an easy way to override styles between same symbols (common thing). If you need the same styles, you simply leverage the classes.

#6655November 20, 2025by yvoroniak-infusemedia3 answers
1 reactions

I have issues with colopicker strugling with proper color convertions

https://github.com/GrapesJS/grapesjs/blob/f59e981f76ff378f59c06cf706af88e502db098e/packages/core/src/utils/ColorPicker.ts#L2407C5-L2415C6 I traced back to these lines and seems like when converting HEXA to RGBA theese lines mess up results. Is there particular reason to intentionally support legacy ARGB?

artf

Thanks for the report. This should have been fixed here https://github.com/GrapesJS/grapesjs/pull/6672

yvoroniak-infusemedia

for ex: #ff000077 (transparent red) is being converted to #000077 (shade of blue). I tried monkey patch it but seems like internaly grapes js uses its own implementation not the one bound to window. (unfortunately for me) Would be nice to...

GJS Helper

The issue you've identified regarding the GrapesJS ColorPicker struggling with proper color conversions, specifically from HEXA to RGBA, and your observation about potential legacy ARGB support, points to a common misunderstanding of hexad...

#6654November 19, 2025by zjt-dev4 answers
0 reactions

the rich-text editor cannot be activated

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? chrome v91 Reproducible demo link https://codepen.io/asenper/pen/QwNMwpV Describe the bug I expect the RTE to open when clicking on the text, but nothing happens. Is this a bug or am I missing additional configuration? Cod...

artf

By default the text component is activated with a double-click https://github.com/GrapesJS/grapesjs/blob/f59e981f76ff378f59c06cf706af88e502db098e/packages/core/src/dom_components/view/ComponentTextView.ts#L22

zjt-dev

<img width="1382" height="393" alt="Image" src="https://github.com/user-attachments/assets/6a3850b9-91ed-43de-b9ae-1a2f703e6f02" /> <img width="695" height="468" alt="Image" src="https://github.com/user-attachments/assets/2a62ad3b-ed7a-4d8...

artf

When you import generic HTML it's hard to detect text components properly. If you have the ability to edit HTML you can enforce it via gjs attributes <div data-gjs-type="text">Insert....

#6651November 17, 2025by DavidHarvey2 answers
0 reactions

Droppable is ignored when moving a textable component into text

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 142.0.7444.61 Reproducible demo link https://codepen.io/DavidHarvey-the-lessful/pen/ZYWeMbG Describe the bug Component droppable status is ignored when moving a textable component into a text component. How to repro...

artf

https://github.com/GrapesJS/grapesjs/pull/6652#issuecomment-3551018995

GJS Helper

The issue you've encountered where droppable: false on a GrapesJS text component is ignored when a textable component is dragged into it is a known behavior stemming from how GrapesJS integrates its Rich Text Editor (RTE) and handles texta...

#6646November 11, 2025by soul-media3 answers
0 reactions

Javascript error when I want to add padding

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome & Firefox Reproducible demo link Describe the bug How to reproduce the bug? Chrome & Firefox: Add padding to a image / Text Sometimes the error occurs, sometimes it doesn't. https://github.com/user-attachments/asset...

trebor94

I've been running into the same issue and also using the grapesjs-mjml plugin. Apparently it only occurs when a project is loaded which has the style property present on the attributes of a component when the project is loaded. After each...

trebor94

Unfortunately haven't been able to figure out where or when exactly the style property gets added to the component style when exporting project data from a previously loaded project. Maybe someone else can pinpoint what causes the issue. @...

GJS Helper

It appears you've encountered a bug in GrapesJS, specifically when working with MJML components and applying styles like padding, which leads to invalid attributes being generated and stored. This issue seems to be a regression, as it work...

#6641November 8, 2025by bilogic2 answers
0 reactions

Error when setting defaults of an extended model

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Version 141.0.7390.123 (Official Build) (64-bit) Reproducible demo link https://codesandbox.io/p/sandbox/jovial-elion-js8zgy?file=%2Findex.js%3A1%2C1-15%2C1 Describe the bug The above worked in 0.15.x but not in 0.22.13. A...

artf

Hey @bilogic your demo seems to use the proper API for extending components, the one relying on .extend( was dropped a long time ago

GJS Helper

The issue you're encountering when extending a GrapesJS component model, specifically the 'link' type, and trying to set its defaults property by directly referencing linkType.model.prototype.defaults is a change in behavior between Grapes...

#6634October 28, 2025by ssteele3 answers
0 reactions

Accessibility errors

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 141.0.7390.123 Reproducible demo link https://grapesjs.com/demo.html Describe the bug Our application serves clients that require all pages to be accessible for all users. I am running the latest grapesjs libraries:...

niemyjski

I'm also seeing this behavior.

artf

This is related to https://github.com/GrapesJS/preset-webpage You're free to update styles on top of that plugin or submit a PR with the fixes there.

GJS Helper

Achieving full accessibility compliance in a complex, dynamic web editor like GrapesJS requires careful consideration and customization. The WAVE Evaluation Tool often flags issues related to missing ARIA attributes, insufficient contrast,...

#6629October 14, 2025by paolotozzo1 answer
0 reactions

Default component styles incorrectly applied to device-specific media queries in v0.22.10+

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? chrome latest version Reproducible demo link https://app.grapesjs.com/studio Describe the bug How to reproduce the bug? Initialize GrapesJS editor with default device configuration Switch to tablet or mobile device view Ad...

GJS Helper

The issue you've described is a known behavioral change introduced in GrapesJS v0.22.10+, where default component styles are incorrectly applied to device-specific media queries when a component is added while a non-desktop device view is...

#6623October 10, 2025by zhengtulymGh1 answer
0 reactions

Custom Dynamic List freezes after binding array and expanding rows to match length

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? 140.0.7339.214(正式版本) (x8664) Reproducible demo link https://codesandbox.io/p/devbox/d27l6n Describe the bug I want to create a custom dynamic list component based on GrapesJS (with 3 rows by default). It can bind to an arr...

GJS Helper

The freezing issue you're encountering with your custom Dynamic List component in GrapesJS is a classic example of an event feedback loop. It occurs because the event listener responsible for updating the row count is too broad, causing it...