mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 07:35:55 +08:00
v2.35.4
This commit is contained in:
parent
5657af7238
commit
9427b36633
30
CHANGELOG.md
30
CHANGELOG.md
|
@ -1,3 +1,27 @@
|
|||
## 2.35.4 – 2024-03-16
|
||||
|
||||
### Added
|
||||
- \SnappyMail\IDN::toAscii()
|
||||
|
||||
### Changed
|
||||
- OpenPGP.js to v5.11.1
|
||||
- punycode.js lowercase domain names
|
||||
- Nextcloud changed stored password handling
|
||||
- application.ini `login_lowercase` removed and now configurable per domain JSON `lowerLogin`
|
||||
- Update Portuguese by @ner00
|
||||
|
||||
### Fixed
|
||||
- Raise JS TypeEroor "toLowerCase" after update
|
||||
[#1491](https://github.com/the-djmaze/snappymail/issues/1491)
|
||||
- Call to undefined function shell_exec
|
||||
[#1496](https://github.com/the-djmaze/snappymail/issues/1496)
|
||||
- Download attachments as ZIP doesn't work for PGP encrypted mail
|
||||
[#1499](https://github.com/the-djmaze/snappymail/issues/1499)
|
||||
- Importing or downloading a PGP public key attachment from a PGP encrypted message doesn't work
|
||||
[#1500](https://github.com/the-djmaze/snappymail/issues/1500)
|
||||
- VCard PHP Notice: Undefined index: ENCODING
|
||||
|
||||
|
||||
## 2.35.3 – 2024-03-12
|
||||
|
||||
### Added
|
||||
|
@ -19,9 +43,9 @@
|
|||
- Improved error handling on PGP and S/MIME decrypt
|
||||
- Improved OpenPGP.js import keys
|
||||
- Use Identity S/MIME key and certificate from server instead of POST
|
||||
- application.ini `webmail/language_admin` to `admin_panel/language`
|
||||
- application.ini `security/admin_panel_host` to `admin_panel/host`
|
||||
- application.ini `security/admin_panel_key` to `admin_panel/key`
|
||||
- application.ini `[webmail]language_admin` to `[admin_panel]language`
|
||||
- application.ini `[security]admin_panel_host` to `[admin_panel]host`
|
||||
- application.ini `[security]admin_panel_key` to `[admin_panel]key`
|
||||
- Drop deprecated Domain::SetConfig()
|
||||
- Internationalized domain names are now handled as punycode
|
||||
- Cacher->Get() can now return NULL
|
||||
|
|
22
README.md
22
README.md
|
@ -140,26 +140,26 @@ RainLoop 1.17 vs SnappyMail
|
|||
|
||||
|js/* |RainLoop |Snappy |
|
||||
|--------------- |--------: |--------: |
|
||||
|admin.js |2.170.153 | 82.663 |
|
||||
|app.js |4.207.787 | 430.135 |
|
||||
|admin.js |2.170.153 | 82.845 |
|
||||
|app.js |4.207.787 | 430.201 |
|
||||
|boot.js | 868.735 | 4.147 |
|
||||
|libs.js | 658.812 | 201.887 |
|
||||
|libs.js | 658.812 | 201.911 |
|
||||
|sieve.js | 0 | 84.703 |
|
||||
|polyfills.js | 334.608 | 0 |
|
||||
|serviceworker.js | 0 | 285 |
|
||||
|TOTAL |8.240.095 | 803.820 |
|
||||
|TOTAL |8.240.095 | 804.092 |
|
||||
|
||||
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|
||||
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|
||||
|admin.min.js | 256.831 | 40.601 | 73.606 | 13.614 | 60.877 | 12.203 |
|
||||
|app.min.js | 515.367 | 195.213 |139.456 | 66.253 |110.485 | 56.686 |
|
||||
|admin.min.js | 256.831 | 40.733 | 73.606 | 13.649 | 60.877 | 12.228 |
|
||||
|app.min.js | 515.367 | 195.260 |139.456 | 66.275 |110.485 | 56.682 |
|
||||
|boot.min.js | 84.659 | 2.087 | 26.998 | 1.204 | 23.643 | 1.002 |
|
||||
|libs.min.js | 584.772 | 92.460 |180.901 | 34.724 |155.182 | 31.042 |
|
||||
|libs.min.js | 584.772 | 92.482 |180.901 | 34.729 |155.182 | 31.017 |
|
||||
|sieve.min.js | 0 | 41.164 | 0 | 10.365 | 0 | 9.359 |
|
||||
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|
||||
|TOTAL user |1.217.635 | 289.760 |358.761 |102.181 |299.485 | 88.730 |
|
||||
|TOTAL user+sieve |1.217.635 | 330.924 |358.761 |112.546 |299.485 | 98.089 |
|
||||
|TOTAL admin | 959.099 | 135.148 |292.911 | 49.542 |249.877 | 44.247 |
|
||||
|TOTAL user |1.217.635 | 289.829 |358.761 |102.208 |299.485 | 88.701 |
|
||||
|TOTAL user+sieve |1.217.635 | 330.993 |358.761 |112.573 |299.485 | 98.060 |
|
||||
|TOTAL admin | 959.099 | 135.302 |292.911 | 49.582 |249.877 | 44.247 |
|
||||
|
||||
For a user it is around 69% smaller and faster than traditional RainLoop.
|
||||
|
||||
|
@ -207,7 +207,7 @@ See https://github.com/the-djmaze/openpgpjs for development
|
|||
|
||||
|OpenPGP |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|
||||
|--------------- |--------: |--------: |------: |-------: |--------: |--------: |
|
||||
|openpgp.min.js | 330.742 | 540.792 |102.388 | 167.971 | 84.241 | 138.010 |
|
||||
|openpgp.min.js | 330.742 | 546.309 |102.388 | 169.249 | 84.241 | 138.751 |
|
||||
|openpgp.worker | 1.499 | | 824 | | 695 | |
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
This app packages SnappyMail <upstream>2.35.3</upstream>.
|
||||
This app packages SnappyMail <upstream>2.35.4</upstream>.
|
||||
|
||||
SnappyMail is a simple, modern, lightweight & fast web-based email client.
|
||||
|
||||
|
|
|
@ -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.35.3
|
||||
VERSION=2.35.4
|
||||
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 && \
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<id>snappymail</id>
|
||||
<name>SnappyMail</name>
|
||||
<summary>SnappyMail Webmail</summary>
|
||||
<version>2.35.3</version>
|
||||
<version>2.35.4</version>
|
||||
<licence>agpl</licence>
|
||||
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
|
||||
<description><![CDATA[**Lightweight & fast email client.**
|
||||
|
|
|
@ -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.35.3" );
|
||||
return ( "2.35.4" );
|
||||
}
|
||||
|
||||
sub script_snappymail_version_desc
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"title": "SnappyMail",
|
||||
"description": "Simple, modern & fast web-based email client",
|
||||
"private": true,
|
||||
"version": "2.35.3",
|
||||
"version": "2.35.4",
|
||||
"homepage": "https://snappymail.eu",
|
||||
"author": {
|
||||
"name": "DJ Maze",
|
||||
|
|
|
@ -203,6 +203,7 @@ trait Contacts
|
|||
if (!isset($aData['Mode'])) {
|
||||
$aData['Mode'] = empty($aData['Enable']) ? 0 : 1;
|
||||
}
|
||||
// $oAccount = $this->getAccountFromToken();
|
||||
$oMainAccount = $this->getMainAccountFromToken();
|
||||
if ($aData['Password']) {
|
||||
$aData['Password'] = \SnappyMail\Crypt::EncryptToJSON($aData['Password'], $oMainAccount->CryptKey());
|
||||
|
@ -218,6 +219,7 @@ trait Contacts
|
|||
|
||||
protected function getContactsSyncData(\RainLoop\Model\Account $oAccount) : ?array
|
||||
{
|
||||
// $oAccount = $this->getAccountFromToken();
|
||||
$sData = $this->StorageProvider()->Get($oAccount,
|
||||
\RainLoop\Providers\Storage\Enumerations\StorageType::CONFIG,
|
||||
'contacts_sync'
|
||||
|
|
|
@ -37,28 +37,36 @@ abstract class Log
|
|||
|
||||
protected static function log(int $level, string $prefix, string $msg)
|
||||
{
|
||||
\RainLoop\Api::Logger()->Write($msg, $level, $prefix);
|
||||
if (\RainLoop\Api::Logger()->IsEnabled()) {
|
||||
\RainLoop\Api::Logger()->Write($msg, $level, $prefix);
|
||||
} else {
|
||||
/*
|
||||
static $log_level;
|
||||
// Default to level 4, 0 = LOG_EMERG, 7 = LOG_DEBUG
|
||||
if (!$log_level) {
|
||||
$log_level = \max(3, \RainLoop\Api::Config()->Get('logs', 'level', \LOG_WARNING));
|
||||
}
|
||||
if ($level <= $log_level) {
|
||||
if (\RainLoop\Api::Config()->Get('logs', 'syslog') && \openlog('snappymail', \LOG_ODELAY, \LOG_USER)) {
|
||||
\syslog($level, "{$prefix} {$msg}");
|
||||
\closelog();
|
||||
static $log_level;
|
||||
// Default to level 4, 0 = LOG_EMERG, 7 = LOG_DEBUG
|
||||
if (!$log_level) {
|
||||
$log_level = \max(3, \RainLoop\Api::Config()->Get('logs', 'level', \LOG_WARNING));
|
||||
}
|
||||
if ($level <= $log_level) {
|
||||
if (\RainLoop\Api::Config()->Get('logs', 'syslog') && \openlog('snappymail', \LOG_ODELAY, \LOG_USER)) {
|
||||
\syslog($level, "{$prefix} {$msg}");
|
||||
\closelog();
|
||||
}
|
||||
|
||||
if (\filter_var(\ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN)
|
||||
&& (($level < \LOG_WARNING && \error_reporting() & \E_ERROR)
|
||||
|| ($level == \LOG_WARNING && \error_reporting() & \E_WARNING)
|
||||
|| ($level > \LOG_WARNING && \error_reporting() & \E_NOTICE)
|
||||
)) {
|
||||
\error_log($prefix . ' ' . static::$levels[$level] . ': ' . $msg);
|
||||
// \error_log($prefix . ' ' . static::$levels[$level] . ': ' . $msg, 3, 'filename');
|
||||
}
|
||||
}
|
||||
|
||||
if (\filter_var(\ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN)
|
||||
&& (($level < \LOG_WARNING && \error_reporting() & \E_ERROR)
|
||||
|| ($level == \LOG_WARNING && \error_reporting() & \E_WARNING)
|
||||
|| ($level > \LOG_WARNING && \error_reporting() & \E_NOTICE)
|
||||
)) {
|
||||
\error_log($prefix . ' ' . static::$levels[$level] . ': ' . $msg);
|
||||
// \error_log($prefix . ' ' . static::$levels[$level] . ': ' . $msg, 3, 'filename');
|
||||
if (\class_exists('OC')) {
|
||||
// \OCP\Log\logger('snappymail')->log(\intval($level), $msg);
|
||||
\OCP\Log\logger('snappymail')->{static::$levels[$level]}($msg);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue