This commit is contained in:
the-djmaze 2022-11-22 12:05:21 +01:00
parent 7dca36409d
commit 91978e6ecf
12 changed files with 60 additions and 26 deletions

View file

@ -289,5 +289,5 @@ dev_email = ""
dev_password = ""
[version]
current = "2.21.3"
current = "2.21.4"
saved = "Fri, 30 Sep 2022 12:34:56 +0000"

View file

@ -1,3 +1,34 @@
## 2.21.4 2022-11-22
### Added
- Added domain matcher test for
[#689](https://github.com/the-djmaze/snappymail/pull/689)
- Download all Attachments of selected Emails
[#361](https://github.com/the-djmaze/snappymail/pull/361)
### Changed
- Log current shortcuts scope for
[#690](https://github.com/the-djmaze/snappymail/pull/690)
- CSS everything to be box-sizing: border-box;
- Make messageview a bit larger so that it is the same height as the messagelist
- Cleanup and rearrange some fontastic glyphs
- Also show From email address by default
[#683](https://github.com/the-djmaze/snappymail/pull/683)
### Fixed
- Contact.display() returns [object Object]
- When left panel disabled and drag messages, show it
- Issue with admin domain connection type settings selectbox
[#689](https://github.com/the-djmaze/snappymail/pull/689)
- Mobile View on cellphones: automatic scrolling not working near the visual keyboard
[#686](https://github.com/the-djmaze/snappymail/pull/686)
- Unable to separate runtime from installation
[#685](https://github.com/the-djmaze/snappymail/pull/685)
### Removed
- Removed inline parameter of checkbox and select components
## 2.21.3 2022-11-16
### Added

View file

@ -41,7 +41,7 @@ Copyright (c) 2013 - 2022 RainLoop
This fork of RainLoop has the following changes:
* Privacy/GDPR friendly (no: Social, Gravatar, Facebook, Google, Twitter, DropBox, OwnCloud, X-Mailer)
* Privacy/GDPR friendly (no: Social, Gravatar, Facebook, Google, Twitter, DropBox, X-Mailer)
* Admin uses password_hash/password_verify
* Auth failed attempts written to syslog
* Added Fail2ban instructions
@ -57,10 +57,11 @@ This fork of RainLoop has the following changes:
* Removed background video support
* Removed Sentry (Application Monitoring and Error Tracking Software)
* Removed Spyc yaml
* Removed OwnCloud
* Replaced gulp-uglify with gulp-terser
* CRLF => LF line endings
* Embed boot.js and boot.css into index.html
* Ongoing removal of old JavaScript code (things are native these days)
* Removal of old JavaScript code (things are native these days)
* Added modified [Squire](https://github.com/neilj/Squire) HTML editor as replacement for CKEditor
* Updated [Sabre/VObject](https://github.com/sabre-io/vobject)
* Split Admin specific JavaScript code from User code
@ -105,7 +106,6 @@ Supported are:
The result is faster and smaller download code (good for mobile networks).
* Added dev/prototype.js for some additional features
* boot.js without webpack overhead
* Modified Jua.js to be without jQuery
* Replaced Autolinker with simple https/email detection
* Replaced momentToNode with proper HTML5 `<time>`
@ -118,6 +118,7 @@ The result is faster and smaller download code (good for mobile networks).
* Replaced simplestatemanager with CSS @media
* Replaced inputosaurus with own code
* Replaced keymaster with own shortcuts handler
* Replaced OpenPGP.js v2 with OpenPGP.js v5
* Removed ifvisible.js
* Removed pikaday
* Removed underscore
@ -140,26 +141,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 82.541 |
|app.js |4.207.787 | 406.801 |
|admin.js |2.170.153 | 82.419 |
|app.js |4.207.787 | 407.238 |
|boot.js | 868.735 | 1.989 |
|libs.js | 658.812 | 193.035 |
|libs.js | 658.812 | 193.075 |
|sieve.js | 0 | 86.121 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
|TOTAL |8.240.095 | 770.772 |
|TOTAL |8.240.095 | 771.127 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 40.867 | 73.606 | 13.573 | 60.877 | 12.146 |
|app.min.js | 515.367 | 188.586 |139.456 | 62.800 |110.485 | 53.829 |
|admin.min.js | 256.831 | 40.933 | 73.606 | 13.575 | 60.877 | 12.185 |
|app.min.js | 515.367 | 188.830 |139.456 | 62.816 |110.485 | 53.944 |
|boot.min.js | 84.659 | 1.216 | 26.998 | 761 | 23.643 | 614 |
|libs.min.js | 584.772 | 92.084 |180.901 | 34.119 |155.182 | 30.621 |
|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.886 |358.761 | 97.680 |299.485 | 85.064 |
|TOTAL user+sieve |1.217.635 | 323.812 |358.761 |108.164 |299.485 | 94.515 |
|TOTAL admin | 959.099 | 134.167 |292.911 | 48.453 |249.877 | 43.381 |
|TOTAL user |1.217.635 | 282.130 |358.761 | 97.696 |299.485 | 85.179 |
|TOTAL user+sieve |1.217.635 | 324.056 |358.761 |108.180 |299.485 | 94.630 |
|TOTAL admin | 959.099 | 134.233 |292.911 | 48.455 |249.877 | 43.420 |
For a user its around 70% smaller and faster than traditional RainLoop.
@ -169,6 +170,7 @@ For a user its around 70% smaller and faster than traditional RainLoop.
* Themes work in mobile mode
* Bugfix invalid/conflicting css rules
* Use flexbox
* Use border-box
* Split app.css to have separate admin.css
* Remove oldschool 'float'
* Remove unused css
@ -187,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 | 83.444 | 46.946 | 17.239 | 14.750 |
|app.min.css | 274.947 | 67.244 | 39.647 | 15.279 | 13.333 |
|app.css | 340.331 | 82.425 | 46.946 | 17.049 | 14.595 |
|app.min.css | 274.947 | 66.502 | 39.647 | 15.049 | 13.221 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.816 | | 6.939 | 6.028 |
|admin.min.css | | 24.969 | | 6.300 | 5.531 |
|admin.css | | 29.807 | | 6.744 | 5.851 |
|admin.min.css | | 24.223 | | 6.142 | 5.397 |
### PGP
RainLoop uses the old OpenPGP.js v2

View file

@ -20,7 +20,7 @@ export class AdminSettingsDomains /*extends AbstractViewSettings*/ {
Remote.request('AdminDomainMatch',
(iError, oData) => {
if (oData?.Result?.domain) {
alert('Matched domain: ' + oData.Result.domain.name);
alert(`${oData.Result.domain.email} matched domain: ${oData.Result.domain.name}`);
} else {
alert('No domain match');
}

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.21.3</upstream>.
This app packages SnappyMail <upstream>2.21.4</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.21.3
VERSION=2.21.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 && \

View file

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

View file

@ -76,7 +76,7 @@
"INBOX_NAME": "Inbox",
"SENT_NAME": "Sent",
"DRAFTS_NAME": "Drafts",
"TRASH_NAME": "Bin",
"TRASH_NAME": "Deleted",
"ARCHIVE_NAME": "Archive"
},
"QUOTA": {
@ -336,7 +336,7 @@
"NOTIFICATION_SENT": "You haven't selected \"Sent\" system folder messages are put to after sending.\nIf you don't want to save sent message, please select \"Do not use\" option.\n",
"NOTIFICATION_DRAFTS": "You haven't selected \"Drafts\" system folder messages are saved to while composing.",
"NOTIFICATION_SPAM": "You haven't selected \"Spam\" system folder spamed messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.\n",
"NOTIFICATION_TRASH": "You haven't selected \"Bin\" system folder deleted messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.\n",
"NOTIFICATION_TRASH": "You haven't selected \"Deleted\" system folder deleted messages are placed to.\nIf you wish to remove messages permanently, please select \"Do not use\" option.\n",
"NOTIFICATION_ARCHIVE": "You haven't selected \"Archive\" system folder achived messages are placed to."
},
"TITLES": {

View file

@ -136,7 +136,7 @@
<table>
<tr data-bind="visible: fromToLine()">
<td data-i18n="GLOBAL/FROM"></td>
<td><span data-bind="text: fromToLine(), title: fromToLine()"></span>
<td><span data-bind="text: fromToLine()"></span>
<i data-bind="visible: $parent.viewFromDkimVisibility, css: $parent.viewFromDkimStatusIconClass, title: $parent.viewFromDkimStatusTitle"></i>
</td>
</tr>

View file

@ -67,6 +67,7 @@ config.paths.js = {
'vendors/jua/jua.js',
'vendors/bootstrap/js/bootstrap.native.js',
'vendors/knockout/build/output/knockout-latest.js',
// 'vendors/knockout/build/output/knockout-latest.debug.js',
'vendors/squire/build/squire-raw.js',
'dev/External/SquireUI.js'
]