From 97bdaf4788a177f76eeb6e0e16657c56b6161cc0 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Thu, 8 Dec 2022 17:15:46 +0100 Subject: [PATCH] v2.23.0 --- .../files/usr/local/include/application.ini | 2 +- CHANGELOG.md | 53 +++++++++++++++++++ README.md | 24 ++++----- dev/Settings/User/Accounts.js | 3 ++ integrations/cloudron/DESCRIPTION.md | 2 +- integrations/cloudron/Dockerfile | 2 +- .../nextcloud/snappymail/appinfo/info.xml | 2 +- integrations/virtualmin/snappymail.pl | 2 +- package.json | 2 +- plugins/avatars/index.php | 2 +- plugins/change-password-poppassd/index.php | 6 +-- plugins/change-password/index.php | 6 +-- plugins/ldap-contacts-suggestions/index.php | 10 ++-- plugins/ldap-mail-accounts/index.php | 6 +-- plugins/proxyauth-login-example/index.php | 5 +- .../app/libraries/snappymail/repository.php | 50 +++++++++-------- 16 files changed, 116 insertions(+), 61 deletions(-) diff --git a/.docker/release/files/usr/local/include/application.ini b/.docker/release/files/usr/local/include/application.ini index dd068f337..1b3b8662b 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.22.7" +current = "2.23.0" saved = "Fri, 30 Sep 2022 12:34:56 +0000" diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a54acdaf..f5d1c977b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,56 @@ +## 2.23.0 – 2022-12-08 + +### Added +- Show the number of unread mails on all mail addresses/accounts + [#437](https://github.com/the-djmaze/snappymail/pull/437) +- Show OpenSSL version in Admin => About + +### Changed +- Redirect to login page instead of "invalid token" popup + [#752](https://github.com/the-djmaze/snappymail/pull/752) +- Make all dialogs fit in mobile view +- Changed some Plugin hooks for better handling: + * json.action-pre-call => json.before-{actionname} + * json.action-post-call => json.after-{actionname} +- Cleaner accounts list in systemdropdown +- Multiple imapConnect handling for new import mail feature + [#744](https://github.com/the-djmaze/snappymail/pull/744) + +### Fixed +- Loosing HTML signature in account identity under settings + [#750](https://github.com/the-djmaze/snappymail/pull/750) +- Plugin configuration did not load anymore when type was SELECTION by @cm-schl + [#753](https://github.com/the-djmaze/snappymail/pull/753) +- Nextcloud Default theme shows gray text on gray background + [#754](https://github.com/the-djmaze/snappymail/pull/754) +- Only run JSON hooks when $sAction is set + [#755](https://github.com/the-djmaze/snappymail/pull/755) +- Unsupported SASL mechanism OAUTHBEARER + [#756](https://github.com/the-djmaze/snappymail/pull/756) + [#758](https://github.com/the-djmaze/snappymail/pull/758) + [#759](https://github.com/the-djmaze/snappymail/pull/759) +- border-box issue with .buttonCompose + +### Removed +- Deprecate \RainLoop\Account->Login() and \RainLoop\Account->Password() + + +## 2.22.7 – 2022-12-06 + +### Changed +- Scroll bar with the mobile version in "Advanced search" screen + [#712](https://github.com/the-djmaze/snappymail/pull/712) + +### Fixed +- Undefined property: MailSo\Mail\FolderCollection::$capabilities +- PHP 8.2 Creation of dynamic property is deprecated +- Attempt to solve #745 in v2.22.6 failed and resulted in errors #746 and #748 + [#745](https://github.com/the-djmaze/snappymail/pull/745) + [#746](https://github.com/the-djmaze/snappymail/pull/746) + [#748](https://github.com/the-djmaze/snappymail/pull/748) +- Admin domain test undefined matched domain should say email@example matched domain + + ## 2.22.6 – 2022-12-05 ### Changed diff --git a/README.md b/README.md index 3c8304f54..1622429e5 100644 --- a/README.md +++ b/README.md @@ -141,26 +141,26 @@ RainLoop 1.17 vs SnappyMail |js/* |RainLoop |Snappy | |--------------- |--------: |--------: | -|admin.js |2.170.153 | 82.509 | -|app.js |4.207.787 | 409.121 | +|admin.js |2.170.153 | 82.544 | +|app.js |4.207.787 | 409.918 | |boot.js | 868.735 | 2.351 | |libs.js | 658.812 | 193.075 | |sieve.js | 0 | 86.018 | |polyfills.js | 334.608 | 0 | |serviceworker.js | 0 | 285 | -|TOTAL |8.240.095 | 773.359 | +|TOTAL |8.240.095 | 774.191 | |js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli | |--------------- |--------: |--------: |------: |------: |--------: |--------: | -|admin.min.js | 256.831 | 40.997 | 73.606 | 13.591 | 60.877 | 12.200 | -|app.min.js | 515.367 | 189.663 |139.456 | 62.994 |110.485 | 54.031 | +|admin.min.js | 256.831 | 40.961 | 73.606 | 13.580 | 60.877 | 12.194 | +|app.min.js | 515.367 | 189.842 |139.456 | 63.040 |110.485 | 54.093 | |boot.min.js | 84.659 | 1.474 | 26.998 | 907 | 23.643 | 733 | |libs.min.js | 584.772 | 92.084 |180.901 | 34.119 |155.182 | 30.621 | |sieve.min.js | 0 | 41.909 | 0 | 10.476 | 0 | 9.461 | |polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 | -|TOTAL user |1.217.635 | 283.221 |358.761 | 98.020 |299.485 | 85.385 | -|TOTAL user+sieve |1.217.635 | 325.130 |358.761 |108.496 |299.485 | 94.846 | -|TOTAL admin | 959.099 | 134.555 |292.911 | 48.617 |249.877 | 43.554 | +|TOTAL user |1.217.635 | 283.400 |358.761 | 98.066 |299.485 | 85.447 | +|TOTAL user+sieve |1.217.635 | 325.309 |358.761 |108.542 |299.485 | 94.908 | +|TOTAL admin | 959.099 | 134.519 |292.911 | 48.606 |249.877 | 43.548 | For a user its around 70% smaller and faster than traditional RainLoop. @@ -189,12 +189,12 @@ 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 | 81.836 | 46.946 | 17.031 | 14.585 | -|app.min.css | 274.947 | 66.014 | 39.647 | 15.019 | 13.187 | +|app.css | 340.331 | 82.100 | 46.946 | 17.037 | 14.627 | +|app.min.css | 274.947 | 66.183 | 39.647 | 15.040 | 13.194 | |boot.css | | 1.326 | | 664 | 545 | |boot.min.css | | 1.071 | | 590 | 474 | -|admin.css | | 29.853 | | 6.812 | 5.933 | -|admin.min.css | | 24.269 | | 6.210 | 5.480 | +|admin.css | | 30.029 | | 6.871 | 5.969 | +|admin.min.css | | 24.331 | | 6.229 | 5.494 | ### PGP RainLoop uses the old OpenPGP.js v2 diff --git a/dev/Settings/User/Accounts.js b/dev/Settings/User/Accounts.js index 454d8311d..d57f5c275 100644 --- a/dev/Settings/User/Accounts.js +++ b/dev/Settings/User/Accounts.js @@ -1,5 +1,6 @@ import ko from 'ko'; +//import { koComputable } from 'External/ko'; import { SettingsCapa, SettingsGet } from 'Common/Globals'; import { AccountUserStore } from 'Stores/User/Account'; @@ -23,6 +24,8 @@ export class UserSettingsAccounts /*extends AbstractViewSettings*/ { this.accountForDeletion = ko.observable(null).askDeleteHelper(); this.identityForDeletion = ko.observable(null).askDeleteHelper(); + +// this.additionalAccounts = koComputable(() => AccountUserStore.filter(account => account.isAdditional())); } addNewAccount() { diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md index 1e1224ce3..d053c5160 100644 --- a/integrations/cloudron/DESCRIPTION.md +++ b/integrations/cloudron/DESCRIPTION.md @@ -1,4 +1,4 @@ -This app packages SnappyMail 2.22.7. +This app packages SnappyMail 2.23.0. SnappyMail is a simple, modern, lightweight & fast web-based email client. diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile index 98eea0eb7..c7f0372ce 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.22.7 +VERSION=2.23.0 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 08b549dd2..c94ba94ba 100644 --- a/integrations/nextcloud/snappymail/appinfo/info.xml +++ b/integrations/nextcloud/snappymail/appinfo/info.xml @@ -3,7 +3,7 @@ snappymail SnappyMail SnappyMail Webmail - 2.22.7 + 2.23.0 agpl SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli type, $oItem->id, $oItem->name, - $oItem->version, $oItem->release, $oItem->file, $oItem->description)) - { - if ((!empty($oItem->required) && $notDev && \version_compare(APP_VERSION, $oItem->required, '<')) - || (!empty($oItem->deprecated) && $notDev && \version_compare(APP_VERSION, $oItem->deprecated, '>=')) - || (isset($aResult[$oItem->id]) && \version_compare($aResult[$oItem->id]['version'], $oItem->version, '>')) - ) { - continue; - } - - if ('plugin' === $oItem->type) { - $aResult[$oItem->id] = array( - 'type' => $oItem->type, - 'id' => $oItem->id, - 'name' => $oItem->name, - 'installed' => '', - 'enabled' => true, - 'version' => $oItem->version, - 'file' => $oItem->file, - 'release' => $oItem->release, - 'desc' => $oItem->description, - 'canBeDeleted' => false, - 'canBeUpdated' => true - ); - } + if ($oItem + && isset($oItem->type, $oItem->id, $oItem->name, $oItem->version, $oItem->release, $oItem->file, $oItem->description) + && 'plugin' === $oItem->type + // is this entry newer then an already defined one + && (empty($aResult[$oItem->id]) || \version_compare($aResult[$oItem->id]['version'], $oItem->version, '<')) + // does this entry require same or older app version + && ($isDev || empty($oItem->required) || \version_compare(APP_VERSION, $oItem->required, '<=')) + // is this entry not deprecated for current app version? + && ($isDev || empty($oItem->deprecated) || \version_compare(APP_VERSION, $oItem->deprecated, '<')) + ) { + $aResult[$oItem->id] = array( + 'type' => $oItem->type, + 'id' => $oItem->id, + 'name' => $oItem->name, + 'installed' => '', + 'enabled' => true, + 'version' => $oItem->version, + 'file' => $oItem->file, + 'release' => $oItem->release, + 'desc' => $oItem->description, + 'canBeDeleted' => false, + 'canBeUpdated' => true + ); } } } catch (\Throwable $e) {