diff --git a/README.md b/README.md index 563b33d36b..597bbafe64 100644 --- a/README.md +++ b/README.md @@ -113,23 +113,23 @@ RainLoop 1.15 vs SnappyMail |js/* |RainLoop |Snappy | |--------------- |--------: |--------: | -|admin.js |2.158.025 | 119.231 | -|app.js |4.215.733 | 535.140 | +|admin.js |2.158.025 | 119.053 | +|app.js |4.215.733 | 534.600 | |boot.js | 672.433 | 4.713 | |libs.js | 647.679 | 227.645 | |polyfills.js | 325.908 | 0 | |serviceworker.js | 0 | 285 | -|TOTAL |8.019.778 | 887.014 | +|TOTAL |8.019.778 | 886.296 | |js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli | |--------------- |--------: |--------: |------: |------: |--------: |--------: | -|admin.min.js | 255.514 | 61.142 | 73.899 | 17.432 | 60.674 | 15.454 | -|app.min.js | 516.000 | 261.321 |140.430 | 75.153 |110.657 | 63.151 | +|admin.min.js | 255.514 | 61.017 | 73.899 | 17.396 | 60.674 | 15.420 | +|app.min.js | 516.000 | 260.826 |140.430 | 75.083 |110.657 | 62.961 | |boot.min.js | 66.456 | 2.521 | 22.553 | 1.356 | 20.043 | 1.165 | |libs.min.js | 574.626 | 120.243 |177.280 | 44.101 |151.855 | 39.263 | |polyfills.min.js | 32.608 | 0 | 11.315 | 0 | 10.072 | 0 | -|TOTAL |1.445.204 | 445.227 |425.477 |138.042 |353.301 |119.033 | -|TOTAL (no admin) |1.189.690 | 384.085 |351.061 |120.610 |292.627 |103.579 | +|TOTAL |1.445.204 | 444.607 |425.477 |137.936 |353.301 |118.809 | +|TOTAL (no admin) |1.189.690 | 383.590 |351.061 |120.540 |292.627 |103.389 | For a user its around 65% smaller and faster than traditional RainLoop. @@ -160,10 +160,10 @@ For a user its around 65% smaller and faster than traditional RainLoop. |css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli | |------------ |-------: |-------: |------: |------: |--------: | -|app.css | 340.334 | 158.923 | 46,959 | 25.624 | 21.575 | -|app.min.css | 274.791 | 130.398 | 39.618 | 22.404 | 19.536 | -|boot.css | | 1.820 | | 786 | 626 | -|boot.min.css | | 1.476 | | 698 | 548 | +|app.css | 340.334 | 151.854 | 46,959 | 24.659 | 20.899 | +|app.min.css | 274.791 | 124.137 | 39.618 | 21.562 | 18.763 | +|boot.css | | 1.826 | | 786 | 626 | +|boot.min.css | | 1.481 | | 698 | 548 | ### Squire vs CKEditor diff --git a/dev/App/User.js b/dev/App/User.js index 07050a1b7e..4560bba6ea 100644 --- a/dev/App/User.js +++ b/dev/App/User.js @@ -17,7 +17,7 @@ import { ClientSideKeyName } from 'Common/EnumsUser'; -import { doc, $htmlCL, Settings, leftPanelDisabled } from 'Common/Globals'; +import { doc, createElement, $htmlCL, Settings, leftPanelDisabled } from 'Common/Globals'; import { UNUSED_OPTION_VALUE } from 'Common/Consts'; @@ -803,9 +803,8 @@ class AppUser extends AbstractApp { if (mode) { source.classList.add('resizable'); if (!source.querySelector('.resizer')) { - const resizer = doc.createElement('div'), + const resizer = createElement('div', {'class':'resizer'}), cssint = s => parseFloat(getComputedStyle(source, null).getPropertyValue(s).replace('px', '')); - resizer.className = 'resizer'; source.append(resizer); resizer.addEventListener('mousedown', { source: source, @@ -955,10 +954,9 @@ class AppUser extends AbstractApp { }; if (!openpgpCallback()) { - const script = doc.createElement('script'); + const script = createElement('script', {src:openPgpJs()}); script.onload = openpgpCallback; script.onerror = () => console.error(script.src); - script.src = openPgpJs(); doc.head.append(script); } } else { diff --git a/package.json b/package.json index 4ea480652f..1f8037633a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "title": "SnappyMail", "description": "Simple, modern & fast web-based email client", "private": true, - "version": "2.2.2", + "version": "2.3.0", "homepage": "https://snappymail.eu", "author": { "name": "DJ Maze", diff --git a/yarn.lock b/yarn.lock index 4a60311658..5527a0da5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,9 +36,9 @@ source-map "^0.5.0" "@babel/generator@^7.12.13", "@babel/generator@^7.8.7": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.13.tgz#5f6ebe6c85db99886db2d7b044409196f872a503" - integrity sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw== + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f" + integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ== dependencies: "@babel/types" "^7.12.13" jsesc "^2.5.1" @@ -238,9 +238,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.12.13", "@babel/parser@^7.7.0", "@babel/parser@^7.8.7": - version "7.12.14" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9" - integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ== + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.15.tgz#2b20de7f0b4b332d9b119dd9c33409c538b8aacf" + integrity sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA== "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.12.13" @@ -1245,9 +1245,9 @@ camelcase@^3.0.0: integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= caniuse-lite@^1.0.30001181: - version "1.0.30001183" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001183.tgz#7a57ba9d6584119bb5f2bc76d3cc47ba9356b3e2" - integrity sha512-7JkwTEE1hlRKETbCFd8HDZeLiQIUcl8rC6JgNjvHCNaxOeNmQ9V4LvQXRUsKIV2CC73qKxljwVhToaA3kLRqTw== + version "1.0.30001185" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz#3482a407d261da04393e2f0d61eefbc53be43b95" + integrity sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg== center-align@^0.1.1: version "0.1.3" @@ -1501,11 +1501,11 @@ convert-source-map@^1.5.0, convert-source-map@^1.7.0: safe-buffer "~5.1.1" copy-anything@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.1.tgz#2afbce6da684bdfcbec93752fa762819cb480d9a" - integrity sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g== + version "2.0.3" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== dependencies: - is-what "^3.7.1" + is-what "^3.12.0" copy-descriptor@^0.1.0: version "0.1.1" @@ -1689,9 +1689,9 @@ editions@^1.3.3: integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg== electron-to-chromium@^1.3.649: - version "1.3.653" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.653.tgz#1d98400eba330538a7fe169808c6bf9d83c44450" - integrity sha512-LehOhcl74u9fkV9Un6WahJ+Xh+0FZLCCDnKYis1Olx1DX2ugRww5PJicE65OG8yznMj8EOQZRcz6FSV1xKxqsA== + version "1.3.657" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz#a9c307f2612681245738bb8d36d997cbb568d481" + integrity sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw== emoji-regex@^7.0.1: version "7.0.3" @@ -1869,9 +1869,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" @@ -2177,9 +2177,9 @@ fsevents@^1.2.7: nan "^2.12.1" fsevents@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" @@ -2311,9 +2311,9 @@ glogg@^1.0.0: sparkles "^1.0.0" graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + version "4.2.5" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.5.tgz#bc18864a6c9fc7b303f2e2abdb9155ad178fbe29" + integrity sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw== gulp-cached@1.1.1: version "1.1.1" @@ -2969,7 +2969,7 @@ is-valid-glob@^1.0.0: resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= -is-what@^3.7.1: +is-what@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.12.0.tgz#f4405ce4bd6dd420d3ced51a026fb90e03705e55" integrity sha512-2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw== @@ -4394,9 +4394,9 @@ rollup-pluginutils@^2.8.1: estree-walker "^0.6.1" rollup@^2.29.0, rollup@^2.38.0: - version "2.38.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.38.4.tgz#1b84ea8728c73b1a00a6a6e9c630ec8c3fe48cea" - integrity sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg== + version "2.38.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.38.5.tgz#be41ad4fe0c103a8794377afceb5f22b8f603d6a" + integrity sha512-VoWt8DysFGDVRGWuHTqZzT02J0ASgjVq/hPs9QcBOGMd7B+jfTr/iqMVEyOi901rE3xq+Deq66GzIT1yt7sGwQ== optionalDependencies: fsevents "~2.3.1"