mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-09-05 20:54:12 +08:00
Drop support for Edge Legacy (is EOL), Firefox < 69, Chrome < 69, Safari < 12
This commit is contained in:
parent
d41b929c13
commit
4d655953de
3 changed files with 27 additions and 34 deletions
42
README.md
42
README.md
|
@ -76,14 +76,22 @@ This fork of RainLoop has the following changes:
|
|||
* Prevent Google FLoC
|
||||
* Added [Fetch Metadata Request Headers](https://www.w3.org/TR/fetch-metadata/) checks
|
||||
|
||||
### Supported browsers
|
||||
|
||||
This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer nor Edge Legacy.
|
||||
Supported are:
|
||||
|
||||
* Chrome 69
|
||||
* Edge 79
|
||||
* Firefox 69
|
||||
* Opera 56
|
||||
* Safari 12
|
||||
|
||||
|
||||
### Removal of old JavaScript
|
||||
|
||||
This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer.
|
||||
|
||||
The result is faster and smaller download code (good for mobile networks).
|
||||
|
||||
Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill for array.flat().
|
||||
|
||||
* Added dev/prototype.js for some additional features
|
||||
* boot.js without webpack overhead
|
||||
* Modified Jua.js to be without jQuery
|
||||
|
@ -120,23 +128,23 @@ RainLoop 1.15 vs SnappyMail
|
|||
|
||||
|js/* |RainLoop |Snappy |
|
||||
|--------------- |--------: |--------: |
|
||||
|admin.js |2.158.025 | 91.364 |
|
||||
|app.js |4.215.733 | 454.661 |
|
||||
|admin.js |2.158.025 | 91.598 |
|
||||
|app.js |4.215.733 | 454.046 |
|
||||
|boot.js | 672.433 | 3.147 |
|
||||
|libs.js | 647.679 | 218.491 |
|
||||
|libs.js | 647.679 | 218.139 |
|
||||
|polyfills.js | 325.908 | 0 |
|
||||
|serviceworker.js | 0 | 285 |
|
||||
|TOTAL |8.019.778 | 767.663 |
|
||||
|TOTAL |8.019.778 | 767.215 |
|
||||
|
||||
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|
||||
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|
||||
|admin.min.js | 255.514 | 47.527 | 73.899 | 14.263 | 60.674 | 12.750 |
|
||||
|app.min.js | 516.000 | 233.755 |140.430 | 68.663 |110.657 | 58.026 |
|
||||
|admin.min.js | 255.514 | 47.631 | 73.899 | 14.320 | 60.674 | 12.796 |
|
||||
|app.min.js | 516.000 | 233.722 |140.430 | 68.676 |110.657 | 58.037 |
|
||||
|boot.min.js | 66.456 | 1.751 | 22.553 | 1.025 | 20.043 | 858 |
|
||||
|libs.min.js | 574.626 | 106.543 |177.280 | 38.613 |151.855 | 34.543 |
|
||||
|libs.min.js | 574.626 | 106.273 |177.280 | 38.502 |151.855 | 34.428 |
|
||||
|polyfills.min.js | 32.608 | 0 | 11.315 | 0 | 10.072 | 0 |
|
||||
|TOTAL |1.445.204 | 389.576 |425.477 |122.564 |353.301 |106.177 |
|
||||
|TOTAL (no admin) |1.189.690 | 342.049 |351.061 |108.301 |292.627 | 93.427 |
|
||||
|TOTAL |1.445.204 | 389.377 |425.477 |122.523 |353.301 |106.119 |
|
||||
|TOTAL (no admin) |1.189.690 | 341.746 |351.061 |108.203 |292.627 | 93.323 |
|
||||
|
||||
For a user its around 69% smaller and faster than traditional RainLoop.
|
||||
|
||||
|
@ -175,12 +183,12 @@ For a user its around 69% smaller and faster than traditional RainLoop.
|
|||
|
||||
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|
||||
|------------ |-------: |------: |------: |------: |--------: |
|
||||
|app.css | 340.334 | 98.499 | 46,959 | 17.842 | 15.378 |
|
||||
|app.min.css | 274.791 | 81.603 | 39.618 | 15.982 | 14.056 |
|
||||
|app.css | 340.334 | 98.323 | 46,959 | 17.821 | 15.355 |
|
||||
|app.min.css | 274.791 | 80.298 | 39.618 | 15.963 | 14.045 |
|
||||
|boot.css | | 1.326 | | 664 | 545 |
|
||||
|boot.min.css | | 1.071 | | 590 | 474 |
|
||||
|admin.css | | 40.516 | | 8.481 | 7.401 |
|
||||
|admin.min.css | | 32.041 | | 7.447 | 6.610 |
|
||||
|admin.css | | 40.369 | | 8.467 | 7.389 |
|
||||
|admin.min.css | | 31.901 | | 7.430 | 6.599 |
|
||||
|
||||
|
||||
### Squire vs CKEditor
|
||||
|
|
|
@ -2,22 +2,7 @@
|
|||
|
||||
(w=>{
|
||||
|
||||
Array.prototype.flat || Object.defineProperty(Array.prototype, 'flat', {
|
||||
configurable: true,
|
||||
value: function flat(depth) {
|
||||
depth = isNaN(depth) ? 1 : Number(depth);
|
||||
return depth ? Array.prototype.reduce.call(this, (acc, cur) => {
|
||||
if (Array.isArray(cur)) {
|
||||
acc.push.apply(acc, flat.call(cur, depth - 1));
|
||||
} else {
|
||||
acc.push(cur);
|
||||
}
|
||||
return acc;
|
||||
}, []) : this.slice();
|
||||
},
|
||||
writable: true
|
||||
});
|
||||
|
||||
// Edge Legacy (pre chromium/webkit), Firefox < 69, Safari < 13.4
|
||||
w.ResizeObserver || (w.ResizeObserver = class {
|
||||
constructor(callback) {
|
||||
this.observer = new MutationObserver(callback.debounce(250));
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<link type="text/css" rel="stylesheet" data-href="{{BaseAppMainCssLink}}" id="app-css" rel="preload">
|
||||
<link rel="manifest" href="{{BaseAppManifestLink}}">
|
||||
<style id="app-theme-style" data-href="{{BaseAppThemeCssLink}}">{{BaseAppThemeCss}}</style>
|
||||
<script>document.append||document.location.replace('./?/BadBrowser');</script>
|
||||
<script>[].flat||document.location.replace('./?/BadBrowser');</script>
|
||||
{{BaseAppFaviconPngLinkTag}}
|
||||
{{BaseAppFaviconTouchLinkTag}}
|
||||
</head>
|
||||
|
|
Loading…
Add table
Reference in a new issue