Issue #4473Opened July 22, 2022by skru0 reactions

BUG: v0.19.5 Breaks headless editor.setComponents(): "Uncaught (in promise) ReferenceError: window is not defined"

Question

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Chrome 102.0.5005.115 (Official Build) (64-bit)

Reproducible demo link

Describe the bug

How to reproduce the bug?

Code SnippetTEXT
I'm unable to reproduce this on JSFiddle, but that sort of makes sense.
#4373 has introduced a bug in editor.setComponents():
"Uncaught (in promise) ReferenceError: window is not defined"

This is when converting an svg to base64. Quick fix in src/utils/mixins:

    export const buildBase64UrlFromSvg = (svg: string) => {
      if (svg && svg.substr(0, 4) === '<svg') {
        // remove window.btoa
        return `data:image/svg+xml;base64,${Buffer.from(svg, 'utf8').toString('base64')}`;
      }
      return svg;
    };

Replaces the window.btoa with Buffer.from().

I am unable to create a PR on work machine, will do later but putting this up for any others searching.

All the best!




### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Answers (1)

artfJuly 22, 20220 reactions

Thanks @skru I'll take care of it

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.