diff --git a/example.nginx.conf b/example.nginx.conf index 5067ca9c0..fcb8b7435 100644 --- a/example.nginx.conf +++ b/example.nginx.conf @@ -32,7 +32,7 @@ server { set $scriptSrc "'self'"; set $connectSrc "'self' wss://cryptpad.fr wss://api.cryptpad.fr"; set $fontSrc "'self'"; - set $imgSrc "data: *"; + set $imgSrc "data: * blob:"; set $frameSrc "'self' beta.cryptpad.fr"; if ($uri = /pad/inner.html) { @@ -65,8 +65,12 @@ server { rewrite ^.*$ /customize/api/config break; } + location ^~ /blob/ { + try_files $uri =404; + } + ## TODO fix in the code so that we don't need this - location ~ ^/(register|login|settings|user|pad|drive|poll|slide|code|whiteboard)$ { + location ~ ^/(register|login|settings|user|pad|drive|poll|slide|code|whiteboard|file|media)$ { rewrite ^(.*)$ $1/ redirect; } diff --git a/www/common/common-userlist.js b/www/common/common-userlist.js index 8ba7b31e1..7b62d6566 100644 --- a/www/common/common-userlist.js +++ b/www/common/common-userlist.js @@ -7,14 +7,16 @@ define(function () { var userData = exp.userData = {}; var userList = exp.userList = info.userList; var myData = exp.myData = {}; - var myUserName = exp.myUserName = info.myID; - var myNetfluxId = exp.myNetfluxId = info.myID; + exp.myUserName = info.myID; + exp.myNetfluxId = info.myID; + + var network = Cryptpad.getNetwork(); var parsed = Cryptpad.parsePadUrl(window.location.href); var appType = parsed ? parsed.type : undefined; - var users = userList.users; var addToUserData = exp.addToUserData = function(data) { + var users = userList.users; for (var attrname in data) { userData[attrname] = data[attrname]; } if (users && users.length) { @@ -34,7 +36,7 @@ define(function () { return { data: userData, list: userList, - userNetfluxId: myNetfluxId + userNetfluxId: exp.myNetfluxId }; }; @@ -44,13 +46,14 @@ define(function () { if(myUserNameTemp.length > 32) { myUserNameTemp = myUserNameTemp.substr(0, 32); } - myUserName = myUserNameTemp; - myData[myNetfluxId] = { - name: myUserName, + exp.myUserName = myUserNameTemp; + myData = {}; + myData[exp.myNetfluxId] = { + name: exp.myUserName, uid: Cryptpad.getUid(), }; addToUserData(myData); - Cryptpad.setAttribute('username', myUserName, function (err) { + Cryptpad.setAttribute('username', exp.myUserName, function (err) { if (err) { console.log("Couldn't set username"); console.error(err); @@ -72,7 +75,7 @@ define(function () { if (typeof(lastName) === 'string') { setName(lastName, onLocal); } else { - myData[myNetfluxId] = { + myData[exp.myNetfluxId] = { name: "", uid: Cryptpad.getUid(), }; @@ -90,6 +93,11 @@ define(function () { setName(newName, onLocal); }); + network.on('reconnect', function (uid) { + exp.myNetfluxId = uid; + exp.setName(exp.myUserName); + }); + return exp; }; diff --git a/www/drive/inner.html b/www/drive/inner.html index 72bef5a79..859ae3391 100644 --- a/www/drive/inner.html +++ b/www/drive/inner.html @@ -33,7 +33,7 @@