Merge branch 'main' into installapp

This commit is contained in:
yflory 2023-01-04 10:16:17 +01:00
commit d03475af96
11 changed files with 69 additions and 30 deletions

View File

@ -1,3 +1,37 @@
# 5.2.1
## Goals
This minor releases fixes a bug with one of the Form features introduced in 5.2.0.
We took the opportunity to include two other fixes for older issues.
## Bug Fixes
- The option to delete all responses to a form was not available to form authors when the form had been created in a drive (user or team) using the **+ NEW** button
- Drag & drop from a shared folder into the Templates folder made documents "disappear". They would reappear in the root of the drive when using a new worker (after all CryptPad tabs had been closed)
- Clicking a link in a Calendar event location field failed to open
## Update notes
Our `5.2.0` release introduced some changes to the Nginx configuration. If you are not already running `5.2.0` we recommend following the upgrade notes for that version first, and then updating to `5.2.1`
To do so:
1. Stop your server
2. Get the latest code with git
```bash
git fetch origin --tags
git checkout 5.2.1
```
1. Install the latest dependencies with `bower update`
2. Restart your server
3. Review your instance's checkup page to ensure that you are passing all tests
# 5.2.0
## Goals

View File

@ -95,7 +95,7 @@ define([
return h('a', attrs, [icon, text]);
};
Pages.versionString = "5.2.0";
Pages.versionString = "5.2.1";
var customURLs = Pages.customURLs = {};
(function () {

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "cryptpad",
"version": "5.2.0",
"version": "5.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "cryptpad",
"version": "5.2.0",
"version": "5.2.1",
"license": "AGPL-3.0+",
"dependencies": {
"@mcrowe/minibloom": "^0.2.0",

View File

@ -1,7 +1,7 @@
{
"name": "cryptpad",
"description": "realtime collaborative visual editor with zero knowlege server",
"version": "5.2.0",
"version": "5.2.1",
"license": "AGPL-3.0+",
"repository": {
"type": "git",

View File

@ -2085,12 +2085,6 @@ APP.recurrenceRule = {
}, function () {
$del.click();
});
var $section = $el.find('.tui-full-calendar-section-button');
var ev = APP.editModalData;
var data = ev.schedule || {};
var id = data.id;
if (!id) { return; }
if (id.indexOf('|') === -1) { return; } // Original event ID doesn't contain |
if (APP.nextLocationUid) {
var uid = APP.nextLocationUid;
@ -2102,6 +2096,15 @@ APP.recurrenceRule = {
common.openUnsafeURL($a.attr('href'));
});
}
var $section = $el.find('.tui-full-calendar-section-button');
var ev = APP.editModalData;
var data = ev.schedule || {};
var id = data.id;
if (!id) { return; }
if (id.indexOf('|') === -1) { return; } // Original event ID doesn't contain |
// This is a recurring event, add button to stop recurrence now
var $b = $(h('button.btn.btn-default', [
h('i.fa.fa-times'),

View File

@ -1579,8 +1579,7 @@ define([
var HSTS = H['strict-transport-security'];
// check for a numerical value of max-age
// and the use of includeSubDomains
if (/max\-age=\d+/.test(HSTS) && /includeSubDomains/.test(HSTS)) {
if (/max\-age=\d+/.test(HSTS)) {
return void cb(true);
}

View File

@ -571,8 +571,8 @@ define([
}, todo);
};
common.clearOwnedChannel = function (channel, cb) {
postMessage("CLEAR_OWNED_CHANNEL", channel, cb);
common.clearOwnedChannel = function (data, cb) {
postMessage("CLEAR_OWNED_CHANNEL", data, cb);
};
// "force" allows you to delete your drive ID
common.removeOwnedChannel = function (data, cb) {

View File

@ -342,10 +342,11 @@ define([
cb(account);
};
// clearOwnedChannel is only used for private chat at the moment
// clearOwnedChannel is only used for private chat and forms
Store.clearOwnedChannel = function (clientId, data, cb) {
if (!store.rpc) { return void cb({error: 'RPC_NOT_READY'}); }
store.rpc.clearOwnedChannel(data, function (err) {
var s = getStore(data && data.teamId);
if (!s.rpc) { return void cb({error: 'RPC_NOT_READY'}); }
s.rpc.clearOwnedChannel(data.channel, function (err) {
cb({error:err});
});
};

View File

@ -88,14 +88,14 @@
"newButton": "Создать",
"uploadButton": "Загрузить файлы",
"uploadButtonTitle": "Загрузить новый файл в ваш CryptDrive",
"saveTemplateButton": "Сохранить как образец",
"saveTemplatePrompt": "Выбрать название для образца",
"templateSaved": "Образец сохранен!",
"selectTemplate": "Выберите образец или нажмите Esc",
"useTemplate": "Начать с образца?",
"useTemplateOK": "Выбрать образец (Enter)",
"template_import": "Импортировать образец",
"template_empty": "Образцы отсутствуют",
"saveTemplateButton": "Сохранить как шаблон",
"saveTemplatePrompt": "Выберите название для шаблона",
"templateSaved": "Шаблон сохранен!",
"selectTemplate": "Выберите шаблон или нажмите Esc",
"useTemplate": "Использовать шаблон?",
"useTemplateOK": "Выбрать шаблон (Enter)",
"template_import": "Импортировать шаблон",
"template_empty": "Шаблоны отсутствуют",
"presentButtonTitle": "Начать режим презентации",
"backgroundButtonTitle": "Изменить фоновый цвет в презентации",
"colorButtonTitle": "Изменить цвет шрифта в презентации",
@ -1564,7 +1564,7 @@
"support_warning_bug": "Пожалуйста, укажите, в каком браузере возникает проблема и установлены ли какие-либо расширения. Пожалуйста, предоставьте как можно больше подробностей о проблеме и шагах, необходимых для ее воспроизведения",
"support_warning_document": "Пожалуйста, укажите, какой тип документа вызывает проблему, и укажите <a>идентификатор документа</a> или ссылку на документ",
"support_warning_drives": "Обратите внимание, что у администраторов нет возможности находить папки и документы по имени. Для общих папок, пожалуйста, укажите <a>идентификатор документа</a>",
"support_warning_account": "Пожалуйста, обратите внимание, что администраторы не могут сменить Ваш пароль. Если вы потеряли учетные данные для своей учетной записи, но всё ещё авторизованы в системе, вы можете <a>перенести свои данные в новую учетную запись</a>",
"support_warning_account": "Пожалуйста, обратите внимание, что администраторы не могут сменить Ваш пароль. Если Вы потеряли учетные данные для своей учетной записи, но всё ещё авторизованы в системе, Вы можете <a>перенести свои данные в новую учетную запись</a>",
"support_warning_prompt": "Пожалуйста, выберите наиболее подходящую категорию для вашего вопроса. Это помогает администраторам определять срочность и сложность проблемы, и дает дополнительные рекомендации относительно того, какую информацию следует предоставлять",
"info_sourceFlavour": "<a>Исходный код</a> CryptPad",
"info_termsFlavour": "<a>Условия обслуживания</a> в этом экземпляре CryptPad",
@ -1576,5 +1576,6 @@
"ui_saved": "{0} сохранено",
"admin_nameHint": "Имя, отображаемое для этого экземпляра в списке общедоступных экземпляров на cryptpad.org",
"admin_nameTitle": "Имя экземпляря CryptPad",
"admin_archiveNote": "Заметка"
"admin_archiveNote": "Заметка",
"form_editable_on": "Один раз и отредактировать"
}

View File

@ -2752,7 +2752,8 @@ define([
UI.confirmButton(button, {classes:'danger'}, function () {
var sframeChan = framework._.sfCommon.getSframeChannel();
sframeChan.query('Q_FORM_DELETE_ALL_ANSWERS', {
channel: content.answers.channel
channel: content.answers.channel,
teamId: typeof(owned) === "number" ? owned : undefined
}, function (err, obj) {
if (err || (obj && obj.error)) { return void UI.warn(Messages.error); }
APP.getResults();

View File

@ -147,7 +147,7 @@ define([
accessKeys = _keys;
_keys.some(function (_k) {
if ((personalDrive && !_k.id) || Cryptpad.initialTeam === _k.id) {
if ((personalDrive && !_k.id) || Cryptpad.initialTeam === Number(_k.id)) {
myKeys = _k;
return true;
}
@ -412,7 +412,7 @@ define([
});
sframeChan.on("Q_FORM_DELETE_ALL_ANSWERS", function (data, cb) {
if (!data || !data.channel) { return void cb({error: 'EINVAL'}); }
Cryptpad.clearOwnedChannel(data.channel, cb);
Cryptpad.clearOwnedChannel(data, cb);
});
sframeChan.on("Q_FORM_DELETE_ANSWER", function (data, cb) {
if (!deleteLines) {