This commit is contained in:
the-djmaze 2022-12-08 17:15:46 +01:00
parent 7807859975
commit 97bdaf4788
16 changed files with 116 additions and 61 deletions

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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() {

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.22.7</upstream>.
This app packages SnappyMail <upstream>2.23.0</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.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 && \

View file

@ -3,7 +3,7 @@
<id>snappymail</id>
<name>SnappyMail</name>
<summary>SnappyMail Webmail</summary>
<version>2.22.7</version>
<version>2.23.0</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.22.7" );
return ( "2.23.0" );
}
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.22.7",
"version": "2.23.0",
"homepage": "https://snappymail.eu",
"author": {
"name": "DJ Maze",

View file

@ -11,7 +11,7 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
REQUIRED = '2.23',
CATEGORY = 'Contacts',
LICENSE = 'MIT',
DESCRIPTION = 'Show photo of sender in message and messages list (supports BIMI, Gravatar and identicon, Contacts is still TODO)';
DESCRIPTION = 'Show graphic of sender in message and messages list (supports BIMI, Gravatar and identicon, Contacts is still TODO)';
public function Init() : void
{

View file

@ -6,9 +6,9 @@ class ChangePasswordPoppassdPlugin extends \RainLoop\Plugins\AbstractPlugin
{
const
NAME = 'Change Password Poppassd',
VERSION = '2.17',
RELEASE = '2022-05-20',
REQUIRED = '2.15.3',
VERSION = '2.18',
RELEASE = '2022-12-08',
REQUIRED = '2.23.0',
CATEGORY = 'Security',
DESCRIPTION = 'Extension to allow users to change their passwords through Poppassd';

View file

@ -6,9 +6,9 @@ class ChangePasswordPlugin extends \RainLoop\Plugins\AbstractPlugin
{
const
NAME = 'Change Password',
VERSION = '2.16.4',
RELEASE = '2022-11-09',
REQUIRED = '2.12.0',
VERSION = '2.17',
RELEASE = '2022-12-08',
REQUIRED = '2.23.0',
CATEGORY = 'Security',
DESCRIPTION = 'Extension to allow users to change their passwords';

View file

@ -4,11 +4,11 @@ class LdapContactsSuggestionsPlugin extends \RainLoop\Plugins\AbstractPlugin
{
const
NAME = 'Contacts suggestions (LDAP)',
VERSION = '2.9',
RELEASE = '2022-05-05',
VERSION = '2.10',
RELEASE = '2022-12-08',
REQUIRED = '2.23.0',
CATEGORY = 'Contacts',
DESCRIPTION = 'Get contacts suggestions from LDAP.',
REQUIRED = '2.9.1';
DESCRIPTION = 'Get contacts suggestions from LDAP.';
public function Init() : void
{

View file

@ -12,11 +12,11 @@ class LdapMailAccountsPlugin extends AbstractPlugin
{
const
NAME = 'LDAP Mail Accounts',
VERSION = '1.0',
VERSION = '1.1',
AUTHOR = 'cm-schl',
URL = 'https://github.com/cm-sch',
RELEASE = '2022-11-25',
REQUIRED = '2.20.0',
RELEASE = '2022-12-08',
REQUIRED = '2.23.0',
CATEGORY = 'Accounts',
DESCRIPTION = 'Add additional mail accounts the SnappyMail user has access to by a LDAP query. Basing on the work of FWest98 (https://github.com/FWest98).';

View file

@ -4,8 +4,9 @@ class ProxyauthLoginExamplePlugin extends \RainLoop\Plugins\AbstractPlugin
{
const
NAME = 'Proxy Auth Login Example',
VERSION = '2.1',
REQUIRED = '2.5.0',
VERSION = '2.2',
RELEASE = '2022-12-08',
REQUIRED = '2.23.0',
CATEGORY = 'General',
DESCRIPTION = '';

View file

@ -112,19 +112,18 @@ abstract class Repository
{
$aResult = array();
try {
$notDev = '0.0.0' !== APP_VERSION;
$isDev = '0.0.0' === APP_VERSION;
foreach (static::getRepositoryDataByUrl($bReal) as $oItem) {
if ($oItem && isset($oItem->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, '>'))
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, '<'))
) {
continue;
}
if ('plugin' === $oItem->type) {
$aResult[$oItem->id] = array(
'type' => $oItem->type,
'id' => $oItem->id,
@ -140,7 +139,6 @@ abstract class Repository
);
}
}
}
} catch (\Throwable $e) {
\SnappyMail\Log::error('INSTALLER', "{$e->getCode()} {$e->getMessage()}");
}