GrapesJS Issues

3,464 parsed GitHub issues โ€” 370 solved ยท 90 open. Search, filter and explore battle-tested answers.

644 issues found

๐Ÿ” components
#6706February 13, 2026by saeedhbi3 answers
0 reactions

TypeError: e.getRoot is not a function (Race condition in Style Manager)

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? All browsers (Chrome, Safari, Firefox, Edge) Reproducible demo link https://jsfiddle.net/saeedhbi/powxyjdq/3/ Describe the bug How to reproduce the bug? Initialize a GrapeJS editor Select a component in the canvas Quickly...

artf

Similar to https://github.com/GrapesJS/grapesjs/issues/6705 I'm not able to create that kind of race condition (eg. select and remove via API) and in your example is checking getRoot on a component, but there is no such a method on the Com...

saeedhbi

Same as https://github.com/GrapesJS/grapesjs/issues/6705#issuecomment-3921025039, the issue was in our external library that was using GrapeJS and since had same situation like the issue 6705, I will close it. Thank you for your review.

ClaudeCode

Thanks for reporting this, @saeedhbi. Great question about TypeError: e.getRoot is not a function (Race condition in Style Manager). The recommended approach with StyleManager is to use the event-driven API. Start here: Check the GrapesJS...

#6696February 4, 2026by jasonvijayy1 answer
0 reactions

Crash when calling component.replaceWith() during lifecycle events with UndoManager enabled

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://codepen.io/Logeshwaran-codepen/pen/raLJpYb Describe the bug How to reproduce the bug? Select components that available in canvas. Listen to a lifecycle event (e.g. component:selected)...

ClaudeCode

Thanks for reporting this, @jasonvijayy. Great question about Crash when calling component.replaceWith() during lifecycle events with UndoManager enabled. The recommended approach with ProseMirror is to use the event-driven API. Start here...

#6678December 17, 2025by J-Wick41 answer
0 reactions

YouTube now requires referrerpolicy="strict-origin-when-cross-origin" attribute on embedded video iframes for proper playback.

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Brave Reproducible demo link na Describe the bug How to reproduce the bug? Try adding a YouTube video to a landing page and find out. What is the expected behavior? YouTube video renders and is playable What is the current...

ClaudeCode

Thanks for reporting this, @J-Wick4. Great suggestion about YouTube now requires referrerpolicy="strict-origin-when-cross-origin" attribute on embedded video iframes for proper playback.! While this specific feature isn't yet in the core A...

#6671December 9, 2025by padcom2 answers
1 reactions

`component.closestType()` is undefined

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? any Reproducible demo link https://github.com/padcom/grapesjs-closestType-missing Describe the bug This bug was introduced in here. Before this change everything was working as expected. I presume the reset event is respon...

padcom

It turns out the second parameter is not always the component but the sender of the event which means that sometimes it is the collection of components which obviously doesn't have the closestType() method. Thanks @artf for explaining it t...

ClaudeCode

Thanks for reporting this, @padcom. Great question about component.closestType() is undefined. The recommended approach with Canvas is to use the event-driven API. Start here: Check the GrapesJS documentation for your specific module Look...

#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.

#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

ClaudeCode

Thanks for reporting this, @DavidHarvey. Great suggestion about Droppable is ignored when moving a textable component into text! While this specific feature isn't yet in the core API, there are several ways to achieve similar behavior. Usi...

#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...

ClaudeCode

Thanks for reporting this, @zhengtulymGh. The issue with Custom Dynamic List freezes after binding array and expanding rows to match length appears to be a race condition or state management timing problem. This typically happens when comp...

#6606September 12, 2025by MisterKeyboard4 answers
2 reactions

Editor takes a long time to load (sometimes over 1 minute)

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Firefox Reproducible demo link https://grapesjs.com/demo.html Describe the bug Description The editor has very slow loading times. On complex pages (e.g. homepage with many elements and plugins such as carousels), it can t...

artf

Thanks @MisterKeyboard for providing the JSON. Your project contains 10K style rules, which is a lot, but still, I'd not expect the load to be impacted that much. @mohamedsalem401 I think we need to verify if data source related changes (e...

mohamedsalem401

@artf Will take a look and give an update on this.

artf

@MisterKeyboard can you share the JSON of the project so we can verify that

#6590August 18, 2025by yashvi20262 answers
1 reactions

Able to access/delete/drag the locked components in layermanager

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? chrome Reproducible demo link https://codepen.io/Harshsne/pen/zxvREjB Describe the bug How to reproduce the bug? Drag and drop the text component What is the expected behavior? It should not be selected /dragged in layerma...

artf

You can hide the component from layers with layerable: false property or create your own custom layer manager UI with all the UI logic you need.

ClaudeCode

Thanks for reporting this, @yashvi2026. Great question about Able to access/delete/drag the locked components in layermanager. The recommended approach with Components is to use the event-driven API. Start here: Check the GrapesJS document...

#6582August 5, 2025by msftedad2 answers
0 reactions

Single pointer mode of operation is not provided for editing element drag-and-drop actions.

GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Edge: Version 135.0.2535.51 (Official build) (64-bit), Chrome: Version 135.0.6422.112 (Official Build) (64-bit) Reproducible demo link https://app.grapesjs.com/studio?utmsource=grapesjs&utmmedium=mainTopNav Describe the bu...

msftedad

Hi Team, Any update on this issue?

ClaudeCode

Thanks for reporting this, @msftedad. The issue with Single pointer mode of operation is not provided for editing element drag-and-drop actions. appears to be a race condition or state management timing problem. This typically happens when...