GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chromw Reproducible demo link https://codesandbox.io/p/sandbox/hrdwnl Describe the bug What is the expected behavior? When trying to add bullet points by default it should have indentation, and when clicking tab it should...
GJS Helper
The issue you're experiencing with list/bullet points not indenting automatically in the GrapesJS ProseMirror RTE is a common styling problem, not a functional bug with ProseMirror's core list handling. The grapesjs-plugin-rte-prosemirror...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Edge, mozilla Reproducible demo link NA Describe the bug underscore <=1.13.7 Severity: high underscore <=1.13.7 Severity: high Underscore has unlimited recursion in .flatten and .isEqual, potential for DoS attack - https:/...
artf
Thanks for the report @tiburciomzt The bump was merged and will soon be released.
GJS Helper
The issue you've reported regarding the underscore vulnerability (GHSA-qpx9-hpmf-5gmw) in grapesjs is valid and concerns a high-severity DoS vulnerability in underscore versions prior to 1.13.8. This vulnerability affects .flatten and .isE...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome (versions 142-144), Safari (versions 16.3, 26.1), Maybe others too Reproducible demo link https://jsfiddle.net/saeedhbi/tqfe7p04/ Describe the bug How to reproduce the bug? Initialize a GrapeJS editor (v0.22.11 or v...
GJS Helper
The TypeError: Cannot read properties of null (reading 'hasFocus') in the GrapesJS Canvas module is a known issue stemming from a race condition. It occurs when keyboard commands (like Ctrl+Z, Delete) attempt to call editor.Canvas.hasFocus...
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.
GJS Helper
This TypeError: e.getRoot is not a function is a known race condition within GrapesJS's Style Manager, particularly when components are rapidly selected and then deleted. It occurs because the Style Manager's update logic, which is debounc...
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/tdsLa6qe/ Describe the bug How to reproduce the bug? Create a basic GrapeJS editor (version 0.22.11 or 0.22.14) Add an input...
saeedhbi
Hi @artf, After digging deeper into the full stack trace, I found that the error is not in GrapesJS. The event.key.toLowerCase() call is coming from our own application code — a global window.addEventListener("keydown", ...) handler that w...
artf
Hey @saeedhbi, where exactly do you see event.key.toLowerCase() in our code? Are you sure is not coming from your side? Unfortunately, the jsfiddle is not helpful, seems too much AI slopped 😅, it's not even loading the editor. Maybe you c...
GJS Helper
The TypeError: Cannot read properties of undefined (reading 'toLowerCase') in GrapesJS's keyboard handler is a known issue that arises when certain keyboard events, particularly those from Input Method Editors (IMEs) used for languages lik...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Version 143.0.7499.193 Reproducible demo link https://app.rechat.com/dashboard/marketing/history/Letter?printCampaignId=28f0587d-8738-4fd6-8087-da3167f6d737&action=edit Describe the bug How to reproduce the bug? Ope...
artf
Please provide an isolated, reproducible demo cause that seems to come from your code logic and not related to the core
GJS Helper
The GrapesJS editor crash with a TypeError: Cannot read properties of undefined (reading 'type') when loading your template is caused by malformed HTML within the content you are trying to load. Specifically, certain div elements have a da...
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)...
GJS Helper
The issue you've encountered is a common pitfall when performing synchronous DOM or component tree manipulations within GrapesJS lifecycle events, especially when the UndoManager is active. The core problem lies in the timing and the state...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Edge 144.0.3719.92 Reproducible demo link https://jsfiddle.net/L61f0qtz/ Describe the bug How to reproduce the bug? Open GrapesJS editor in Microsoft Edge. Add a keymap for saving using either Ctrl+S or Ctrl+Shift+S with {...
GJS Helper
The issue you're experiencing with preventDefault() not working for Ctrl+S and Ctrl+Shift+S in Microsoft Edge when the GrapesJS canvas is focused is a common challenge related to how browsers handle keyboard events within iframes and syste...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 143.0.7499.193 Reproducible demo link https://grapesjs.com/demo.html Describe the bug Hello. How to reproduce the bug? Import GrapeJS in a JS file / Node env : on a webpage using strict CSP rules, for instance : Doi...
GJS Helper
GrapesJS, by its nature as a dynamic web builder, relies on injecting styles and manipulating the DOM, which can indeed lead to Content Security Policy (CSP) violations, especially with very strict rules like yours. Let's break down the is...
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v143.0.7499.193 Reproducible demo link https://codesandbox.io/p/sandbox/2l3887 Describe the bug How to reproduce the bug? Open the page and load the GrapesJS editor Select the Row component and delete it Click the R...
mdmontesinos
I'm facing a similar issue, where the re-added component has the correct styles property: <img width="1112" height="17" alt="Image" src="https://github.com/user-attachments/assets/474011c4-b1be-48df-9aa8-14c3dcdfc68d" /> But if I use the "...
artf
@mdmontesinos your usage is not correct, styles has to be defined at the component definition, and it's not expected to change. Also, it's wrong to use IDs for component definition if the component is expected to be reused, the ID will be...
mdmontesinos
@artf I'm using an ID because there will always be a single instance of that component in my project. My use case is that a component is designed externally to be used as a "background" and then imported into projects that use it. Therefor...