isaul32 / ckeditor5-math

Math feature for CKEditor 5.
https://www.npmjs.com/package/ckeditor5-math
ISC License
86 stars 39 forks source link

Fix lazyloading #148

Open eliandoran opened 2 months ago

eliandoran commented 2 months ago

It appears that the conversion to TypeScript broke the lazyloading (first introduced in #5), we noticed it in production after upgrading to 41.4.2.

Identified an older version where it used to work: 9fa8967d95d58a66ab15fbdbbeae1b18e1e36635

image

Since engine is set to katex, but katex is undefined it proceeds to render and it crashes:

image

Since the old code checked for the presence of the katex instance, it would avoid this branch and continue to the lazy loading one.

Also took a time to write a test, but it is not perfect. It successfully caught the original issue and it passes now that the issue is fixed. I can't seem to be able to write a test for lazyload since it always seems that the second test fails (some kind of leak, maybe?).