kendo-ui-core
kendo-ui-core copied to clipboard
Support for latest version of jsZip
Currently we are using a relatively old version 2.6.0 , while 3.1.3 is the latest one. Maybe we should consider an upgrade? There are a few breaking changes though:
https://stuk.github.io/jszip/documentation/upgrade_guide.html
cc @tsvetomir @mishoo
The breaking change that affects us is that the generate()
method has been replaced by generateAsync()
. The upgrade will introduce a breaking change in toDataUrl
, making it asynchronous. I believe we could maintain backwards compatibility with jsZip 2, with a feature detection on generateAsync
.
I think the Workbook.toDataURL is the only method that relies on jsZip and is synchronous.
We can replace it with an asynchronous version of the method that will work with any version of jsZip. The old one will stay, but will require jsZip < 3.
Also reported in ticket with id 1125537.
Kendo UI 2018.3.1017 is using jsZip 2.6.1 . No update to 3.1.3 was done.
Is this planned for the future?
I stumble across an issue where exporting to excel failed because it is using a lot of memory and jszip v3 seems to have some fix about this. Stuk/jszip#446
Reopening this as there is also a known vulnerability with jsZip versions prior to 3.7: https://security.snyk.io/vuln/SNYK-JS-JSZIP-1251497
Better late than never. We'll need to:
- Replace all usages
toDataURL
withtoDataURLAsync
, most notably in the Spreadsheet. This method works with both jsZip 2 and 3. - Update the bundled version of jsZip to 3.7.1
- Test that everything that has to deal with jsZip still works.
rising priority as it has been asked for again
rising priority as it has been asked for again
Raising again 1594128
Also reported in 1595850.
I am using react-export-excel package in my project which internally uses jszip 3.8.0. With this version of jszip the export functionality is not working and giving me below error:
Uncaught Error: This method has been removed in JSZip 3.0, please check the upgrade guide.
at r.generate (jszip.min.js:13:16610)
at xlsx.js:11863:27
at Object.Vu [as write] (xlsx.js:11874:19)
at t.value (ExcelFile.js:104:34)
at Object.m (react-dom.production.min.js:15:205)
at S (react-dom.production.min.js:15:359)
at react-dom.production.min.js:16:35
at k (react-dom.production.min.js:16:236)
at M (react-dom.production.min.js:17:224)
at T (react-dom.production.min.js:17:57)
I know this is a known issue with jszip 3.X.X. Do we have any solution yet?
Veracode scan detect vulnerabilities. Is it planned to add the compatibility with the last version of jszip soon ?
+1
Better late than never. We'll need to:
- Replace all usages
toDataURL
withtoDataURLAsync
, most notably in the Spreadsheet. This method works with both jsZip 2 and 3.- Update the bundled version of jsZip to 3.7.1
- Test that everything that has to deal with jsZip still works.
Correct way to workaround the issue available in this Dojo
When this item is completed the message:
- As of the current release, the Excel Export feature supports JSZip 2.* and 3.* versions. Kendo UI releases prior to current provided Excel export only of JSZip 2.* versions.
should be added back to the following files:
- kendo\docs\framework\excel\get-started.md
- kendo\docs-aspnet\installation\system-requirements\export-support.md
Kendo UI for jQuery/MVC/Core(Exporting) is compatible with JSZip 3.x starting v2023.3.1114 (R3 2023 SP1).
R3 2023 SP1 and jsZip 3.10.1 still throws error when using Spreadsheet widget and the "fromFile" method. Should this also work? I expected this to be also resolved...
Hi, @odin568 ,
We are aware of this bug and a fix was recently deployed. The patch should be available with the upcoming release.
We apologize about the caused inconvenience.
Hi, @odin568 ,
We are aware of this bug and a fix was recently deployed. The patch should be available with the upcoming release.
We apologize about the caused inconvenience.
What's a rough ETA on this upcoming release if I may ask?
Hey, @binaryn3xus ,
The release is currently scheduled for the 31st of January.