diff --git a/.docker/release/files/usr/local/include/application.ini b/.docker/release/files/usr/local/include/application.ini index 3bf3267de..5ded294e7 100644 --- a/.docker/release/files/usr/local/include/application.ini +++ b/.docker/release/files/usr/local/include/application.ini @@ -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" diff --git a/CHANGELOG.md b/CHANGELOG.md index e52b26952..60ad0fa61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 460b60820..89c9940d4 100644 --- a/README.md +++ b/README.md @@ -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 | diff --git a/dev/Knoin/Knoin.js b/dev/Knoin/Knoin.js index 2a40c47f5..8636c7166 100644 --- a/dev/Knoin/Knoin.js +++ b/dev/Knoin/Knoin.js @@ -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, { diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md index a86230c55..34570f1c6 100644 --- a/integrations/cloudron/DESCRIPTION.md +++ b/integrations/cloudron/DESCRIPTION.md @@ -1,4 +1,4 @@ -This app packages SnappyMail 2.21.1. +This app packages SnappyMail 2.21.2. SnappyMail is a simple, modern, lightweight & fast web-based email client. diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile index 29eeb6b3f..4b34c17c4 100644 --- a/integrations/cloudron/Dockerfile +++ b/integrations/cloudron/Dockerfile @@ -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 && \ diff --git a/integrations/nextcloud/snappymail/appinfo/info.xml b/integrations/nextcloud/snappymail/appinfo/info.xml index fc49e08c9..797556124 100644 --- a/integrations/nextcloud/snappymail/appinfo/info.xml +++ b/integrations/nextcloud/snappymail/appinfo/info.xml @@ -3,7 +3,7 @@ snappymail SnappyMail SnappyMail Webmail - 2.21.1 + 2.21.2 agpl SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli 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")); }