diff --git a/CHANGELOG.md b/CHANGELOG.md index c8d4d8a9b..0b441eeff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ * OnlyOffice sheets * use configured language from CryptPad * fix a sorting issue caused by the overly eager suppression of a modal + * support multiple locks per-user + * not backwards compatible... restart server when updating! * rich text * use white background for rich text documents even in dark mode * display button to adjust document width inline instead of in toolbar @@ -32,17 +34,23 @@ * autocomplete dropdown styles weren't applied * notifications bell now uses same text color as toolbar title * filepicker background color -* chat colors - * in pads - * in the contacts app +* chat: + * colors + * in pads + * in the contacts app + * spinner + * correctly hidden when the chat finishes initializing + * caused by insufficient selector specificity * server updates * `npm i` to get latest dependencies * messages are not acknowledged or broadcast until they have been validated and written to the disk * see [#553](https://github.com/xwiki-labs/cryptpad/issues/553) - * optimized GET_OLDER_HISTORY + * ~~optimized GET_OLDER_HISTORY~~ + * removed, presumably due to a bug * debugging app * serverHash is included in the history of decrypted messages * link to the docs from the support page's ticket creation interface +* completion of unowned uploads was broken by a change introduced in late december # 4.1.0 (B) diff --git a/customize.dist/src/less2/include/tippy.less b/customize.dist/src/less2/include/tippy.less index 5cb7c2f59..5450d3114 100644 --- a/customize.dist/src/less2/include/tippy.less +++ b/customize.dist/src/less2/include/tippy.less @@ -14,7 +14,7 @@ } } .tippy-popper { - @arrow-color: @cp_tooltip-bg; + @arrow-color: @cp_tooltip-bg !important; &[x-placement^='top'] .tippy-arrow { border-top-color: @arrow-color; } diff --git a/lib/commands/upload.js b/lib/commands/upload.js index 346262716..5d0c8740b 100644 --- a/lib/commands/upload.js +++ b/lib/commands/upload.js @@ -75,19 +75,18 @@ Upload.upload = function (Env, safeKey, chunk, cb) { Env.blobStore.upload(safeKey, chunk, cb); }; -Upload.complete = function (Env, safeKey, arg, cb) { - Env.blobStore.closeBlobstage(safeKey); - Env.completeUpload(safeKey, arg, false, cb); -}; - Upload.cancel = function (Env, safeKey, arg, cb) { Env.blobStore.cancel(safeKey, arg, cb); }; -Upload.complete_owned = function (Env, safeKey, arg, cb) { - Env.blobStore.closeBlobstage(safeKey); - var user = Core.getSession(Env.Sessions, safeKey); - var size = user.pendingUploadSize; - Env.completeUpload(safeKey, arg, true, size, cb); +var completeUpload = function (owned) { + return function (Env, safeKey, arg, cb) { + Env.blobStore.closeBlobstage(safeKey); + var user = Core.getSession(Env.Sessions, safeKey); + var size = user.pendingUploadSize; + Env.completeUpload(safeKey, arg, Boolean(owned), size, cb); + }; }; +Upload.complete = completeUpload(false); +Upload.complete_owned = completeUpload(true);