From cfdbe3251e8300992e6bdf7562f027373ad382cf Mon Sep 17 00:00:00 2001 From: djmaze Date: Wed, 30 Sep 2020 16:10:01 +0200 Subject: [PATCH] Removed the DATA_IMAGE_USER_DOT_PIC Because viewUserPic is always false due to the removed Gravatar feature --- README.md | 31 ++++++------ dev/Common/Cache.js | 9 ---- dev/Common/Consts.js | 6 --- dev/Remote/AbstractFetch.js | 5 +- dev/Remote/User/Fetch.js | 4 +- dev/Styles/MessageView.less | 13 ----- dev/View/User/MailBox/MessageView.js | 20 +------- .../templates/Views/User/MailMessageView.html | 48 +++++++++---------- .../templates/Views/User/SystemDropDown.html | 1 - 9 files changed, 44 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index 1af4e035f..69f4296e0 100644 --- a/README.md +++ b/README.md @@ -101,26 +101,29 @@ Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill * Removed opentip (use CSS) * Removed non-community (aka Prem/Premium/License) code -|js/* |1.14.0 |native | + +RainLoop 1.14 vs SnappyMail + +|js/* |RainLoop |Snappy | |----------- |--------: |--------: | -|admin.js |2.130.942 | 844.753 | -|app.js |4.184.455 |2.487.401 | +|admin.js |2.130.942 | 825.627 | +|app.js |4.184.455 |2.463.325 | |boot.js | 671.522 | 5.285 | -|libs.js | 647.614 | 246.183 | +|libs.js | 647.614 | 253.356 | |polyfills.js | 325.834 | 0 | -|TOTAL |7.960.367 |3.583.524 | +|TOTAL |7.960.367 |3.547.593 | -|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli | +|js/min/* |RainLoop |Snappy |Rain gzip |gzip |brotli | |--------------- |--------: |--------: |--------: |--------: |--------: | -|admin.min.js | 252.147 | 116.068 | 73.657 | 33.279 | 28.711 | -|app.min.js | 511.202 | 339.263 |140.462 | 89.051 | 72.194 | +|admin.min.js | 252.147 | 112.115 | 73.657 | 30.610 | 26.437 | +|app.min.js | 511.202 | 334.897 |140.462 | 86.030 | 69.713 | |boot.min.js | 66.007 | 2.935 | 22.567 | 1.510 | 1.285 | -|libs.min.js | 572.545 | 147.113 |176.720 | 51.608 | 45.901 | +|libs.min.js | 572.545 | 149.819 |176.720 | 52.834 | 46.924 | |polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 | -|TOTAL |1.434.353 | 605.379 |424.718 |175.448 |148.091 | -|TOTAL (no admin) |1.182.206 | 489.311 |351.061 |142.169 |119.380 | +|TOTAL |1.434.353 | 599.766 |424.718 |170.984 |144.359 | +|TOTAL (no admin) |1.182.206 | 487.651 |351.061 |140.374 |117.922 | -For a user its around 58% smaller and faster than traditional RainLoop. +For a user its around 60% smaller and faster than traditional RainLoop. ### CSS changes @@ -145,8 +148,8 @@ For a user its around 58% smaller and faster than traditional RainLoop. |css/* |1.14.0 |native |gzip 1.14 |gzip |brotli | |-------------- |-------: |-------: |------: |------: |------: | -|app.css | 340.334 | 190.086 | 46,959 | 29.415 | 24.717 | -|app.min.css | 274.791 | 156.076 | 39.618 | 26.034 | 22.418 | +|app.css | 340.334 | 186.431 | 46,959 | 28.748 | 24.209 | +|app.min.css | 274.791 | 152.540 | 39.618 | 25.289 | 21.842 | |boot.css | | 2.534 | | 837 | 668 | |boot.min.css | | 2.055 | | 732 | 560 | diff --git a/dev/Common/Cache.js b/dev/Common/Cache.js index d6184b311..66c62f41b 100644 --- a/dev/Common/Cache.js +++ b/dev/Common/Cache.js @@ -22,15 +22,6 @@ export function clear() { MESSAGE_FLAGS_CACHE = {}; } -/** - * @param {string} email - * @param {Function} callback - * @returns {string} - */ -export function getUserPic(email, callback) { - callback('', email.trim()); -} - /** * @param {string} folderFullNameRaw * @param {string} uid diff --git a/dev/Common/Consts.js b/dev/Common/Consts.js index 882834bbc..a5d57752d 100644 --- a/dev/Common/Consts.js +++ b/dev/Common/Consts.js @@ -1,9 +1,3 @@ export const MESSAGES_PER_PAGE_VALUES = [10, 20, 30, 50, 100]; -export const DEFAULT_AJAX_TIMEOUT = 30000; - export const UNUSED_OPTION_VALUE = '__UNUSE__'; - -/* eslint max-len: 0 */ -export const DATA_IMAGE_USER_DOT_PIC = - 'data:image/png;base64,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'; diff --git a/dev/Remote/AbstractFetch.js b/dev/Remote/AbstractFetch.js index e05cab1c9..cc2251a4a 100644 --- a/dev/Remote/AbstractFetch.js +++ b/dev/Remote/AbstractFetch.js @@ -1,4 +1,3 @@ -import { DEFAULT_AJAX_TIMEOUT } from 'Common/Consts'; import { StorageResultType, Notification } from 'Common/Enums'; import { pInt, pString } from 'Common/Utils'; import { serverRequest } from 'Common/Links'; @@ -91,7 +90,7 @@ class AbstractFetchRemote } return rl.fetchJSON(getURL(sGetAdd), { - signal: this.createAbort(action, undefined === iTimeout ? DEFAULT_AJAX_TIMEOUT : pInt(iTimeout)) + signal: this.createAbort(action, undefined === iTimeout ? 30000 : pInt(iTimeout)) }, sGetAdd ? null : params ).then(data => { let cached = false; @@ -217,7 +216,7 @@ class AbstractFetchRemote this.setTrigger(fTrigger, true); return rl.fetchJSON(getURL(), { - signal: this.createAbort(action, pInt(timeOut, DEFAULT_AJAX_TIMEOUT)) + signal: this.createAbort(action, pInt(timeOut, 30000)) }, params ).then(data => { this.abort(action, true); diff --git a/dev/Remote/User/Fetch.js b/dev/Remote/User/Fetch.js index e789c102b..815aba0aa 100644 --- a/dev/Remote/User/Fetch.js +++ b/dev/Remote/User/Fetch.js @@ -1,7 +1,5 @@ import { pString, pInt } from 'Common/Utils'; -import { DEFAULT_AJAX_TIMEOUT } from 'Common/Consts'; - import { getFolderHash, getFolderInboxName, @@ -335,7 +333,7 @@ class RemoteUserFetch extends AbstractFetchRemote { fCallback, 'MessageList', params, - sSearch ? 300000 : DEFAULT_AJAX_TIMEOUT, + sSearch ? 300000 : 30000, sGetAdd, bSilent ? [] : ['MessageList'] ); diff --git a/dev/Styles/MessageView.less b/dev/Styles/MessageView.less index ea2cebdb0..7bfb19656 100644 --- a/dev/Styles/MessageView.less +++ b/dev/Styles/MessageView.less @@ -140,19 +140,6 @@ html.rl-no-preview-pane { .date { } - .fromPic { - display: inline-block; - width: 50px; - height: 50px; - float: left; - padding: 2px; - margin: 0 5px 0 0; - background: #fff; - border: 1px solid #ccc; - border-radius: 6px; - box-sizing: border-box; - } - .subjectParent { font-size: 18px; font-weight: bold; diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js index 352232826..33b22b1bf 100644 --- a/dev/View/User/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -1,6 +1,6 @@ import ko from 'ko'; -import { DATA_IMAGE_USER_DOT_PIC, UNUSED_OPTION_VALUE } from 'Common/Consts'; +import { UNUSED_OPTION_VALUE } from 'Common/Consts'; import { Capa, @@ -27,7 +27,7 @@ import Audio from 'Common/Audio'; import { i18n } from 'Common/Translator'; import { attachmentDownload } from 'Common/Links'; -import { getUserPic, storeMessageFlagsToCache } from 'Common/Cache'; +import { storeMessageFlagsToCache } from 'Common/Cache'; import AppStore from 'Stores/User/App'; import SettingsStore from 'Stores/User/Settings'; @@ -53,8 +53,6 @@ class MessageViewMailBoxUserView extends AbstractViewNext { constructor() { super(); - let lastEmail = ''; - const createCommandReplyHelper = type => createCommand(() => { this.lastReplyAction(type); @@ -188,8 +186,6 @@ class MessageViewMailBoxUserView extends AbstractViewNext { this.viewViewLink = ko.observable(''); this.viewUnsubscribeLink = ko.observable(''); this.viewDownloadLink = ko.observable(''); - this.viewUserPic = ko.observable(DATA_IMAGE_USER_DOT_PIC); - this.viewUserPicVisible = ko.observable(false); this.viewIsImportant = ko.observable(false); this.viewIsFlagged = ko.observable(false); @@ -254,18 +250,6 @@ class MessageViewMailBoxUserView extends AbstractViewNext { this.viewDownloadLink(message.downloadLink()); this.viewIsImportant(message.isImportant()); this.viewIsFlagged(message.flagged()); - - lastEmail = message.fromAsSingleEmail(); - getUserPic(lastEmail, (pic, email) => { - if (pic !== this.viewUserPic() && lastEmail === email) { - this.viewUserPicVisible(false); - this.viewUserPic(DATA_IMAGE_USER_DOT_PIC); - if (pic) { - this.viewUserPicVisible(true); - this.viewUserPic(pic); - } - } - }); } else { this.viewFolder = ''; this.viewUid = ''; diff --git a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html index d18b3654e..24cf636a8 100644 --- a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html +++ b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html @@ -230,37 +230,33 @@
-
- -
-
- - - -   - - +
+
+ + + +   + - - () + + + () + +
+
+
+ +
-
-
- - - -
-
- - - -
+
+ + +
-
diff --git a/rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html b/rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html index 4c82d562b..5a5ee35a4 100644 --- a/rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html +++ b/rainloop/v/0.0.0/app/templates/Views/User/SystemDropDown.html @@ -9,7 +9,6 @@ 99+   --> -