Merge branch 'staging' into chat

pull/1/head
yflory 6 years ago
commit 8f6d0b1c3a

@ -1,3 +1,58 @@
# Hedgehog release (v2.7.0)
## Goals
This release overlapped with the publication and presentation of a paper written about CryptPad's architecture.
As such, we didn't plan for any very ambitious new features, and instead focused on bug fixes and some new workflows.
## Update notes
This is a fairly simple release. Just download the latest commits and update your cache-busting string.
### Features
* In order to address some privacy concerns, we've changed CryptPad such that pads are not immediately stored in your CryptDrive as soon as you open them. Instead, users are presented with a prompt in the bottom-right corner which asks them whether they'd like to store it manually. Alternatively, you can use your settings page to revert to the old automatic behaviour, or choose not to store, and to never be asked.
* It was brought to our attention that it was possible to upload base64-encoded images in the rich text editor. These images had a negative performance impact on such pads. From now on, if these images are detected in a pad, users are prompted to run a migration to convert them to uploaded (and encrypted) files.
* We've added a progress bar which is displayed while you are loading a pad, as we found that it was not very clear whether large pads were loading, or if they had become unresponsive due to a bug.
* We've added an option to allow users to right-click uploaded files wherever they appear, and to store that file in their CryptDrive.
* We've improved the dialog which is used to modify the properties of encrypted media embedded within rich text pads.
### Bug fixes
* Due to a particularly disastrous bug in Chrome 68 which was unfortunately beyond our power to fix, we've added a warning for anyone affected by that bug to let them know the cause.
* We've increased the module loading timeout value used by requirejs in our sharedWorker implementation to match the value used by the rest of CryptPad.
# Gibbon release (v2.6.0)
## Goals
For this release we focused on deploying two very large changes in CryptPad.
For one, we'd worked on a large refactoring of the system we use to compile CSS from LESS, so as to make it more efficient.
Secondly, we reworked the architecture we use for implementing the CryptDrive functionality, so as to integrate support for shared folders.
## Update notes
To test the _shared folders_ functionality, users can run the following command in their browser console:
`localStorage.CryptPad_SF = "1";`
Alternatively, if the instance administrator would like to enable shared folders for all users, they can do so via their `/customize/application_config.js` file, by adding the following line:
`config.disableSharedFolders = true;`
### Features
* As mentioned in the _goals_ for this release, we've merged in the work done to drastically improve performance when compiling styles. The system features documentation for anyone interested in understanding how it works.
* We've refactored the APIs used to interact with your CryptDrive, implementing a single interface with which applications can interact, which then manages any number of sub-objects each representing a shared folder. Shared folders are still disabled by default. See the _Update notes_ section for more information.
* The home page now features the same footer which has been displayed on all other information pages until now.
* We've added a slightly nicer spinner icon on loading pages.
* We've created a custom font _cp-tools_ for our custom-designed icons
### Bug fixes
* We've accepted a pull request implementing serverside support for moving files across different drives, for system administrators hosting CryptPad on systems which segregate folders on different partitions.
* We've addressed a report of an edge case in CryptPad's user password change logic which could cause users to delete their accounts.
# Fossa release (v2.5.0)
## Goals

@ -94,7 +94,7 @@ define([
])
])
]),
h('div.cp-version-footer', "CryptPad v2.6.0 (Gibbon)")
h('div.cp-version-footer', "CryptPad v2.7.0 (Hedgehog)")
]);
};

@ -220,6 +220,7 @@ define(function () {
out.notifyRenamed = "{0} a changé son nom en {1}";
out.notifyLeft = "{0} a quitté la session collaborative";
out.ok = 'OK';
out.okButton = 'OK (Entrée)';
out.cancel = "Annuler";
@ -246,6 +247,11 @@ define(function () {
out.pad_mediatagTitle = "Options du Media-Tag";
out.pad_mediatagWidth = "Largeur (px)";
out.pad_mediatagHeight = "Hauteur (px)";
out.pad_mediatagRatio = "Préserver les proportions";
out.pad_mediatagBorder = "Éaisseur de la bordure (px)";
out.pad_mediatagPreview = "Aperçu";
out.pad_mediatagImport = 'Sauver dans votre CryptDrive';
out.pad_mediatagOptions = 'Propriétés de l\'image';
// Kanban
out.kanban_newBoard = "Nouveau tableau";
@ -561,6 +567,14 @@ define(function () {
out.settings_importConfirm = "Êtes-vous sûr de vouloir importer les pads récents de ce navigateur dans le CryptDrive de votre compte utilisateur ?";
out.settings_importDone = "Importation terminée";
out.settings_autostoreTitle = "Stockage des pads dans CryptDrive";
out.settings_autostoreHint = "Le stockage <b>Automatique</b> des pads permet de sauver tous les pads que vous visitez dans votre CryptDrive, sans action de votre part.<br>" +
"Le stockage <b>Manuel (toujours demander)</b> permet de ne pas stocker automatiquement les pads, mais d'afficher un message vous demandant s'il faut le faire ou non.<br>" +
"Le stockage <b>Manuel (ne pas demander)</b> permet de ne pas stocker les pads ni d'afficher le message. Une option permettant de les stocker sera toujours disponible, mais cachée.";
out.settings_autostoreYes = "Automatique";
out.settings_autostoreNo = "Manuel (ne pas demander)";
out.settings_autostoreMaybe = "Manuel (toujours demander)";
out.settings_userFeedbackTitle = "Retour d'expérience";
out.settings_userFeedbackHint1 = "CryptPad peut envoyer des retours d'expérience très limités vers le serveur, de manière à nous permettre d'améliorer l'expérience des utilisateurs. ";
out.settings_userFeedbackHint2 = "Le contenu de vos pads et les clés de déchiffrement ne seront jamais partagés avec le serveur.";
@ -646,6 +660,7 @@ define(function () {
// pad
out.pad_showToolbar = "Afficher la barre d'outils";
out.pad_hideToolbar = "Cacher la barre d'outils";
out.pad_base64 = "Ce pad contient des images stockées de manière inefficace. Ces images vont augmenter de manière significative la taille du pad dans votre CryptDrive, et le rendre plus lent à charger. Vous pouvez migrer ces fichiers afin de les stocker séparément dans votre CryptDrive. Voulez-vous commencer la migration maintenant?";
// markdown toolbar
out.mdToolbar_button = "Afficher ou cacher la barre d'outils Markdown";
@ -1177,5 +1192,17 @@ define(function () {
out.sharedFolders_create_password = "Mot de passe du dossier";
out.sharedFolders_share = "Partager cette URL avec d'autres utilisateurs enregistrés leur donne accès au dossier partagé. Une fois l'URL ouverte, le dossier partagé sera ajouté au répertoire racine de leur CryptDrive.";
out.chrome68 = "Il semblerait que vous utilisiez le navigateur Chrome version 68. Ce navigateur contient un bug rendant certaines pages entièrement blanches après quelques secondes ou bloquant les clics. Pour corriger ce problème, vous pouvez vous déplacer vers un nouvel onglet et revenir ou vous pouvez essayer de faire défiler la page. Ce bug devrait être corrigé dans la prochaine version du navigateur.";
// Manual pad storage popup
out.autostore_notstored = "Ce pad n'est pas dans votre CryptDrive. Souhaitez-vous le stocker ?";
out.autostore_settings = "Vous pouvez activer le stockage automatique des pads dans vos <a href=\"/settings/\">Préférences</a> !";
out.autostore_store = "Stocker";
out.autostore_hide = "Ne pas stocker";
out.autostore_error = "Erreur : nous n'avons pas réussi à stocker ce pad, veuillez ré-essayer.";
out.autostore_saved = "Ce pad a été stocké avec succès dans votre CryptDrive !";
out.autostore_forceSave = "Stocker le fichier dans votre CryptDrive"; // File upload modal
out.autostore_notAvailable = "Vous devez stocker ce pad dans votre CryptDrive avant de pouvoir utiliser cette fonctionnalité.";
return out;
});

@ -252,7 +252,7 @@ define(function () {
out.pad_mediatagRatio = "Keep ratio";
out.pad_mediatagBorder = "Border width (px)";
out.pad_mediatagPreview = "Preview";
out.pad_mediatagImport = 'Save in CryptDrive';
out.pad_mediatagImport = 'Save in your CryptDrive';
out.pad_mediatagOptions = 'Image properties';
// Kanban
@ -669,7 +669,7 @@ define(function () {
// pad
out.pad_showToolbar = "Show toolbar";
out.pad_hideToolbar = "Hide toolbar";
out.pad_base64 = "This pad contains images stored in an inefficient way. These images will increase significantly the size of the pad in your CryptDrive, and they will make it slower to load. Do you want to migrate these images to a better format (they will be stored separately in your drive)?"; // XXX
out.pad_base64 = "This pad contains images stored in an inefficient way. These images will significantly increase the size of the pad in your CryptDrive, and make it slower to load. You can migrate these files to a new format which will be stored separately in your CryptDrive. Do you want to migrate these images now?";
// markdown toolbar
out.mdToolbar_button = "Show or hide the Markdown toolbar";
@ -1244,13 +1244,13 @@ define(function () {
out.chrome68 = "It seems that you're using the browser Chrome or Chromium version 68. It contains a bug resulting in the page turning completely white after a few seconds or the page being unresponsive to clicks. To fix this issue, you can switch to another tab and come back, or try to scroll in the page. This bug should be fixed in the next version of your browser.";
// Manual pad storage popup
out.autostore_notstored = "This pad is not in your CryptDrive. Do you want to store it now?"; // XXX
out.autostore_settings = "You can enable automatic pad storage in your <a href=\"/settings/\">Settings</a> page!"; // XXX
out.autostore_notstored = "This pad is not in your CryptDrive. Do you want to store it now?";
out.autostore_settings = "You can enable automatic pad storage in your <a href=\"/settings/\">Settings</a> page!";
out.autostore_store = "Store";
out.autostore_hide = "Don't store";
out.autostore_error = "Unexpected error: we were unable to store this pad, please try again.";
out.autostore_saved = "The pad was successfully stored in your CryptDrive!";
out.autostore_forceSave = "Store the file in CryptDrive"; // File upload modal
out.autostore_forceSave = "Store the file in your CryptDrive"; // File upload modal
out.autostore_notAvailable = "You must store this pad in your CryptDrive before being able to use this feature."; // Properties/tags/move to trash
return out;

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

@ -41,7 +41,7 @@ define([
var secret = Utils.Hash.getSecrets('drive', hash);
if (hash) {
// Add a shared folder!
// XXX password?
// TODO password?
Cryptpad.addSharedFolder(secret, function (id) {
window.CryptPad_newSharedFolder = id;
// Update the hash in the address bar

@ -236,9 +236,9 @@ define([
label: { class: 'noTitle' }
});
var $div2 = $(h('div.cp-settings-autostore-radio', [
opt1,
opt3,
opt2,
opt3
opt1
])).appendTo($div);
$div.find('input[type="radio"]').on('change', function () {

Loading…
Cancel
Save