diff --git a/docs/cryptpad-docker.md b/docs/cryptpad-docker.md index 12018902e..5998dc143 100644 --- a/docs/cryptpad-docker.md +++ b/docs/cryptpad-docker.md @@ -2,7 +2,7 @@ Cryptpad includes support for building a Docker image and running it to provide a Cryptpad instance. You can manage the container manually, or let Docker Compose manage it for you. -A full tutorial is available [on the Cryptpad Github wiki](https://github.com/xwiki-labs/cryptpad/wiki/Docker-(with-Nginx-and-Traefik)). This document provides a brief overview. +A full tutorial is available [on the Cryptpad Github wiki](https://github.com/xwiki-labs/cryptpad/wiki/Docker). This document provides a brief overview. ## Features diff --git a/www/common/outer/profile.js b/www/common/outer/profile.js index 0e1e1f35e..dd56db6e9 100644 --- a/www/common/outer/profile.js +++ b/www/common/outer/profile.js @@ -20,11 +20,11 @@ define([ } profile.edit = Hash.getEditHashFromKeys(secret); profile.view = Hash.getViewHashFromKeys(secret); - cb(); + setTimeout(cb); }); return; } - cb(); + setTimeout(cb); }; var openChannel = function (ctx) { diff --git a/www/common/outer/sharedfolder.js b/www/common/outer/sharedfolder.js index e4d8d152c..28780065a 100644 --- a/www/common/outer/sharedfolder.js +++ b/www/common/outer/sharedfolder.js @@ -21,7 +21,8 @@ define([ // No version: visible edit // Version 2: encrypted edit links - SF.checkMigration = function (secondaryKey, proxy, uo, cb) { + SF.checkMigration = function (secondaryKey, proxy, uo, _cb) { + var cb = Util.once(Util.mkAsync(_cb)); var drive = proxy.drive || proxy; // View access: can't migrate if (!secondaryKey) { return void cb(); } @@ -309,7 +310,9 @@ define([ isNewChannel: Store.isNewChannel }, id, sf, waitFor()); }); - }).nThen(waitFor()); + }).nThen(function () { + setTimeout(waitFor()); + }); }; return SF; diff --git a/www/common/outer/team.js b/www/common/outer/team.js index 9c33a722a..62fc1b45b 100644 --- a/www/common/outer/team.js +++ b/www/common/outer/team.js @@ -25,10 +25,6 @@ define([ var Nacl = window.nacl; - var initializeTeams = function (ctx, cb) { - cb(); - }; - var registerChangeEvents = function (ctx, team, proxy, fId) { if (!team) { return; } if (!fId) { @@ -340,7 +336,7 @@ define([ }; var openChannel = function (ctx, teamData, id, _cb) { - var cb = Util.once(_cb); + var cb = Util.once(Util.mkAsync(_cb)); var hash = teamData.hash || teamData.roHash; var secret = Hash.getSecrets('team', hash, teamData.password); @@ -1279,10 +1275,6 @@ define([ var teams = store.proxy.teams = store.proxy.teams || {}; - initializeTeams(ctx, waitFor(function (err) { - if (err) { return; } - })); - // Listen for changes in our access rights (if another worker receives edit access) ctx.store.proxy.on('change', ['teams'], function (o, n, p) { if (p[2] !== 'hash') { return; } diff --git a/www/common/outer/userObject.js b/www/common/outer/userObject.js index 868e623de..7182d6ab2 100644 --- a/www/common/outer/userObject.js +++ b/www/common/outer/userObject.js @@ -45,6 +45,8 @@ define([ var ids = id ? [id] : exp.findChannels([channel]); ids.forEach(function (i) { var data = exp.getFileData(i, true); + var oldHref = exp.getHref(data); + if (oldHref === href) { return; } data.href = exp.cryptor.encrypt(href); }); };