GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://grapesjs.com/demo.html Describe the bug Fix passing down collectionsSourceMap if not needed Insure that all listeners are cleaned if not needed Improve Editor.loadProject speed Code of...
ClaudeCode
Thanks for reporting this, @mohamedsalem401. The issue with Improve Editor performance and fix any memory leak appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DO...
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
The codebase currently relies on outdated dependencies. This ticket aims to: Update all existing dependencies to their latest stable versions. Set up Dependabot to automatically check for and update dependencies in the future. Keeping dependencies up to date will improve security, performance, and compatibility with o...
ClaudeCode
Thanks for reporting this, @danstarns. Security and dependency issues are important. The GrapesJS team actively works on keeping dependencies up-to-date. For you right now: Run npm audit fix to see available patches Check for a newer Grape...
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Edge v119.0.2151.72 Reproducible demo link https://grapesjs.com/demo.html Describe the bug Hi, thank you for creating an amazing project. I would like to report an issue found during my use of GrapesJS. How to reproduce th...
artf
Agree with the suggested alternative, I will update accordingly. Thanks @duydvu
ClaudeCode
Thanks for reporting this, @duydvu. Great question about Performance issue when adding more than 20 classes to a single component. The recommended approach with StyleManager is to use the event-driven API. Start here: Check the GrapesJS do...
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Google Chrome Version 101.0.4951.41 (Official Build) (64-bit)Reproducible demo link https://jsfiddle.net/Laze0pyg/Describe the bug How to reproduce the bug?Add 2k components using the below script.for(let i = 0;i<2000;i++) e...
GedMarc
but.... add 2000 dom elements with any basic styling to any page and you'll get lag? that might not be the tool, but how the tool is being used? also check your browser render speed in relation to your pc - http://speed-battle.com/speedtes...
artf
With the latest release, containing the refactor of the Sorter by @mohamedsalem401, the previous demo seems to be working fine now 🥳
vizardkill
https://github.com/GrapesJS/grapesjs/assets/37307788/2d653d49-1a57-458c-bc8c-4833c8c7a690 I have the same problem, and I don't think it is due to the size, I am using the pageManager and I preload an html template and trying to drag new el...
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome v96Reproducible demo link No demoDescribe the bug How to reproduce the bug?Add to Block manager more than 1000 blocks, in my case 7,864 font awesome icons.Try to drag any block from block panel Explanation I added eve...
artf
For your case, I'd suggest creating a custom block manager where you can adapt the UI for your blocks as you wish (eg. search, DOM virtualization, etc.)
ClaudeCode
Thanks for reporting this, @jloguercio. Great question about Drag Blocks to Canvas performance when you have 1000+ custom blocks. The recommended approach with Canvas is to use the event-driven API. Start here: Check the GrapesJS documenta...
This is a broad question, so I will provide the use case and some ideas instead of actual code.Basic description We are using grapesjs as part of a Drupal module (https://github.com/artf/grapesjs/issues/1798#issuecomment-559498604) and we are facing an issue with having too many html elements within the grapes contain...
pvbergen
Huh, that would be surprisingly simple. Thanks! I'll test it out in the next few days and see how we can integrate it with our workflow.
artf
Do you mean something like this? This will add an HTML without being actually related to GrapesJS Components
How to reproduce:Naviagate to https://grapesjs.com/demo.htmlOpen browser console (Chrome) and type the following: setInterval(() => editor.load(), 1000) and press EnterGo to "Memory" tab (Chrome) and look at the memory usage What happens: The memory is constantly increasing. If you open Chrome's "Performance monitor"...
varadero
This is important. If not fixed, it makes GrapesJS dangerous to use especially in SPA applications.
artf
I'll check it out, but any help is welcome
diazemiliano
I'm having the same issue here. Even after destroy the editor, the issue remains.
Hi there! the currently used structure of grapesjs is based on leveraging backbonejs model-view concept for implementing the Virtual Dom inside the ecosystem of grapesjs. Virtual Dom is a great practice which has a vast area of applications and benefits; but the downside of virtual dom is the actual gap between virtua...
artf
Yes @lexoyo the final goal here would be to stop relying on Backbone's View and migrate all editor UI elements to web components. In the end, there will be @grapesjs/core (no UI) and @grapesjs/core-ui with a set of reusable and extendable...
lexoyo
Ok that's interesting :) I can't wait to see that and i will contribute as much as i can
lexoyo
Nice idea I use lit-html quite lot, it's the same approach but also adds web components when/if needed But i don't get where would backbone stop? And what would be without it. I guess it is a question that is broader about what @artf annou...
We are using GrapesJS to allow users to design some static pages in our production application build with Phoenix . We are using brunch to install and deploy our assets . Our production site is having a high usage of server side template rendering for performance reasons. GrapesJS works locally well but in production...
artf
You can't use SSR on GrapesJS
symmetrically
@artf We are not rendering GrapesJS server side. It is compiled with asset pipeline where it breaks causing the other server side rendering to go down as well.
lock[bot]
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.