|
|
|
// This is stage 1, it can be changed but you must bump the version of the project.
|
|
|
|
define([
|
|
|
|
'/common/requireconfig.js'
|
|
|
|
], function (RequireConfig) {
|
|
|
|
require.config(RequireConfig());
|
|
|
|
|
|
|
|
// most of CryptPad breaks if you don't support isArray
|
|
|
|
if (!Array.isArray) {
|
|
|
|
Array.isArray = function(arg) { // CRYPTPAD_SHIM
|
|
|
|
return Object.prototype.toString.call(arg) === '[object Array]';
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
var failStore = function () {
|
|
|
|
console.error(new Error('wut'));
|
|
|
|
require(['jquery'], function ($) {
|
|
|
|
$.ajax({
|
|
|
|
type: 'HEAD',
|
|
|
|
url: '/common/feedback.html?NO_LOCALSTORAGE=' + (+new Date()),
|
|
|
|
});
|
|
|
|
});
|
|
|
|
window.alert("CryptPad needs localStorage to work, try a different browser");
|
|
|
|
};
|
|
|
|
|
|
|
|
try {
|
|
|
|
var test_key = 'localStorage_test';
|
|
|
|
var testval = Math.random().toString();
|
|
|
|
localStorage.setItem(test_key, testval);
|
|
|
|
if (localStorage.getItem(test_key) !== testval) {
|
|
|
|
failStore();
|
|
|
|
}
|
|
|
|
} catch (e) { console.error(e); failStore(); }
|
|
|
|
|
|
|
|
require([document.querySelector('script[data-bootload]').getAttribute('data-bootload')]);
|
|
|
|
});
|