Various fixes for browser that don't support ES2015

Specifically for IE11.

* Add a polyfill for String.prototype.includes
* Make sure all bundled code is transpiled
* Add IE specific fix in converse-otr.js
This commit is contained in:
JC Brand 2017-08-21 15:41:52 +02:00
parent 75301d2875
commit ab0ec7301f
5 changed files with 25 additions and 5 deletions

View File

@ -4,9 +4,11 @@
mainConfigFile: 'config.js',
paths: {
"converse-bookmarks": "builds/converse-bookmarks",
"converse-chatboxes": "builds/converse-chatboxes",
"converse-chatview": "builds/converse-chatview",
"converse-controlbox": "builds/converse-controlbox",
"converse-core": "builds/converse-core",
"converse-disco": "builds/converse-disco",
"converse-dragresize": "builds/converse-dragresize",
"converse-headline": "builds/converse-headline",
"converse-inverse": "builds/converse-inverse",

View File

@ -4,9 +4,11 @@
mainConfigFile: 'config.js',
paths: {
"converse-bookmarks": "builds/converse-bookmarks",
"converse-chatboxes": "builds/converse-chatboxes",
"converse-chatview": "builds/converse-chatview",
"converse-controlbox": "builds/converse-controlbox",
"converse-core": "builds/converse-core",
"converse-disco": "builds/converse-disco",
"converse-dragresize": "builds/converse-dragresize",
"converse-headline": "builds/converse-headline",
"converse-inverse": "builds/converse-inverse",
@ -22,7 +24,8 @@
"converse-rosterview": "builds/converse-rosterview",
"converse-singleton": "builds/converse-singleton",
"converse-vcard": "builds/converse-vcard",
"utils": "builds/utils"
"utils": "builds/utils",
"form-utils": "builds/form-utils"
},
wrap: {
startFile: "start.frag",

View File

@ -21,9 +21,10 @@
const { Strophe, utils, b64_sha1, _ } = converse.env;
const HAS_CSPRNG = ((!_.isUndefined(crypto)) &&
((_.isFunction(crypto.randomBytes)) || (_.isFunction(crypto.getRandomValues))
));
const HAS_CSPRNG = _.isUndefined(window.crypto) ? false : (
_.isFunction(window.crypto.randomBytes) ||
_.isFunction(window.crypto.getRandomValues)
);
const HAS_CRYPTO = HAS_CSPRNG && (
(!_.isUndefined(otr.OTR)) &&

View File

@ -1,5 +1,5 @@
define(['lodash', 'lodash.converter', 'converse-core'], function (_, lodashConverter, converse) {
const fp = lodashConverter(_.runInContext());
var fp = lodashConverter(_.runInContext());
converse.env.fp = fp;
return fp;
});

View File

@ -1,3 +1,17 @@
if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
'use strict';
if (typeof start !== 'number') {
start = 0;
}
if (start + search.length > this.length) {
return false;
} else {
return this.indexOf(search, start) !== -1; // eslint-disable-line lodash/prefer-includes
}
};
}
if (!String.prototype.endsWith) {
String.prototype.endsWith = function (searchString, position) {
var subjectString = this.toString();