Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging

pull/1/head
yflory 5 years ago
commit 0b6cb4940f

@ -1,3 +1,35 @@
# UplandMoa's revenge (3.20.1)
Once again we've decided to follow up our last major release with a minor "revenge" release that we wanted to make available as soon as possible.
We expect to deploy and release version 3.21.0 on Tuesday, July 28th, 2020.
Features
* The _markmap_ rendering mode which was recently added to markdown preview pane implements some click event handlers which overlap with our existing handlers which open the embedded mindmap in our full screen "lightbox". You can now use _ctrl-click_ to trigger its built-in events (collapsing subtrees of the mindmap) without opening the lightbox.
* We've made a few improvement to user and team drives:
* The _list mode_ now features a "ghost icon" which you can use to create a new pad in the current folder, matching behaviour that already existed in grid mode.
* We've also updated the search mode to display a spinner while your search is in progress. We also display some text when no results are found.
* Team drives now open with the sidebar collapsed.
* Our rich text, code, slide, and poll apps now intercept pasted images and prompt the user to upload them, matching the existing experience of dragging an image into the same editable area.
* We've received new contributions to our Romanian translation via [our weblate instance](https://weblate.cryptpad.fr/projects/cryptpad/app/).
Bug fixes
* We identified some race conditions in our spreadsheet app that were responsible for some corrupted data during the period leading up to our 3.20.0 release, however, we wanted to take a little more time to test before releasing the fixes. As of this release we're moving to a third version of our internal data format. This requires a client-side migration for each older sheet which will be performed by the first registered user to open a sheet in edit mode, after which a page reload will be required. Unregistered users with edit rights will only be able to view older sheets until they have been migrated by a registered user.
* We now guard against empty _mathjax_ and _markmap_ code blocks in their respective markdown preview rendering extensions, as we discovered that empty inputs resulted in the display of "undefined" in the rendered element.
* We noticed and fixed two regressions in user and team drives:
1. drive history had stopped working since the introduction of the "restricted mode" for shared folders which were made inaccessible due to the enforcement of their access lists.
2. users with shared folders which had been deleted or had their passwords changed were prompted to delete the folder from their drive or enter its new password. The "submit" button was affected by a style regression which we've addressed.
* We've updated to a new version of `lodash` as a dependency of the linters that we use to validate our code. Unless you were actively using those linters while developing CryptPad this should have no effect for you.
* Finally, when users open a link to a "self-destructing pad" we now check to make sure that the deletion key they possess has not been revoked before displaying a warning indicating that the pad in question will be deleted once they open it.
To update from 3.20.0 to 3.20.1:
1. Stop your server
2. Get the latest code with `git checkout 3.20.1`
3. Install the latest dependencies with `bower update` and `npm i`
3. Restart your server
# UplandMoa (3.20.0)
## Goals

@ -62,7 +62,7 @@ define([
var imprintUrl = AppConfig.imprint && (typeof(AppConfig.imprint) === "boolean" ?
'/imprint.html' : AppConfig.imprint);
Pages.versionString = "CryptPad v3.20.0 (UplandMoa)";
Pages.versionString = "CryptPad v3.20.1 (UplandMoa's revenge)";
// used for the about menu
Pages.imprintLink = AppConfig.imprint ? footLink(imprintUrl, 'imprint') : undefined;

8
package-lock.json generated

@ -1,6 +1,6 @@
{
"name": "cryptpad",
"version": "3.20.0",
"version": "3.20.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -977,9 +977,9 @@
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true
},
"lodash.clonedeep": {

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

@ -310,6 +310,10 @@
clearTimeout(to);
to = setTimeout(Util.bake(f, Util.slice(arguments)), ms);
};
g.clear = function () {
clearTimeout(to);
to = undefined;
};
return g;
};

@ -571,6 +571,7 @@ define([
var MutationObserver = window.MutationObserver;
var onPreview = function ($mt) {
return function () {
if (window.event.ctrlKey) { return; }
var mts = [];
// Get all previewable elements from the doc
$content.find('media-tag, pre[data-plugin]').each(function (i, el) {

@ -4785,7 +4785,7 @@ define([
placeholder: Messages.settings_changePasswordNew,
style: 'flex: 1;'
});
var passwordOk = h('button', Messages.properties_changePasswordButton);
var passwordOk = h('button.btn', Messages.properties_changePasswordButton);
var changePass = h('span.cp-password-container', [
newPassword,
passwordOk

@ -1043,7 +1043,8 @@ define([
var lock = readOnly || APP.migrate;
// Starting from version 3, we can use the view mode again
var mode = (content && content.version > 2 && lock) ? "view" : "edit";
// defined but never used
//var mode = (content && content.version > 2 && lock) ? "view" : "edit";
// Config
APP.ooconfig = {
@ -1823,6 +1824,7 @@ define([
}
var version = 'v2a/';
var msg;
// Old version detected: use the old OO and start the migration if we can
if (privateData.ooForceVersion) {
if (privateData.ooForceVersion === "1") {
@ -1836,7 +1838,7 @@ define([
content.migration = true;
APP.onLocal();
} else {
var msg = h('div.alert.alert-warning.cp-burn-after-reading', Messages.oo_sheetMigration_anonymousEditor); // XXX update: "anonymous users or viewers"
msg = h('div.alert.alert-warning.cp-burn-after-reading', Messages.oo_sheetMigration_anonymousEditor); // XXX update: "anonymous users or viewers"
$(APP.helpMenu.menu).after(msg);
readOnly = true;
}
@ -1847,7 +1849,7 @@ define([
content.migration = true;
APP.onLocal();
} else {
var msg = h('div.alert.alert-warning.cp-burn-after-reading', Messages.oo_sheetMigration_anonymousEditor);
msg = h('div.alert.alert-warning.cp-burn-after-reading', Messages.oo_sheetMigration_anonymousEditor);
$(APP.helpMenu.menu).after(msg);
readOnly = true;
}

@ -1397,5 +1397,6 @@
"oo_refreshText": "Dieses Dokument wurde aktualisiert",
"support_formCategoryError": "Fehler: Kategorie ist leer",
"fm_restricted": "Du kannst auf dieses Element nicht zugreifen",
"fm_emptyTrashOwned": "In deinem Papierkorb sind Dokumente gespeichert, deren Eigentümer du bist. Du kannst sie aus deinem CryptDrive <b>entfernen</b> oder für alle Benutzer <b>zerstören</b>."
"fm_emptyTrashOwned": "In deinem Papierkorb sind Dokumente gespeichert, deren Eigentümer du bist. Du kannst sie aus deinem CryptDrive <b>entfernen</b> oder für alle Benutzer <b>zerstören</b>.",
"fm_noResult": "Keine Ergebnisse gefunden"
}

@ -1396,5 +1396,6 @@
"oo_refresh": "Recharger",
"support_category": "Choisir une catégorie",
"fm_restricted": "Vous n'avez pas accès à cet élément",
"fm_emptyTrashOwned": "Votre corbeille contient des documents dont vous êtes propriétaire. Vous pouvez les <b>supprimer</b> de votre drive uniquement, ou les <b>détruire</b> pour tous les utilisateurs."
"fm_emptyTrashOwned": "Votre corbeille contient des documents dont vous êtes propriétaire. Vous pouvez les <b>supprimer</b> de votre drive uniquement, ou les <b>détruire</b> pour tous les utilisateurs.",
"fm_noResult": "Pas de résultat"
}

@ -1397,5 +1397,6 @@
"support_category": "Choose a category",
"support_formCategoryError": "Error: category is empty",
"fm_emptyTrashOwned": "Your trash contains documents you own. You can <b>remove</b> them from your drive only, or <b>destroy</b> them for all users.",
"fm_restricted": "You do not have access"
"fm_restricted": "You do not have access",
"fm_noResult": "No results found"
}

@ -150,8 +150,8 @@
"fm_openParent": "Arată în folder",
"fm_noname": "Document nedenumit",
"fm_emptyTrashDialog": "Ești sigur că vrei să golești coșul de gunoi?",
"fm_removeSeveralPermanentlyDialog": "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elemente din coșul de gunoi?",
"fm_removePermanentlyDialog": "Ești sigur că vrei să ștergi acest element pentru totdeauna?",
"fm_removeSeveralPermanentlyDialog": "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elemente din coșul de gunoi? Acestea vor rămâne în drive-ul altor utilizatori care le-au stocat.",
"fm_removePermanentlyDialog": "Ești sigur că vrei să ștergi acest element pentru totdeauna? Acesta va rămâne în drive-ul altor utilizatori care l-au stocat.",
"fm_removeSeveralDialog": "Ești sigur că vrei să muți aceste {0} elemente la coșul de gunoi?",
"fm_removeDialog": "Ești sigur că vrei să muți {0} la gunoi?",
"fm_restoreDialog": "Ești sigur că vrei să restabilești {0} în locația trecută?",
@ -175,7 +175,7 @@
"fc_open_ro": "Deschide (modul citire)",
"fc_delete": "Șterge",
"fc_restore": "Restaurează",
"fc_remove": "Șterge permanent",
"fc_remove": "Elimină",
"fc_empty": "Curăță coșul",
"fc_prop": "Proprietăți",
"fc_sizeInKilobytes": "Dimensiune n Kilobytes",
@ -358,7 +358,7 @@
"chatButton": "Chat",
"userAccountButton": "Contul tău",
"uploadButton": "Încarcă fișiere",
"uploadButtonTitle": "Încarcă un nou fișier in dosarul curent",
"uploadButtonTitle": "Încarcă un nou fișier in CryptDrive-ul personal",
"useTemplate": "Pornești de la un șablon?",
"useTemplateOK": "Alege un șablon (Enter)",
"useTemplateCancel": "Începe de la zero (Esc)",
@ -381,7 +381,7 @@
"filePicker_filter": "Filtrează fișierele după nume",
"or": "sau",
"tags_title": "Etichete (doar pentru tine)",
"tags_add": "Updatează etichetele acestei pagini",
"tags_add": "Actualizeaza cuvintele cheie ale selectiei",
"tags_notShared": "Etichetele tale nu sunt împărțite cu alți utilizatori",
"tags_duplicate": "Duplică eticheta: {0}",
"tags_noentry": "Nu poți eticheta un pad șters",
@ -512,7 +512,7 @@
"fm_moveNestedSF": "Nu poti plasa un folder partajat în interiorul altuia. Folderul {0} nu a fost mutat.",
"fm_passwordProtected": "Parolă protejată",
"fc_newsharedfolder": "Folder partajat nou",
"fc_delete_owned": "Șterge de pe server",
"fc_delete_owned": "Distruge",
"fc_remove_sharedfolder": "Șterge",
"fc_hashtag": "Etichete",
"fs_migration": "CrytpDrive-ul tău este updatat la o versiune nouă. În consecință, pagina curentă trebuie reîncarcată. Te rugăm să reîncarci această pagina pentru a continua să o utilizezi.",
@ -579,5 +579,16 @@
"fm_morePads": "Mai mult",
"uploadFolderButton": "Încarcă dosar",
"storageStatus": "Capacitate de stocare:<br /><b>{0}</b> utilizat din <b>{1}</b>",
"fc_collapseAll": "Restrânge"
"fc_collapseAll": "Restrânge",
"settings_creationSkip": "Omiteți ecranul de creare a fișierului",
"settings_padSpellcheckLabel": "Activați verificarea ortografică",
"settings_padSpellcheckHint": "Această opțiune vă permite să activați verificarea ortografică în editorul de text. Erorile de ortografie vor fi subliniate în roșu și va trebui să țineți apăsată tasta Ctrl sau tasta Meta în timp ce faceți clic dreapta pentru a vedea opțiunile corecte.",
"settings_padSpellcheckTitle": "Verificare a ortografiei",
"settings_padWidthLabel": "Reduceți lățimea editorului",
"settings_padWidthHint": "Comutați între modul pagină (implicit) care limitează lățimea editorului de text și utilizați întreaga lățime a ecranului.",
"settings_resetThumbnailsDone": "Toate iconițele au fost șterse.",
"settings_disableThumbnailsDescription": "Iconițele sunt create automat și stocate în browserul dvs. atunci când vizitați un nou fișier. Puteți dezactiva această funcționalitate aici.",
"settings_disableThumbnailsAction": "Dezactivați crearea de iconițe în CryptDrive",
"settings_resetThumbnailsDescription": "Curățați toate iconițele fișierelor stocate în browser.",
"settings_resetThumbnailsAction": "Curăță"
}

Loading…
Cancel
Save