mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
v2.36.1
This commit is contained in:
parent
cd8b3936fb
commit
4b63adb0d5
9 changed files with 68 additions and 23 deletions
44
CHANGELOG.md
44
CHANGELOG.md
|
|
@ -1,9 +1,53 @@
|
||||||
|
## 2.36.1 – 2024-04-23
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Autoconfig detect through DNS SRV (RFC 6186 & 8314) and disable MX
|
||||||
|
- Have I Been Pwned class to check breached passwords and email addresses
|
||||||
|
- Handle RFC 5987 in Content-Disposition header
|
||||||
|
- Ignore text/x-amp-html
|
||||||
|
- Show SMTP error to user
|
||||||
|
[#1521](https://github.com/the-djmaze/snappymail/issues/1521)
|
||||||
|
- OAuth2 for login using gmail (and others)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- logMask all AUTHENTICATE requests
|
||||||
|
- ErrorTip use white-space: pre
|
||||||
|
- Simplify LoginProcess handling
|
||||||
|
- ES2020 everywhere (require Safari 13.1)
|
||||||
|
- Modified Squire to be more in line with v2.2.8
|
||||||
|
- CSS set min-width for .attachmentParent and .flagParent to line them up
|
||||||
|
- cPanel use extension login-cpanel instead of login-remote
|
||||||
|
- Improved login credentials handling
|
||||||
|
- Speedup Knockout a bit
|
||||||
|
- Update Belarusian by @spoooyders
|
||||||
|
- Update Chinese by @mayswind
|
||||||
|
- Update French by @hguilbert
|
||||||
|
- Update Polish by @tinola
|
||||||
|
- Update Portuguese by @ner00
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Content encoding and type detection in JavaScript could fail due to case-sensitivity.
|
||||||
|
- Extensions set logger failed
|
||||||
|
- GnuPG check open_basedir and if shell_exec is disabled
|
||||||
|
- Hide pagination when search result has no messages
|
||||||
|
- Prevent mbstring error before setup.php
|
||||||
|
- Prevent MessagesPerPage Infinity
|
||||||
|
[#1540](https://github.com/the-djmaze/snappymail/issues/1540)
|
||||||
|
- Reseal CryptKey failed
|
||||||
|
[#1543](https://github.com/the-djmaze/snappymail/issues/1543)
|
||||||
|
|
||||||
|
### Nextcloud
|
||||||
|
- Add an occ command to set up the login settings
|
||||||
|
[#1552](https://github.com/the-djmaze/snappymail/issues/1552)
|
||||||
|
|
||||||
|
|
||||||
## 2.36.0 – 2024-03-18
|
## 2.36.0 – 2024-03-18
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Allow setting the supported THREAD algorithm
|
- Allow setting the supported THREAD algorithm
|
||||||
- Icon to system folders
|
- Icon to system folders
|
||||||
- Remove remembered password after 15 minutes of inactivity
|
- Remove remembered password after 15 minutes of inactivity
|
||||||
|
[#1142](https://github.com/the-djmaze/snappymail/issues/1142)
|
||||||
- Swap background and text color for unreadable text on dark background
|
- Swap background and text color for unreadable text on dark background
|
||||||
[#1486](https://github.com/the-djmaze/snappymail/issues/1486)
|
[#1486](https://github.com/the-djmaze/snappymail/issues/1486)
|
||||||
- Generate TOTP code at ?Admin -> Security
|
- Generate TOTP code at ?Admin -> Security
|
||||||
|
|
|
||||||
30
README.md
30
README.md
|
|
@ -49,7 +49,7 @@ This fork of RainLoop has the following changes:
|
||||||
* Admin uses password_hash/password_verify
|
* Admin uses password_hash/password_verify
|
||||||
* Auth failed attempts written to syslog
|
* Auth failed attempts written to syslog
|
||||||
* Added Fail2ban instructions
|
* Added Fail2ban instructions
|
||||||
* ES2018
|
* ES2020
|
||||||
* PHP 7.4+ required
|
* PHP 7.4+ required
|
||||||
* PHP mbstring extension required
|
* PHP mbstring extension required
|
||||||
* PHP replaced pclZip with PharData and ZipArchive
|
* PHP replaced pclZip with PharData and ZipArchive
|
||||||
|
|
@ -140,26 +140,26 @@ RainLoop 1.17 vs SnappyMail
|
||||||
|
|
||||||
|js/* |RainLoop |Snappy |
|
|js/* |RainLoop |Snappy |
|
||||||
|--------------- |--------: |--------: |
|
|--------------- |--------: |--------: |
|
||||||
|admin.js |2.170.153 | 83.606 |
|
|admin.js |2.170.153 | 83.494 |
|
||||||
|app.js |4.207.787 | 435.863 |
|
|app.js |4.207.787 | 436.310 |
|
||||||
|boot.js | 868.735 | 4.147 |
|
|boot.js | 868.735 | 4.147 |
|
||||||
|libs.js | 658.812 | 201.911 |
|
|libs.js | 658.812 | 193.716 |
|
||||||
|sieve.js | 0 | 84.598 |
|
|sieve.js | 0 | 84.598 |
|
||||||
|polyfills.js | 334.608 | 0 |
|
|polyfills.js | 334.608 | 0 |
|
||||||
|serviceworker.js | 0 | 285 |
|
|serviceworker.js | 0 | 285 |
|
||||||
|TOTAL |8.240.095 | 810.410 |
|
|TOTAL |8.240.095 | 802.550 |
|
||||||
|
|
||||||
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|
||||||
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|
||||||
|admin.min.js | 256.831 | 40.917 | 73.606 | 13.802 | 60.877 | 12.380 |
|
|admin.min.js | 256.831 | 40.856 | 73.606 | 13.776 | 60.877 | 12.345 |
|
||||||
|app.min.js | 515.367 | 197.447 |139.456 | 67.066 |110.485 | 57.238 |
|
|app.min.js | 515.367 | 197.511 |139.456 | 67.058 |110.485 | 57.209 |
|
||||||
|boot.min.js | 84.659 | 2.087 | 26.998 | 1.204 | 23.643 | 1.002 |
|
|boot.min.js | 84.659 | 2.087 | 26.998 | 1.204 | 23.643 | 1.002 |
|
||||||
|libs.min.js | 584.772 | 92.482 |180.901 | 34.729 |155.182 | 31.017 |
|
|libs.min.js | 584.772 | 92.365 |180.901 | 34.487 |155.182 | 30.830 |
|
||||||
|sieve.min.js | 0 | 41.093 | 0 | 10.325 | 0 | 9.327 |
|
|sieve.min.js | 0 | 41.093 | 0 | 10.325 | 0 | 9.327 |
|
||||||
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|
||||||
|TOTAL user |1.217.635 | 292.016 |358.761 |102.999 |299.485 | 89.257 |
|
|TOTAL user |1.217.635 | 291.963 |358.761 |102.749 |299.485 | 89.041 |
|
||||||
|TOTAL user+sieve |1.217.635 | 333.109 |358.761 |113.324 |299.485 | 98.584 |
|
|TOTAL user+sieve |1.217.635 | 333.056 |358.761 |113.074 |299.485 | 98.368 |
|
||||||
|TOTAL admin | 959.099 | 135.486 |292.911 | 49.735 |249.877 | 44.399 |
|
|TOTAL admin | 959.099 | 135.308 |292.911 | 49.467 |249.877 | 44.177 |
|
||||||
|
|
||||||
For a user it is around 68% smaller and faster than traditional RainLoop.
|
For a user it is around 68% smaller and faster than traditional RainLoop.
|
||||||
|
|
||||||
|
|
@ -188,12 +188,12 @@ For a user it is around 68% smaller and faster than traditional RainLoop.
|
||||||
|
|
||||||
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|
||||||
|------------ |-------: |------: |------: |------: |--------: |
|
|------------ |-------: |------: |------: |------: |--------: |
|
||||||
|app.css | 340.331 | 84.614 | 46.946 | 17.649 | 15.119 |
|
|app.css | 340.331 | 84.629 | 46.946 | 17.652 | 15.127 |
|
||||||
|app.min.css | 274.947 | 67.984 | 39.647 | 15.560 | 13.574 |
|
|app.min.css | 274.947 | 67.995 | 39.647 | 15.562 | 13.568 |
|
||||||
|boot.css | | 1.326 | | 664 | 545 |
|
|boot.css | | 1.326 | | 664 | 545 |
|
||||||
|boot.min.css | | 1.071 | | 590 | 474 |
|
|boot.min.css | | 1.071 | | 590 | 474 |
|
||||||
|admin.css | | 30.531 | | 7.001 | 6.089 |
|
|admin.css | | 30.528 | | 7.001 | 6.088 |
|
||||||
|admin.min.css | | 24.655 | | 6.325 | 5.575 |
|
|admin.min.css | | 24.652 | | 6.325 | 5.574 |
|
||||||
|
|
||||||
### PGP
|
### PGP
|
||||||
RainLoop uses the old OpenPGP.js v2
|
RainLoop uses the old OpenPGP.js v2
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
This app packages SnappyMail <upstream>2.36.0</upstream>.
|
This app packages SnappyMail <upstream>2.36.1</upstream>.
|
||||||
|
|
||||||
SnappyMail is a simple, modern, lightweight & fast web-based email client.
|
SnappyMail is a simple, modern, lightweight & fast web-based email client.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ RUN mkdir -p /app/code
|
||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
# If you change the extraction below, be sure to test on scaleway
|
# If you change the extraction below, be sure to test on scaleway
|
||||||
VERSION=2.36.0
|
VERSION=2.36.1
|
||||||
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \
|
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 && \
|
unzip /tmp/snappymail.zip -d /app/code && \
|
||||||
rm /tmp/snappymail.zip && \
|
rm /tmp/snappymail.zip && \
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<id>snappymail</id>
|
<id>snappymail</id>
|
||||||
<name>SnappyMail</name>
|
<name>SnappyMail</name>
|
||||||
<summary>SnappyMail Webmail</summary>
|
<summary>SnappyMail Webmail</summary>
|
||||||
<version>2.36.0</version>
|
<version>2.36.1</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
|
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
|
||||||
<description><![CDATA[**Lightweight & fast email client.**
|
<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()
|
# script_snappymail_versions()
|
||||||
sub script_snappymail_versions
|
sub script_snappymail_versions
|
||||||
{
|
{
|
||||||
return ( "2.36.0" );
|
return ( "2.36.1" );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub script_snappymail_version_desc
|
sub script_snappymail_version_desc
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"title": "SnappyMail",
|
"title": "SnappyMail",
|
||||||
"description": "Simple, modern & fast web-based email client",
|
"description": "Simple, modern & fast web-based email client",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.36.0",
|
"version": "2.36.1",
|
||||||
"homepage": "https://snappymail.eu",
|
"homepage": "https://snappymail.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "DJ Maze",
|
"name": "DJ Maze",
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,8 @@ class LoginGMailPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
\RainLoop\Plugins\Property::NewInstance('client_id')
|
\RainLoop\Plugins\Property::NewInstance('client_id')
|
||||||
->SetLabel('Client ID')
|
->SetLabel('Client ID')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
|
||||||
->SetAllowedInJs(),
|
->SetAllowedInJs()
|
||||||
|
->SetDescription('https://github.com/the-djmaze/snappymail/wiki/FAQ#gmail'),
|
||||||
\RainLoop\Plugins\Property::NewInstance('client_secret')
|
\RainLoop\Plugins\Property::NewInstance('client_secret')
|
||||||
->SetLabel('Client Secret')
|
->SetLabel('Client Secret')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ class Manager
|
||||||
|
|
||||||
public function GetUserPluginSettings(string $sPluginName) : array
|
public function GetUserPluginSettings(string $sPluginName) : array
|
||||||
{
|
{
|
||||||
$oAccount = $this->oActions->GetAccount();
|
$oAccount = $this->oActions->getAccountFromToken();
|
||||||
if ($oAccount) {
|
if ($oAccount) {
|
||||||
$oSettings = $this->oActions->SettingsProvider()->Load($oAccount);
|
$oSettings = $this->oActions->SettingsProvider()->Load($oAccount);
|
||||||
if ($oSettings) {
|
if ($oSettings) {
|
||||||
|
|
@ -396,7 +396,7 @@ class Manager
|
||||||
|
|
||||||
public function SaveUserPluginSettings(string $sPluginName, array $aSettings) : bool
|
public function SaveUserPluginSettings(string $sPluginName, array $aSettings) : bool
|
||||||
{
|
{
|
||||||
$oAccount = $this->oActions->GetAccount();
|
$oAccount = $this->oActions->getAccountFromToken();
|
||||||
if ($oAccount) {
|
if ($oAccount) {
|
||||||
$oSettings = $this->oActions->SettingsProvider()->Load($oAccount);
|
$oSettings = $this->oActions->SettingsProvider()->Load($oAccount);
|
||||||
if ($oSettings) {
|
if ($oSettings) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue