diff --git a/CHANGELOG.md b/CHANGELOG.md index 03beab596..81918d5dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# 4.2.1 + +This minor release addresses a few bugs discovered after deploying 4.2.0: + +* The 4.2.0 release included major improvements to the sheet application. This introduced breaking changes to the "lock" system in the application. Existing spreadsheets (before 4.2.0) that were closed by a user without "unlocking" all cells first became impossible to open after the 4.2.0 changes. This has been fixed. +* Team owners can now properly upload a team avatar. +* We've improved the file upload script to better recognize markdown files. +* We've fixed a few issues resulting in an error screen: + * New users were unable to create a drive without registering first. + * Snapshots in the sheet application couldn't be loaded. + * Loading an existing drive as an unregistered user could fail. + # 4.2.0 (C) ## Goals diff --git a/customize.dist/pages.js b/customize.dist/pages.js index 708041915..3ea9606d6 100644 --- a/customize.dist/pages.js +++ b/customize.dist/pages.js @@ -62,7 +62,7 @@ define([ var imprintUrl = AppConfig.imprint && (typeof(AppConfig.imprint) === "boolean" ? '/imprint.html' : AppConfig.imprint); - Pages.versionString = "v4.2.0"; + Pages.versionString = "v4.2.1"; // used for the about menu Pages.imprintLink = AppConfig.imprint ? footLink(imprintUrl, 'imprint') : undefined; diff --git a/www/common/outer/messenger.js b/www/common/outer/messenger.js index adac6d758..1ac7a6e17 100644 --- a/www/common/outer/messenger.js +++ b/www/common/outer/messenger.js @@ -537,6 +537,13 @@ define([ if (peer === hk) { return; } if (channel.readOnly) { return; } + // XXX review + // Sending myData is used to build a "mapId" object which links + // netflux IDs to a curvePublic/uid. We use this map in friend chat + // to detect is the other user is online and we also use it in team chat + // to show if other team members are online (in the roster section). + // It is not needed in the pad chat for now and only causes useless + // network usage. if (channel.isPadChat) { return; } // Join event will be sent once we are able to ID this peer diff --git a/www/common/outer/team.js b/www/common/outer/team.js index f959ee11b..31785e26b 100644 --- a/www/common/outer/team.js +++ b/www/common/outer/team.js @@ -1046,6 +1046,7 @@ define([ if (!team) { return void cb ({error: 'ENOENT'}); } if (team.offline) { return void cb({error: 'OFFLINE'}); } if (!team.roster) { return void cb({error: 'NO_ROSTER'}); } + if (data.metadata) { delete data.metadata.offline; } team.roster.metadata(data.metadata, function (err) { if (err) { return void cb({error: err}); } var localTeam = ctx.store.proxy.teams[teamId]; diff --git a/www/common/sframe-common-outer.js b/www/common/sframe-common-outer.js index 3614372a0..df49ee6a3 100644 --- a/www/common/sframe-common-outer.js +++ b/www/common/sframe-common-outer.js @@ -1742,7 +1742,7 @@ define([ var cpNfCfg = { sframeChan: sframeChan, channel: secret.channel, - versionHash: parsed.hashData && parsed.hashData.versionHash, + versionHash: cfg.type !== 'oo' && parsed.hashData && parsed.hashData.versionHash, padRpc: Cryptpad.padRpc, validateKey: secret.keys.validateKey || undefined, isNewHash: isNewHash,