Merge branch 'soon' into staging

pull/1/head
ansuz 5 years ago
commit 05827d9202

@ -1,3 +1,37 @@
# Elasmotherium release notes
## Goals
This is a small release, focused on bug fixes and UI improvements, while we're finalizing bigger team-centric features planned for the next release.
## Update notes
This is a pretty basic release:
1. stop your server
2. pull the latest source code
3. restart your server
## Features
* Media elements (images, videos, pdf, etc.) will now display a placeholder while they're being downloaded and decrypted.
* Media elements deleted from the server by their owner will now display a "broken/missing" image.
* The "auto-close brackets" option in the Code and Slide applications can now be disabled from the user settings.
* "Add item" and "Add board" buttons in Kanban have been moved to improve usability with small screens.
* The "transfer ownership" feature for pads has been extended to shared folders. It is now possible to offer ownership of a shared folder to a friend.
* For administrators
* Better sorting of support tickets in the administration panel. Unanswered messages will be displayed first.
* Add team configuration options in `customize/application_config.js`
* `maxTeamsSlots` defines the maximum number of teams a user can join (default is 3). Teams may significantly increase the loading time of pages and we consider 3 to be a good balance between usability and performances.
* `maxOwnedTeams` defines the number of teams a user can own (default is 1). This number prevent users to create many teams only to increase their storage limit.
## Bug fixes
* The "pad creation modal" (Ctrl+E) is now working everywhere in the drive.
* We've fixed the share button for unregistered users (https://github.com/xwiki-labs/cryptpad/issues/457).
* We've fixed an issue with newly created kanban items replacing existing ones.
* Transfering/offering pad ownership from a team to yourself is now working properly.
# Dodo release (v3.3.0)
## Goals

@ -1005,6 +1005,9 @@ define([
});
};
Store.setPadTitle = function (clientId, data, cb) {
if (store.offline) {
return void cb({ error: 'OFFLINE' });
}
var title = data.title;
var href = data.href;
var channel = data.channel;
@ -1831,6 +1834,10 @@ define([
if (!cmdData || !cmdData.cmd) { return; }
//var data = cmdData.data;
var s = getStore(cmdData.teamId);
if (s.offline) {
broadcast([], 'NETWORK_DISCONNECT');
return void cb({ error: 'OFFLINE' });
}
var cb2 = function (data2) {
// Send the CHANGE event to all the stores because the command may have
// affected data from a shared folder used by multiple teams.
@ -2289,9 +2296,11 @@ define([
});
rt.proxy.on('disconnect', function () {
store.offline = true;
broadcast([], 'NETWORK_DISCONNECT');
});
rt.proxy.on('reconnect', function (info) {
store.offline = false;
broadcast([], 'NETWORK_RECONNECT', {myId: info.myId});
});

@ -101,6 +101,12 @@ define([
path: p
});
});
proxy.on('disconnect', function () {
team.offline = true;
});
proxy.on('reconnect', function (info) {
team.offline = false;
});
};
var closeTeam = function (ctx, teamId) {

@ -511,7 +511,7 @@ define([
path: initialPathInDrive // Where to store the pad if we don't have it in our drive
};
Cryptpad.setPadTitle(data, function (err) {
cb(err);
cb({error: err});
});
});
sframeChan.on('EV_SET_TAB_TITLE', function (newTabTitle) {

@ -64,10 +64,13 @@ define([
sframeChan.query('Q_SET_PAD_TITLE_IN_DRIVE', {
title: title,
defaultTitle: defaultTitle
}, function (err) {
}, function (err, obj) {
err = err || (obj && obj.error);
if (err === 'E_OVER_LIMIT') {
return void UI.alert(Messages.pinLimitNotPinned, null, true);
} else if (err) { return; }
} else if (err) {
return UI.alert(Messages.driveOfflineError);
}
evTitleChange.fire(title);
if (titleUpdated) {
titleUpdated(undefined, title);

Loading…
Cancel
Save