Merge branch 'soon' into staging

pull/1/head
ansuz 3 years ago
commit 2a8c70598b

@ -463,6 +463,7 @@ define([
var proceed = function (result) { var proceed = function (result) {
hashing = false; hashing = false;
if (test && typeof test === "function" && test()) { return; } if (test && typeof test === "function" && test()) { return; }
LocalStore.clearLoginToken();
Realtime.whenRealtimeSyncs(result.realtime, function () { Realtime.whenRealtimeSyncs(result.realtime, function () {
Exports.redirect(); Exports.redirect();
}); });

@ -54,7 +54,8 @@ Channel.clearOwnedChannel = function (Env, safeKey, channelId, cb, Server) {
}); });
}; };
var archiveOwnedChannel = function (Env, safeKey, channelId, _cb, Server) { var archiveOwnedChannel = function (Env, safeKey, channelId, __cb, Server) {
var _cb = Util.once(Util.mkAsync(__cb));
var unsafeKey = Util.unescapeKeyCharacters(safeKey); var unsafeKey = Util.unescapeKeyCharacters(safeKey);
nThen(function (w) { nThen(function (w) {
// confirm that the channel exists before worrying about whether // confirm that the channel exists before worrying about whether
@ -160,7 +161,10 @@ Channel.trimHistory = function (Env, safeKey, data, cb) {
nThen(function (w) { nThen(function (w) {
Metadata.getMetadataRaw(Env, channelId, w(function (err, metadata) { Metadata.getMetadataRaw(Env, channelId, w(function (err, metadata) {
if (err) { return void cb(err); } if (err) {
w.abort();
return void cb(err);
}
if (!Core.hasOwners(metadata)) { if (!Core.hasOwners(metadata)) {
w.abort(); w.abort();
return void cb('E_NO_OWNERS'); return void cb('E_NO_OWNERS');
@ -173,6 +177,11 @@ Channel.trimHistory = function (Env, safeKey, data, cb) {
})); }));
}).nThen(function () { }).nThen(function () {
Env.msgStore.trimChannel(channelId, hash, function (err) { Env.msgStore.trimChannel(channelId, hash, function (err) {
Env.Log.info('HK_TRIM_HISTORY', {
unsafeKey: unsafeKey,
channelId: channelId,
status: err? String(err): 'SUCCESS',
});
if (err) { return void cb(err); } if (err) { return void cb(err); }
// clear historyKeeper's cache for this channel // clear historyKeeper's cache for this channel
Env.historyKeeper.channelClose(channelId); Env.historyKeeper.channelClose(channelId);

@ -88,11 +88,10 @@ html, body {
.cp-notice-browser, .cp-notice-details, .cp-notice-other { .cp-notice-browser, .cp-notice-details, .cp-notice-other {
font-size: 70%; font-size: 70%;
} }
.underline { text-decoration: underline; }
.cp-app-checkup-version, .cp-app-checkup-browser { .cp-app-checkup-version, .cp-app-checkup-browser {
text-decoration: underline; .underline;
} }
iframe { iframe {
display: none; display: none;
} }

@ -14,6 +14,25 @@ define([
return false; return false;
}; };
var OS_HINTS = {
"Win": "Windows",
"Mac": "MacOS",
"X11": "UNIX",
"Linux": "Linux",
};
Tools.guessOS = function () {
var result = "UNKNOWN";
if (!window.navigator || !window.navigator.appVersion) { return result; }
result = window.navigator.appVersion;
console.log(result);
Object.keys(OS_HINTS).some(function (key) {
if (result.indexOf(key) === -1) { return; }
result = OS_HINTS[key]; // else
return true;
});
return result;
};
Tools.isSafari = function () { Tools.isSafari = function () {
return navigator.vendor.match(/apple/i); return navigator.vendor.match(/apple/i);

@ -932,7 +932,9 @@ define([
return h('p.cp-notice-browser', [ return h('p.cp-notice-browser', [
"You appear to be using a ", "You appear to be using a ",
h('span.cp-app-checkup-browser', name), h('span.cp-app-checkup-browser', name),
' browser to view this page.', ' browser on ',
h('span.underline', Tools.guessOS()),
' to view this page.',
]); ]);
}; };

@ -1,3 +0,0 @@
// Fix for noscript bugs when caching iframe content.
// Caution, this file will get cached, you must change the name if you change it.
document.getElementById('pad-iframe').setAttribute('src', 'inner.html?cb=' + (+new Date()));

@ -82,6 +82,10 @@ define([
} catch (err) { return; } } catch (err) { return; }
}; };
LocalStore.clearLoginToken = function () {
localStorage.removeItem(Constants.loginToken);
};
LocalStore.setDriveRedirectPreference = function (bool) { LocalStore.setDriveRedirectPreference = function (bool) {
localStorage.setItem(Constants.redirectToDriveKey, Boolean(bool)); localStorage.setItem(Constants.redirectToDriveKey, Boolean(bool));
}; };

@ -1167,6 +1167,13 @@ define([
Store Store
*/ */
var excludeInvalidIdentifiers = function (result) {
return result.filter(function (channel) {
if (typeof(channel) !== 'string') { return; }
return [32, 48].indexOf(channel.length) !== -1;
});
};
// Get the list of channels filtered by a type (expirable channels, owned channels, pin list) // Get the list of channels filtered by a type (expirable channels, owned channels, pin list)
var getChannelsList = function (Env, type) { var getChannelsList = function (Env, type) {
var result = []; var result = [];
@ -1228,8 +1235,8 @@ define([
} }
}; };
if (type === 'owned' && !Env.edPublic) { return result; } if (type === 'owned' && !Env.edPublic) { return excludeInvalidIdentifiers(result); }
if (type === 'pin' && !Env.edPublic) { return result; } if (type === 'pin' && !Env.edPublic) { return excludeInvalidIdentifiers(result); }
// Get the list of user objects // Get the list of user objects
var userObjects = _getUserObjects(Env); var userObjects = _getUserObjects(Env);
@ -1256,10 +1263,7 @@ define([
Array.prototype.push.apply(result, sfChannels); Array.prototype.push.apply(result, sfChannels);
} }
return result.filter(function (channel) { return excludeInvalidIdentifiers(result);
if (typeof(channel) !== 'string') { return; }
return [32, 48].indexOf(channel.length) !== -1;
});
}; };
var addPad = function (Env, path, pad, cb) { var addPad = function (Env, path, pad, cb) {

@ -1379,5 +1379,8 @@
"fm_link_name_placeholder": "Mein Link", "fm_link_name_placeholder": "Mein Link",
"fm_link_url": "URL", "fm_link_url": "URL",
"fm_link_type": "Link", "fm_link_type": "Link",
"fm_link_new": "Neuer Link" "fm_link_new": "Neuer Link",
"form_totalResponses": "Antworten insgesamt: {0}",
"ui_expand": "Ausklappen",
"ui_collapse": "Einklappen"
} }

@ -1379,5 +1379,8 @@
"fm_link_name_placeholder": "あなたのリンク", "fm_link_name_placeholder": "あなたのリンク",
"fm_link_warning": "注意URLが200字を超えています", "fm_link_warning": "注意URLが200字を超えています",
"fm_link_invalid": "URLが無効です", "fm_link_invalid": "URLが無効です",
"form_answerAs": "名前を記入してください" "form_answerAs": "名前を記入してください",
"form_totalResponses": "回答数:{0}",
"ui_expand": "広げる",
"ui_collapse": "折りたたむ"
} }

@ -542,12 +542,12 @@ define([
} }
// Owned drive // Owned drive
if (data.state === true) { if (data.state === true) {
sframeChan.query('Q_SETTINGS_LOGOUT', null, function() {}); return void sframeChan.query('Q_SETTINGS_LOGOUT_PROPERLY', null, function() {
UI.alert(Messages.settings_deleted, function() { UI.alert(Messages.settings_deleted, function() {
common.gotoURL('/'); common.gotoURL('/');
});
spinner.done();
}); });
spinner.done();
return;
} }
// Not owned drive // Not owned drive
var msg = h('div.cp-app-settings-delete-alert', [ var msg = h('div.cp-app-settings-delete-alert', [

@ -57,6 +57,10 @@ define([
}); });
}); });
}); });
sframeChan.on('Q_SETTINGS_LOGOUT_PROPERLY', function (data, cb) {
Utils.LocalStore.clearLoginToken();
cb();
});
sframeChan.on('Q_SETTINGS_DRIVE_RESET', function (data, cb) { sframeChan.on('Q_SETTINGS_DRIVE_RESET', function (data, cb) {
Cryptpad.resetDrive(cb); Cryptpad.resetDrive(cb);
}); });

@ -39,7 +39,9 @@ define([
var teams = privateData.teams || {}; var teams = privateData.teams || {};
if (!ctx.isAdmin) { if (!ctx.isAdmin) {
data.sender.userAgent = window.navigator && window.navigator.userAgent; data.sender.userAgent = Util.find(window, ['navigator', 'userAgent']);
data.sender.vendor = Util.find(window, ['navigator', 'vendor']);
data.sender.appVersion = Util.find(window, ['navigator', 'appVersion']);
data.sender.blockLocation = privateData.blockLocation || ''; data.sender.blockLocation = privateData.blockLocation || '';
data.sender.teams = Object.keys(teams).map(function (key) { data.sender.teams = Object.keys(teams).map(function (key) {
var team = teams[key]; var team = teams[key];

Loading…
Cancel
Save