There seems to be a problem with multiple apps (deck, groupfolders, …) which do not work anymore on master:
Error: only one instance of babel-polyfill is allowed
For the groupfolder app deleting the following line solved it:
https://github.com/nextcloud/groupfolders/blob/d0367531a6d862717c09056b05408f8f664b7d51/webpack.prod.config.js#L12
I'm not sure where this comes from all of a sudden. I tried going back to master from mid january but the problem still persists. I also disabled ALL apps that can be disabled apart from the groupfolder app and it's still a problem.
@nextcloud/javascript
I can't reproduce this. I've never seen the error and files, Mail and Deck work just fine here. Does this happen on a specific browser?
Firefox and chrome, deck was fixed with https://github.com/nextcloud/deck/pull/886
Ah okay, so it only happens with apps that ship their own polyfill, right?
Is this still an issue?
I'll just assume it's not :wink:
Seeing the same issue in calendar app.
Ugly workaround to make the calendar work again in IE11:
cd apps/calendar/js/public
mv vendor.ie.min.js vendor.ie.min.js.old
mv vendor.js vendor.ie.min.js
@georgehrke fix it ;-)
@ChristophWurst It seems that the server is shipping babel-polyfill now?
The error message @johannespfeiffer mentioned in the calendar:
Error: only one instance of babel-polyfill is allowed
use the noconflict polyfill :)
@skjnldsv The easiest solution from a calendar-side would just be to get rid of vendor.ie.min.js and just serve the same version we serve to non-crappy browsers.
But wasn't our idea in general to serve less javascript libraries by default and only have our vanilla js core library? So I'm wondering why the server suddenly loads babel-polyfill by default __for all apps__.
Because you can't transpile everything for crappy browsers. Some APIs have to be polyfilled by Babel if I'm not mistaken.
As an app you can just assume the browser to be es6-compliant.
Note that this isn't new. Before https://github.com/nextcloud/server/pull/13492 we also had a polyfill in place, Babel just couldn't detect it.
As an app you can just assume the browser to be es6-compliant.
Ok, iirc es6-shim didn't provide all the necessary polyfills to make the calendar work in IE. But since the server switched to babel, let's drop the babel/polyfill shipped by the calendar.