From ce3acc4ec868954bcf963b1d22c5aaab4839e46e Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Thu, 3 Nov 2022 17:20:46 +0100
Subject: [PATCH] v2.20.0
---
.../files/usr/local/include/application.ini | 2 +-
CHANGELOG.md | 19 +++++++++++++++++++
README.md | 18 +++++++++---------
integrations/cloudron/DESCRIPTION.md | 2 +-
integrations/cloudron/Dockerfile | 2 +-
.../nextcloud/snappymail/appinfo/info.xml | 2 +-
.../nextcloud/snappymail/css/embed.css | 8 +-------
integrations/virtualmin/snappymail.pl | 2 +-
package.json | 2 +-
.../v/0.0.0/app/libraries/RainLoop/Utils.php | 4 +++-
.../v/0.0.0/themes/SquaresDark/styles.css | 2 +-
11 files changed, 39 insertions(+), 24 deletions(-)
diff --git a/.docker/release/files/usr/local/include/application.ini b/.docker/release/files/usr/local/include/application.ini
index 8a723bee3..4655a1599 100644
--- a/.docker/release/files/usr/local/include/application.ini
+++ b/.docker/release/files/usr/local/include/application.ini
@@ -290,5 +290,5 @@ dev_email = ""
dev_password = ""
[version]
-current = "2.19.7"
+current = "2.20.0"
saved = "Fri, 30 Sep 2022 12:34:56 +0000"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6321c86ac..b01caef71 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,22 @@
+## 2.20.0 – 2022-11-03
+
+### Added
+- Strip mailchimp tracking
+
+### Changed
+- Use some PHP typed properties
+- Move bootstrap @less variables to CSS var()
+- Improved theme styling
+
+### Fixed
+- CSS --dropdown-menu-background-color should be --dropdown-menu-bg-color
+
+### Nextcloud
+- Disable Nextcloud Impersonate check due to login/logout complications
+ [#561](https://github.com/the-djmaze/snappymail/issues/561)
+- Improved theme integration and be compatible with Breeze Dark
+
+
## 2.19.7 – 2022-11-02
### Added
diff --git a/README.md b/README.md
index 51e89da8a..6c9d05f86 100644
--- a/README.md
+++ b/README.md
@@ -141,24 +141,24 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 81.545 |
-|app.js |4.207.787 | 406.005 |
+|app.js |4.207.787 | 406.032 |
|boot.js | 868.735 | 2.050 |
|libs.js | 658.812 | 192.965 |
|sieve.js | 0 | 86.121 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
-|TOTAL |8.240.095 | 768.971 |
+|TOTAL |8.240.095 | 768.998 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 40.255 | 73.606 | 13.435 | 60.877 | 12.047 |
-|app.min.js | 515.367 | 188.025 |139.456 | 62.523 |110.485 | 53.638 |
+|app.min.js | 515.367 | 188.046 |139.456 | 62.537 |110.485 | 53.693 |
|boot.min.js | 84.659 | 1.252 | 26.998 | 778 | 23.643 | 628 |
|libs.min.js | 584.772 | 92.055 |180.901 | 34.113 |155.182 | 30.641 |
|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.332 |358.761 | 97.414 |299.485 | 84.907 |
-|TOTAL user+sieve |1.217.635 | 323.258 |358.761 |107.898 |299.485 | 94.358 |
+|TOTAL user |1.217.635 | 281.353 |358.761 | 97.428 |299.485 | 84.962 |
+|TOTAL user+sieve |1.217.635 | 323.279 |358.761 |107.912 |299.485 | 94.413 |
|TOTAL admin | 959.099 | 133.562 |292.911 | 48.326 |249.877 | 43.316 |
For a user its around 70% smaller and faster than traditional RainLoop.
@@ -187,12 +187,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 | 82.267 | 46.946 | 17.056 | 14.646 |
-|app.min.css | 274.947 | 65.979 | 39.647 | 15.048 | 13.217 |
+|app.css | 340.331 | 82.870 | 46.946 | 17.215 | 14.727 |
+|app.min.css | 274.947 | 66.646 | 39.647 | 15.260 | 13.322 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
-|admin.css | | 29.955 | | 6.798 | 5.906 |
-|admin.min.css | | 24.093 | | 6.170 | 5.424 |
+|admin.css | | 30.506 | | 6.907 | 5.998 |
+|admin.min.css | | 24.677 | | 6.267 | 5.498 |
### PGP
RainLoop uses the old OpenPGP.js v2
diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md
index 4fc9c5fc6..527cd0162 100644
--- a/integrations/cloudron/DESCRIPTION.md
+++ b/integrations/cloudron/DESCRIPTION.md
@@ -1,4 +1,4 @@
-This app packages SnappyMail 2.19.7.
+This app packages SnappyMail 2.20.0.
SnappyMail is a simple, modern, lightweight & fast web-based email client.
diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile
index 27eb9b546..fc6783dd8 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.19.7
+VERSION=2.20.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 d99193b3c..7e5f01317 100644
--- a/integrations/nextcloud/snappymail/appinfo/info.xml
+++ b/integrations/nextcloud/snappymail/appinfo/info.xml
@@ -3,7 +3,7 @@
snappymail
SnappyMail
SnappyMail Webmail
- 2.19.7
+ 2.20.0
agpl
SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli
header ul {
color: inherit;
}
-#V-MailMessageView,
-.b-folders .b-content {
- bottom: 5px;
- top: 50px;
-}
-
.messageListItem * {
cursor: pointer;
}
@@ -114,7 +108,7 @@ body > header ul {
*/
.messageList {
- margin: 0 5px;
+ margin: 0 5px 0 0;
}
a.selectable {
diff --git a/integrations/virtualmin/snappymail.pl b/integrations/virtualmin/snappymail.pl
index c94811b03..54a02e5c9 100644
--- a/integrations/virtualmin/snappymail.pl
+++ b/integrations/virtualmin/snappymail.pl
@@ -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.19.7" );
+return ( "2.20.0" );
}
sub script_snappymail_version_desc
diff --git a/package.json b/package.json
index 4293d31cf..2beb99d11 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"title": "SnappyMail",
"description": "Simple, modern & fast web-based email client",
"private": true,
- "version": "2.19.7",
+ "version": "2.20.0",
"homepage": "https://snappymail.eu",
"author": {
"name": "DJ Maze",
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php
index c89037151..9ec081335 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php
@@ -141,6 +141,9 @@ class Utils
throw new \Exception("Cookie '{$sName}' value too long");
}
*/
+ if (\strlen($sValue)) {
+ $_COOKIE[$sName] = $sValue;
+ }
\setcookie($sName, $sValue, array(
'expires' => $iExpire,
'path' => $sPath,
@@ -155,7 +158,6 @@ class Utils
{
$sPath = static::$CookieDefaultPath;
$sPath = $sPath && \strlen($sPath) ? $sPath : '/';
- $_COOKIE[$sName] = $sValue;
// https://github.com/the-djmaze/snappymail/issues/451
// The 4K browser limit is for the entire cookie, including name, value, expiry date etc.
$iMaxSize = 4000 - \strlen($sPath . $sName);
diff --git a/snappymail/v/0.0.0/themes/SquaresDark/styles.css b/snappymail/v/0.0.0/themes/SquaresDark/styles.css
index 6fae3964a..39661fd04 100644
--- a/snappymail/v/0.0.0/themes/SquaresDark/styles.css
+++ b/snappymail/v/0.0.0/themes/SquaresDark/styles.css
@@ -44,7 +44,7 @@
--settings-menu-hover-bg-color: rgba(0,0,0,0.5);
/* MESSAGE LIST */
- --message-list-toolbar-bg-color: #eee;
+ --message-list-toolbar-bg-color: #222;
}
::-webkit-scrollbar {