This commit is contained in:
the-djmaze 2023-01-12 15:16:32 +01:00
parent a2336be273
commit 686fa20945
12 changed files with 99 additions and 50 deletions

View file

@ -305,5 +305,5 @@ dev_email = ""
dev_password = ""
[version]
current = "2.24.4"
current = "2.24.5"
saved = "Sun, 18 Dec 2022 22:10:48 +0000"

View file

@ -1,3 +1,48 @@
## 2.24.5 2023-01-12
## Added
- Support for search criterias ON, SENTON, SENTSINCE and SENTBEFORE
- New 'forward as attachment' glyph
- NC integration app metadata: add links to admin and dev docs by @p-bo
[#820](https://github.com/the-djmaze/snappymail/pull/820)
- Clicking on messagelist grouped date/from searches on that date/from
[#815](https://github.com/the-djmaze/snappymail/pull/815)
- Nextcloud Improved file picker layout
[#825](https://github.com/the-djmaze/snappymail/pull/825)
## Changed
- Move release.php to cli/release.php
- Moved sort options "FROM" direct below "DATE" for better understanding
- Added DAV path error to log for
[#822](https://github.com/the-djmaze/snappymail/pull/822)
- Resolve layout issues by changing from `fixed` to `relative`
[#686](https://github.com/the-djmaze/snappymail/pull/686)
- Cache handling of messagelist changed due to etag issues
- Improve german and italian translation by @cm-schl
[#846](https://github.com/the-djmaze/snappymail/pull/846)
## Fixed
- Searching on Nextcloud search #787
[#787](https://github.com/the-djmaze/snappymail/pull/787)
- Workaround another Nextcloud disallowed .htaccess
[#790](https://github.com/the-djmaze/snappymail/pull/790)
- Compact display of folders in nextcloud by @makoehr
[#824](https://github.com/the-djmaze/snappymail/pull/824)
- Admin -> Contacts PDO test failed when using different AddressBookInterface
- KolabAddressBook errors
- Forgot debug js/css setting change in Nextcloud
- Typed property MailSo\Mail\MessageListParams::$sSearch must not be accessed before initialization
- Unable to change font/text colour when composing message using Safari
[#826](https://github.com/the-djmaze/snappymail/pull/826)
- auth_logging failed
[#489](https://github.com/the-djmaze/snappymail/pull/489)
- Class "RainLoop\Actions\Notifications" not found
[#839](https://github.com/the-djmaze/snappymail/pull/839)
### Removed
- 'set-version' argument for release.php
## 2.24.4 2022-12-30
## Added

View file

@ -141,26 +141,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 82.149 |
|app.js |4.207.787 | 412.196 |
|admin.js |2.170.153 | 82.218 |
|app.js |4.207.787 | 412.596 |
|boot.js | 868.735 | 2.427 |
|libs.js | 658.812 | 191.117 |
|sieve.js | 0 | 86.018 |
|libs.js | 658.812 | 191.301 |
|sieve.js | 0 | 85.960 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
|TOTAL |8.240.095 | 774.192 |
|TOTAL |8.240.095 | 774.787 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 40.838 | 73.606 | 13.444 | 60.877 | 12.045 |
|app.min.js | 515.367 | 189.971 |139.456 | 63.463 |110.485 | 54.430 |
|admin.min.js | 256.831 | 40.756 | 73.606 | 13.419 | 60.877 | 12.018 |
|app.min.js | 515.367 | 190.149 |139.456 | 63.499 |110.485 | 54.471 |
|boot.min.js | 84.659 | 1.518 | 26.998 | 919 | 23.643 | 747 |
|libs.min.js | 584.772 | 90.689 |180.901 | 33.597 |155.182 | 30.118 |
|sieve.min.js | 0 | 41.909 | 0 | 10.476 | 0 | 9.461 |
|libs.min.js | 584.772 | 90.768 |180.901 | 33.615 |155.182 | 30.170 |
|sieve.min.js | 0 | 41.905 | 0 | 10.477 | 0 | 9.456 |
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|TOTAL user |1.217.635 | 282.178 |358.761 | 97.979 |299.485 | 85.295 |
|TOTAL user+sieve |1.217.635 | 324.087 |358.761 |108.455 |299.485 | 94.756 |
|TOTAL admin | 959.099 | 133.045 |292.911 | 47.960 |249.877 | 42.910 |
|TOTAL user |1.217.635 | 282.435 |358.761 | 98.033 |299.485 | 85.388 |
|TOTAL user+sieve |1.217.635 | 324.340 |358.761 |108.510 |299.485 | 94.844 |
|TOTAL admin | 959.099 | 133.042 |292.911 | 47.953 |249.877 | 42.935 |
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 | 82.646 | 46.946 | 17.143 | 14.703 |
|app.min.css | 274.947 | 66.615 | 39.647 | 15.115 | 13.255 |
|app.css | 340.331 | 82.794 | 46.946 | 17.185 | 14.735 |
|app.min.css | 274.947 | 66.702 | 39.647 | 15.146 | 13.290 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.277 | | 6.901 | 5.999 |
|admin.min.css | | 24.524 | | 6.238 | 5.503 |
|admin.css | | 30.281 | | 6.906 | 5.999 |
|admin.min.css | | 24.493 | | 6.233 | 5.501 |
### PGP
RainLoop uses the old OpenPGP.js v2

View file

@ -70,6 +70,7 @@ foreach (glob(ROOT_DIR . '/plugins/*', GLOB_NOSORT | GLOB_ONLYDIR) as $dir) {
$tar->compress(Phar::GZ);
unlink($tar_destination);
rename("{$tar_destination}.gz", $tgz_destination);
/*
if (Phar::canWrite()) {
$phar_destination = PLUGINS_DEST_DIR . "/{$name}.phar";
@unlink($phar_destination);
@ -79,6 +80,7 @@ foreach (glob(ROOT_DIR . '/plugins/*', GLOB_NOSORT | GLOB_ONLYDIR) as $dir) {
unlink($phar_destination);
rename("{$phar_destination}.gz", $phar_destination);
}
*/
if (isset($options['sign'])) {
passthru('gpg --local-user 1016E47079145542F8BA133548208BA13290F3EB --armor --detach-sign '.escapeshellarg($tgz_destination), $return_var);
$manifest_item['pgp_sig'] = trim(preg_replace('/-----(BEGIN|END) PGP SIGNATURE-----/', '', file_get_contents($tgz_destination.'.asc')));

View file

@ -3,7 +3,7 @@
define('ROOT_DIR', dirname(__DIR__));
chdir(ROOT_DIR);
$options = getopt('', ['aur','docker','plugins','skip-gulp','debian','nextcloud','owncloud','sign']);
$options = getopt('', ['aur','docker','plugins','skip-gulp','debian','nextcloud','owncloud','cpanel','sign']);
if (isset($options['plugins'])) {
require(ROOT_DIR . '/build/plugins.php');

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.24.4</upstream>.
This app packages SnappyMail <upstream>2.24.5</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.24.4
VERSION=2.24.5
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.24.4</version>
<version>2.24.5</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.24.4" );
return ( "2.24.5" );
}
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.24.4",
"version": "2.24.5",
"homepage": "https://snappymail.eu",
"author": {
"name": "DJ Maze",

View file

@ -66,7 +66,7 @@
fn('data:image/svg+xml;base64,' + btoa(window.identiconSvg(hash, fromChars(from))))
),
addQueue = (msg, fn) => {
setIdenticon(msg.from[0], fn);
msg.from?.[0] && setIdenticon(msg.from[0], fn);
if (rl.pluginSettingsGet('avatars', 'delay')) {
queue.push([msg, fn]);
runQueue();
@ -75,31 +75,33 @@
runQueue = (() => {
let item = queue.shift();
while (item) {
let url = getAvatar(item[0]),
uid = getAvatarUid(item[0]);
if (url) {
item[1](url);
item = queue.shift();
} else if (!avatars.has(uid)) {
let from = item[0].from[0];
rl.pluginRemoteRequest((iError, data) => {
if (!iError && data?.Result.type) {
url = `data:${data.Result.type};base64,${data.Result.data}`;
avatars.set(uid, url);
item[1](url);
} else {
avatars.set(uid, '');
}
runQueue();
}, 'Avatar', {
bimi: 'pass' == from.dkimStatus ? 1 : 0,
email: from.email
});
break;
} else {
runQueue();
break;
if (item[0].from) {
let url = getAvatar(item[0]),
uid = getAvatarUid(item[0]);
if (url) {
item[1](url);
item = queue.shift();
continue;
} else if (!avatars.has(uid)) {
let from = item[0].from[0];
rl.pluginRemoteRequest((iError, data) => {
if (!iError && data?.Result.type) {
url = `data:${data.Result.type};base64,${data.Result.data}`;
avatars.set(uid, url);
item[1](url);
} else {
avatars.set(uid, '');
}
runQueue();
}, 'Avatar', {
bimi: 'pass' == from.dkimStatus ? 1 : 0,
email: from.email
});
break;
}
}
runQueue();
break;
}
}).debounce(1000);
@ -204,7 +206,7 @@
view.message.subscribe(msg => {
view.viewUserPicVisible(false);
if (msg) {
let url = getAvatar(msg),
let url = msg.from?.[0] ? getAvatar(msg) : 0,
fn = url => {
view.viewUserPic(url);
view.viewUserPicVisible(true);

View file

@ -4,7 +4,7 @@
<div class="span4">
<div class="rl-logo"></div>
<div>
2022 © <span data-i18n="TAB_ABOUT/LABEL_ALL_RIGHTS_RESERVED"></span>
2023 © <span data-i18n="TAB_ABOUT/LABEL_ALL_RIGHTS_RESERVED"></span>
<br>
<a class="g-ui-link" href="https://snappymail.eu/" target="_blank" style="padding-left: 0">https://snappymail.eu/</a>
</div>