This commit is contained in:
the-djmaze 2022-09-01 21:37:32 +02:00
parent 1a130d0be3
commit 8d192445a7
9 changed files with 38 additions and 42 deletions

View file

@ -304,5 +304,5 @@ dev_email = ""
dev_password = "" dev_password = ""
[version] [version]
current = "2.17.3" current = "2.17.4"
saved = "Fri, 04 Mar 2022 08:55:26 +0000" saved = "Fri, 04 Mar 2022 08:55:26 +0000"

View file

@ -35,7 +35,7 @@ And don't forget to read the [RainLoop documentation](https://www.rainloop.net/d
http://www.gnu.org/licenses/agpl-3.0.html http://www.gnu.org/licenses/agpl-3.0.html
Copyright (c) 2020 - 2022 SnappyMail Copyright (c) 2020 - 2022 SnappyMail
Copyright (c) 2013 - 2021 RainLoop Copyright (c) 2013 - 2022 RainLoop
## Modifications ## Modifications
@ -93,11 +93,11 @@ This fork of RainLoop has the following changes:
This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer nor Edge Legacy. This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer nor Edge Legacy.
Supported are: Supported are:
* Chrome 69+ * Chrome 80+
* Edge 79+ * Edge 80+
* Firefox 78+ * Firefox 78+
* Opera 56+ * Opera 67+
* Safari 12+ * Safari 13.1+
### Removal of old JavaScript ### Removal of old JavaScript
@ -136,30 +136,30 @@ The result is faster and smaller download code (good for mobile networks).
* Removed ProgressJS * Removed ProgressJS
RainLoop 1.15 vs SnappyMail RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy | |js/* |RainLoop |Snappy |
|--------------- |--------: |--------: | |--------------- |--------: |--------: |
|admin.js |2.158.025 | 81.839 | |admin.js |2.170.153 | 81.750 |
|app.js |4.215.733 | 403.769 | |app.js |4.207.787 | 404.253 |
|boot.js | 672.433 | 2.050 | |boot.js | 868.735 | 2.050 |
|libs.js | 647.679 | 197.015 | |libs.js | 658.812 | 197.270 |
|sieve.js | 0 | 86.196 | |sieve.js | 0 | 86.196 |
|polyfills.js | 325.908 | 0 | |polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 | |serviceworker.js | 0 | 285 |
|TOTAL |8.019.778 | 771.154 | |TOTAL |8.240.095 | 771.804 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli | |js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: | |--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 255.514 | 40.858 | 73.899 | 13.598 | 60.674 | 12.171 | |admin.min.js | 256.831 | 40.814 | 73.606 | 13.591 | 60.877 | 12.166 |
|app.min.js | 516.000 | 190.891 |140.430 | 61.956 |110.657 | 53.244 | |app.min.js | 515.367 | 190.898 |139.456 | 61.959 |110.485 | 53.232 |
|boot.min.js | 66.456 | 1.252 | 22.553 | 778 | 20.043 | 628 | |boot.min.js | 84.659 | 1.252 | 26.998 | 778 | 23.643 | 628 |
|libs.min.js | 574.626 | 95.026 |177.280 | 35.140 |151.855 | 31.455 | |libs.min.js | 584.772 | 95.026 |180.901 | 35.140 |155.182 | 31.455 |
|sieve.min.js | 0 | 41.963 | 0 | 10.494 | 0 | 9.460 | |sieve.min.js | 0 | 41.963 | 0 | 10.494 | 0 | 9.460 |
|polyfills.min.js | 32.608 | 0 | 11.315 | 0 | 10.072 | 0 | |polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|TOTAL user |1.189.690 | 287.169 |351.061 | 97.874 |292.627 | 85.327 | |TOTAL user |1.217.635 | 287.176 |358.761 | 97.877 |299.485 | 85.315 |
|TOTAL user+sieve |1.189.690 | 329.132 |351.061 |108.368 |292.627 | 94.787 | |TOTAL user+sieve |1.217.635 | 329.139 |358.761 |108.371 |299.485 | 94.775 |
|TOTAL admin | 929.204 | 137.136 |285.047 | 49.516 |242.644 | 44.254 | |TOTAL admin | 959.099 | 137.092 |292.911 | 49.509 |249.877 | 44.249 |
For a user its around 70% smaller and faster than traditional RainLoop. For a user its around 70% smaller and faster than traditional RainLoop.
@ -187,12 +187,12 @@ For a user its around 70% smaller and faster than traditional RainLoop.
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli | |css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|------------ |-------: |------: |------: |------: |--------: | |------------ |-------: |------: |------: |------: |--------: |
|app.css | 340.334 | 81.864 | 46.959 | 16.905 | 14.559 | |app.css | 340.331 | 81.838 | 46.946 | 16.907 | 14.541 |
|app.min.css | 274.791 | 65.790 | 39.618 | 14.965 | 13.162 | |app.min.css | 274.947 | 65.769 | 39.647 | 14.962 | 13.163 |
|boot.css | | 1.326 | | 664 | 545 | |boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 | |boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 29.747 | | 6.763 | 5.870 | |admin.css | | 29.721 | | 6.762 | 5.867 |
|admin.min.css | | 23.901 | | 6.128 | 5.389 | |admin.min.css | | 23.880 | | 6.124 | 5.382 |
### PGP ### PGP
RainLoop uses the old OpenPGP.js v2 RainLoop uses the old OpenPGP.js v2

View file

@ -613,19 +613,20 @@ export class MailMessageList extends AbstractViewRight {
AppUserStore.focusedState(Scope.MessageList); AppUserStore.focusedState(Scope.MessageList);
} }
let el = eqs(event, '.e-paginator a'); let data = ko.dataFor(el),
el && this.gotoPage(ko.dataFor(el)); el = eqs(event, '.e-paginator a');
el && this.gotoPage(data);
eqs(event, '.checkboxCheckAll') && this.checkAll(!this.checkAll()); eqs(event, '.checkboxCheckAll') && this.checkAll(!this.checkAll());
el = eqs(event, '.flagParent'); el = eqs(event, '.flagParent');
el && this.flagMessages(ko.dataFor(el)); el && this.flagMessages(data);
el = eqs(event, '.threads-len'); el = eqs(event, '.threads-len');
el && this.gotoThread(ko.dataFor(el)); el && this.gotoThread(data);
}, },
dblclick: event => { dblclick: event => {
let el = eqs(event, '.actionHandle'); let el = eqs(event, '.actionHandle');
el && this.gotoThread(ko.dataFor(el)); el && this.gotoThread(ko.dataFor(el));
} }
}); });
@ -717,15 +718,10 @@ export class MailMessageList extends AbstractViewRight {
}); });
registerShortcut('t', '', [Scope.MessageList], () => { registerShortcut('t', '', [Scope.MessageList], () => {
let message = MessagelistUserStore.selectedMessage(); let message = MessagelistUserStore.selectedMessage() || MessagelistUserStore.focusedMessage();
if (!message) {
message = MessagelistUserStore.focusedMessage();
}
if (message && 0 < message.threadsLen()) { if (message && 0 < message.threadsLen()) {
this.gotoThread(message); this.gotoThread(message);
} }
return false; return false;
}); });

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.17.3</upstream>. This app packages SnappyMail <upstream>2.17.4</upstream>.
SnappyMail is a simple, modern, lightweight & fast web-based email client. SnappyMail is a simple, modern, lightweight & fast web-based email client.

View file

@ -4,7 +4,7 @@ RUN mkdir -p /app/code
WORKDIR /app/code WORKDIR /app/code
# If you change the extraction below, be sure to test on scaleway # If you change the extraction below, be sure to test on scaleway
VERSION=2.17.3 VERSION=2.17.4
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \ RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \
unzip /tmp/snappymail.zip -d /app/code && \ unzip /tmp/snappymail.zip -d /app/code && \
rm /tmp/snappymail.zip && \ rm /tmp/snappymail.zip && \

View file

@ -1 +1 @@
2.17.3 2.17.4

View file

@ -4,7 +4,7 @@
<name>SnappyMail</name> <name>SnappyMail</name>
<summary>SnappyMail Webmail</summary> <summary>SnappyMail Webmail</summary>
<description>Simple, modern and fast web-based email client. After enabling in Nextcloud, go to Nextcloud admin panel, "Additionnal settings" and you will see a "SnappyMail webmail" section. There, click on the link to go to the SnappyMail admin panel. The default user/password is admin/12345. This version is based on SnappyMail 2.6.0 (2021-07).</description> <description>Simple, modern and fast web-based email client. After enabling in Nextcloud, go to Nextcloud admin panel, "Additionnal settings" and you will see a "SnappyMail webmail" section. There, click on the link to go to the SnappyMail admin panel. The default user/password is admin/12345. This version is based on SnappyMail 2.6.0 (2021-07).</description>
<version>2.17.3</version> <version>2.17.4</version>
<licence>agpl</licence> <licence>agpl</licence>
<author>SnappyMail Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author> <author>SnappyMail Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
<namespace>SnappyMail</namespace> <namespace>SnappyMail</namespace>

View file

@ -20,7 +20,7 @@ return "SnappyMail Webmail is a browser-based multilingual IMAP client with an a
# script_snappymail_versions() # script_snappymail_versions()
sub script_snappymail_versions sub script_snappymail_versions
{ {
return ( "2.17.3" ); return ( "2.17.4" );
} }
sub script_snappymail_version_desc sub script_snappymail_version_desc

View file

@ -3,7 +3,7 @@
"title": "SnappyMail", "title": "SnappyMail",
"description": "Simple, modern & fast web-based email client", "description": "Simple, modern & fast web-based email client",
"private": true, "private": true,
"version": "2.17.3", "version": "2.17.4",
"homepage": "https://snappymail.eu", "homepage": "https://snappymail.eu",
"author": { "author": {
"name": "DJ Maze", "name": "DJ Maze",