diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 0ba3413a3..e490cd040 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -156,7 +156,7 @@ define(function () {
out.filePickerButton = "Intégrer un fichier stocké dans CryptDrive";
out.filePicker_close = "Fermer";
- out.filePicker_description = "Choisissez un fichier de votre CryptDrive pour l'intégrer ou uploadez-en un nouveau";
+ out.filePicker_description = "Choisissez un fichier de votre CryptDrive pour l'intégrer ou importez-en un nouveau";
out.filePicker_filter = "Filtrez les fichiers par leur nom";
out.or = 'ou';
diff --git a/www/code/app-code.less b/www/code/app-code.less
index 4758bc182..463bb07a3 100644
--- a/www/code/app-code.less
+++ b/www/code/app-code.less
@@ -50,7 +50,7 @@
height: 100%;
overflow: hidden;
&.cp-app-code-present {
- .CodeMirror { display: none; }
+ #cp-app-code-container { display: none; }
#cp-app-code-preview { border: 0; }
}
}
diff --git a/www/common/common-interface.js b/www/common/common-interface.js
index ebd296a72..e4729a2c8 100644
--- a/www/common/common-interface.js
+++ b/www/common/common-interface.js
@@ -55,6 +55,7 @@
};
var stopListening = UI.stopListening = function (handler) {
+ if (!handler) { return; } // we don't want to stop all the 'keyup' listeners
$(window).off('keyup', handler);
};
@@ -219,7 +220,7 @@
var $cancel = findCancelButton(tagger).click(function (e) {
close(null, e);
});
- listenForKeys(function () {
+ listener = listenForKeys(function () {
$ok.click();
}, function () {
$cancel.click();
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 2ff827ee7..883538607 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -464,6 +464,11 @@ define([
common.onNetworkDisconnect = Util.mkEvent();
common.onNetworkReconnect = Util.mkEvent();
+ // Messaging
+ var messaging = common.messaging = {};
+ messaging.onFriendRequest = Util.mkEvent();
+ messaging.onFriendComplete = Util.mkEvent();
+
// Messenger
var messenger = common.messenger = {};
messenger.getFriendList = function (cb) {
@@ -600,13 +605,11 @@ define([
break;
}
case 'Q_FRIEND_REQUEST': {
- if (!common.onFriendRequest) { break; }
- common.onFriendRequest(data, cb);
+ common.messaging.onFriendRequest.fire(data, cb);
break;
}
case 'EV_FRIEND_COMPLETE': {
- if (!common.onFriendComplete) { break; }
- common.onFriendComplete(data);
+ common.messaging.onFriendComplete.fire(data);
break;
}
// Network
diff --git a/www/common/mergeDrive.js b/www/common/mergeDrive.js
index ba831ab56..c51428b2a 100644
--- a/www/common/mergeDrive.js
+++ b/www/common/mergeDrive.js
@@ -105,7 +105,8 @@ define([
if (parsed) {
var proxy = proxyData.proxy;
var oldFo = FO.init(parsed.drive, {
- loggedIn: proxyData.loggedIn
+ loggedIn: proxyData.loggedIn,
+ pinPads: function () {} // without pinPads /outer/userObject.js won't be loaded
});
var onMigrated = function () {
oldFo.fixFiles();
diff --git a/www/common/outer/async-store.js b/www/common/outer/async-store.js
index 8e6c91f70..9ae0bd330 100644
--- a/www/common/outer/async-store.js
+++ b/www/common/outer/async-store.js
@@ -616,11 +616,11 @@ define([
postMessage("UPDATE_METADATA");
},
pinPads: Store.pinPads,
- friendComplete: function (data, cb) {
- postMessage("Q_FRIEND_COMPLETE", data, cb);
+ friendComplete: function (data) {
+ postMessage("EV_FRIEND_COMPLETE", data);
},
- friendRequest: function (data) {
- postMessage("EV_FRIEND_REQUEST", data);
+ friendRequest: function (data, cb) {
+ postMessage("Q_FRIEND_REQUEST", data, cb);
},
};
};
diff --git a/www/common/sframe-app-framework.js b/www/common/sframe-app-framework.js
index 526e45678..fbe872d76 100644
--- a/www/common/sframe-app-framework.js
+++ b/www/common/sframe-app-framework.js
@@ -342,6 +342,7 @@ define([
};
var createFilePicker = function () {
+ if (!common.isLoggedIn()) { return; }
common.initFilePicker({
onSelect: function (data) {
if (data.type !== 'file') {
@@ -369,6 +370,7 @@ define([
}).appendTo(toolbar.$rightside).hide();
};
var setMediaTagEmbedder = function (mte) {
+ if (!common.isLoggedIn()) { return; }
if (!mte || readOnly) {
$embedButton.hide();
return;
diff --git a/www/common/sframe-common-outer.js b/www/common/sframe-common-outer.js
index fc132b8cb..2dc46a592 100644
--- a/www/common/sframe-common-outer.js
+++ b/www/common/sframe-common-outer.js
@@ -307,17 +307,16 @@ define([
});
sframeChan.on('Q_SEND_FRIEND_REQUEST', function (netfluxId, cb) {
- Messaging.inviteFromUserlist(Cryptpad, netfluxId);
- cb();
+ Cryptpad.inviteFromUserlist(netfluxId, cb);
});
- Cryptpad.onFriendRequest = function (confirmText, cb) {
+ Cryptpad.messaging.onFriendRequest.reg(function (confirmText, cb) {
sframeChan.query('Q_INCOMING_FRIEND_REQUEST', confirmText, function (err, data) {
cb(data);
});
- };
- Cryptpad.onFriendComplete = function (data) {
+ });
+ Cryptpad.messaging.onFriendComplete.reg(function (data) {
sframeChan.event('EV_FRIEND_REQUEST', data);
- };
+ });
sframeChan.on('Q_GET_FULL_HISTORY', function (data, cb) {
var crypto = Crypto.createEncryptor(secret.keys);
diff --git a/www/drive/inner.js b/www/drive/inner.js
index 2197ba563..aa8034f23 100644
--- a/www/drive/inner.js
+++ b/www/drive/inner.js
@@ -2233,6 +2233,9 @@ define([
appStatus.ready(true);
};
var displayDirectory = APP.displayDirectory = function (path, force) {
+ if (history.isHistoryMode) {
+ return void _displayDirectory(path, force);
+ }
updateObject(sframeChan, proxy, function () {
copyObjectValue(files, proxy.drive);
_displayDirectory(path, force);
@@ -2635,6 +2638,10 @@ define([
APP.hideMenu();
});
+ if (!APP.loggedIn) {
+ $defaultContextMenu.find('.cp-app-drive-context-delete').text(Messages.fc_remove)
+ .attr('data-icon', 'fa-eraser');
+ }
$defaultContextMenu.on("click", "a", function(e) {
e.stopPropagation();
var paths = $(this).data('paths');
@@ -2902,14 +2909,12 @@ define([
});
history.onEnterHistory = function (obj) {
- var files = obj.drive;
- filesOp = FO.init(files, config);
+ copyObjectValue(files, obj.drive);
appStatus.isReady = true;
refresh();
};
history.onLeaveHistory = function () {
- var files = proxy.drive;
- filesOp = FO.init(files, config);
+ copyObjectValue(files, proxy.drive);
refresh();
};
diff --git a/www/poll/inner.js b/www/poll/inner.js
index df193985e..aa1c62a57 100644
--- a/www/poll/inner.js
+++ b/www/poll/inner.js
@@ -1142,27 +1142,29 @@ define([
APP.$publishButton = $publish;
updatePublishButton();
- var fileDialogCfg = {
- onSelect: function (data) {
- if (data.type === 'file' && APP.editor) {
- var mt = '';
- APP.editor.replaceSelection(mt);
- return;
+ if (common.isLoggedIn()) {
+ var fileDialogCfg = {
+ onSelect: function (data) {
+ if (data.type === 'file' && APP.editor) {
+ var mt = '';
+ APP.editor.replaceSelection(mt);
+ return;
+ }
}
- }
- };
- common.initFilePicker(fileDialogCfg);
- APP.$mediaTagButton = $('