This commit is contained in:
the-djmaze 2022-11-15 13:37:25 +01:00
parent 920a8995d3
commit 81a453955e
10 changed files with 53 additions and 21 deletions

View file

@ -289,5 +289,5 @@ dev_email = ""
dev_password = ""
[version]
current = "2.21.1"
current = "2.21.2"
saved = "Fri, 30 Sep 2022 12:34:56 +0000"

View file

@ -1,3 +1,30 @@
## 2.21.2 2022-11-15
### Added
- Allow browser Spellchecker
[#574](https://github.com/the-djmaze/snappymail/pull/574)
- Decode MIME charset of .EML attachments
[#662](https://github.com/the-djmaze/snappymail/pull/662)
### Changed
- Increase message visible text area
[#672](https://github.com/the-djmaze/snappymail/pull/672)
- When copy/paste image use the raw data instead of clipboard HTML
[#654](https://github.com/the-djmaze/snappymail/pull/654)
- When application.ini debug.enable is true, also debug js and css
- JavaScript rl.setWindowTitle() renamed to rl.setTitle()
### Removed
- Message toggle fullscreen button which was only in mobile view
### Nextcloud
- Workaround Nextcloud calendar crashes
[#622](https://github.com/the-djmaze/snappymail/pull/622)
[#661](https://github.com/the-djmaze/snappymail/pull/661)
- Added share public/internal file link
[#569](https://github.com/the-djmaze/snappymail/pull/569)
## 2.21.1 2022-11-13
### Fixed

View file

@ -140,26 +140,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 82.515 |
|app.js |4.207.787 | 406.190 |
|boot.js | 868.735 | 2.031 |
|admin.js |2.170.153 | 82.504 |
|app.js |4.207.787 | 406.789 |
|boot.js | 868.735 | 1.989 |
|libs.js | 658.812 | 192.965 |
|sieve.js | 0 | 86.121 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
|TOTAL |8.240.095 | 770.107 |
|TOTAL |8.240.095 | 770.653 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 40.856 | 73.606 | 13.566 | 60.877 | 12.142 |
|app.min.js | 515.367 | 188.137 |139.456 | 62.532 |110.485 | 53.603 |
|boot.min.js | 84.659 | 1.251 | 26.998 | 773 | 23.643 | 627 |
|libs.min.js | 584.772 | 92.055 |180.901 | 34.113 |155.182 | 30.641 |
|admin.min.js | 256.831 | 40.844 | 73.606 | 13.561 | 60.877 | 12.134 |
|app.min.js | 515.367 | 188.622 |139.456 | 62.735 |110.485 | 53.807 |
|boot.min.js | 84.659 | 1.216 | 26.998 | 761 | 23.643 | 614 |
|libs.min.js | 584.772 | 92.042 |180.901 | 34.110 |155.182 | 30.627 |
|sieve.min.js | 0 | 41.926 | 0 | 10.484 | 0 | 9.451 |
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|TOTAL user |1.217.635 | 281.443 |358.761 | 97.418 |299.485 | 84.871 |
|TOTAL user+sieve |1.217.635 | 323.369 |358.761 |107.902 |299.485 | 94.322 |
|TOTAL admin | 959.099 | 134.162 |292.911 | 48.452 |249.877 | 43.410 |
|TOTAL user |1.217.635 | 281.880 |358.761 | 97.606 |299.485 | 85.048 |
|TOTAL user+sieve |1.217.635 | 323.806 |358.761 |108.090 |299.485 | 94.499 |
|TOTAL admin | 959.099 | 134.102 |292.911 | 48.432 |249.877 | 43.375 |
For a user its around 70% smaller and faster than traditional RainLoop.
@ -187,8 +187,8 @@ For a user its around 70% smaller and faster than traditional RainLoop.
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|------------ |-------: |------: |------: |------: |--------: |
|app.css | 340.331 | 83.746 | 46.946 | 17.262 | 14.779 |
|app.min.css | 274.947 | 67.483 | 39.647 | 15.311 | 13.365 |
|app.css | 340.331 | 83.444 | 46.946 | 17.239 | 14.750 |
|app.min.css | 274.947 | 67.244 | 39.647 | 15.279 | 13.333 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.816 | | 6.939 | 6.028 |

View file

@ -35,8 +35,6 @@ const
dialog = ViewTypePopup === vm.viewType,
vmPlace = doc.getElementById(position);
fireEvent('rl-view-model.create', vm);
ViewModelClass.__builded = true;
ViewModelClass.__vm = vm;
@ -113,6 +111,8 @@ const
vmDom.addEventListener('transitionend', endShowHide);
}
fireEvent('rl-view-model.create', vm);
ko.applyBindingAccessorsToNode(
vmDom,
{

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.21.1</upstream>.
This app packages SnappyMail <upstream>2.21.2</upstream>.
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
# If you change the extraction below, be sure to test on scaleway
VERSION=2.21.1
VERSION=2.21.2
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 && \
rm /tmp/snappymail.zip && \

View file

@ -3,7 +3,7 @@
<id>snappymail</id>
<name>SnappyMail</name>
<summary>SnappyMail Webmail</summary>
<version>2.21.1</version>
<version>2.21.2</version>
<licence>agpl</licence>
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
<description><![CDATA[**Simple, modern, lightweight & fast web-based email client.**

View file

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

View file

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

View file

@ -35,8 +35,13 @@ class DemoStorage extends \RainLoop\Providers\Storage\FileStorage
if (!\is_dir($sDataPath) && \mkdir($sDataPath, 0700, true)) {
\file_put_contents("{$sDataPath}/settings",'{"RemoveColors":true,"ListInlineAttachments":true}');
if (\mkdir($sDataPath.'/.gnupg/private-keys-v1.d', 0700, true)) {
// AES
\file_put_contents("{$sDataPath}/.gnupg/private-keys-v1.d/3106F4281F98D820114228FEF16B5BA0D78AA005.key",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/private-keys-v1.d/3106F4281F98D820114228FEF16B5BA0D78AA005.key"));
\file_put_contents("{$sDataPath}/.gnupg/private-keys-v1.d/82CA239C482423D364BFD6DFC3E400B3B98AD66F.key",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/private-keys-v1.d/82CA239C482423D364BFD6DFC3E400B3B98AD66F.key"));
// ECC
\file_put_contents("{$sDataPath}/.gnupg/private-keys-v1.d/5A1A6C7310D0508C68E8E74F15068301E83FD1AE.key",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/private-keys-v1.d/5A1A6C7310D0508C68E8E74F15068301E83FD1AE.key"));
\file_put_contents("{$sDataPath}/.gnupg/private-keys-v1.d/886921A7E06BE56F8E8C51797BB476BB26DF21BF.key",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/private-keys-v1.d/886921A7E06BE56F8E8C51797BB476BB26DF21BF.key"));
\file_put_contents("{$sDataPath}/.gnupg/pubring.kbx",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/pubring.kbx"));
\file_put_contents("{$sDataPath}/.gnupg/trustdb.gpg",file_get_contents("{$this->sDataPath}/demo.pgp/.gnupg/trustdb.gpg"));
}