This commit is contained in:
the-djmaze 2022-10-31 17:10:04 +01:00
parent 806f6f3c5e
commit e7b06496d2
13 changed files with 48 additions and 53 deletions

View file

@ -290,5 +290,5 @@ dev_email = ""
dev_password = ""
[version]
current = "2.19.4"
current = "2.19.6"
saved = "Fri, 30 Sep 2022 12:34:56 +0000"

View file

@ -140,26 +140,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 81.500 |
|app.js |4.207.787 | 405.783 |
|admin.js |2.170.153 | 81.545 |
|app.js |4.207.787 | 405.510 |
|boot.js | 868.735 | 2.050 |
|libs.js | 658.812 | 192.965 |
|sieve.js | 0 | 86.172 |
|sieve.js | 0 | 86.121 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
|TOTAL |8.240.095 | 768.755 |
|TOTAL |8.240.095 | 768.476 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 40.402 | 73.606 | 13.446 | 60.877 | 12.062 |
|app.min.js | 515.367 | 188.273 |139.456 | 62.450 |110.485 | 53.536 |
|admin.min.js | 256.831 | 40.255 | 73.606 | 13.435 | 60.877 | 12.047 |
|app.min.js | 515.367 | 187.781 |139.456 | 62.426 |110.485 | 53.504 |
|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.952 | 0 | 10.493 | 0 | 9.465 |
|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.580 |358.761 | 97.341 |299.485 | 84.805 |
|TOTAL user+sieve |1.217.635 | 323.532 |358.761 |107.834 |299.485 | 94.270 |
|TOTAL admin | 959.099 | 133.709 |292.911 | 48.337 |249.877 | 43.331 |
|TOTAL user |1.217.635 | 281.088 |358.761 | 97.317 |299.485 | 84.773 |
|TOTAL user+sieve |1.217.635 | 323.014 |358.761 |107.801 |299.485 | 94.224 |
|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.

View file

@ -33,7 +33,7 @@ export const
*/
serverRequestRaw = (type, hash) =>
SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/'
+ '0/' // AuthAccountHash ?
+ '0/' // Settings.get('AccountHash') ?
+ (type
? type + '/' + (hash ? SUB_QUERY_PREFIX + '/' + hash : '')
: ''),

View file

@ -1,4 +1,4 @@
This app packages SnappyMail <upstream>2.19.4</upstream>.
This app packages SnappyMail <upstream>2.19.6</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.19.4
VERSION=2.19.6
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.19.5</version>
<version>2.19.6</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

@ -50,7 +50,7 @@ class SnappyMailHelper
$bSave = true;
}
// Pre-configure some domains
// Pre-configure domain
$ocConfig = \OC::$server->getConfig();
if ($ocConfig->getAppValue('snappymail', 'snappymail-autologin', false)
|| $ocConfig->getAppValue('snappymail', 'snappymail-autologin-with-email', false)

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.19.4" );
return ( "2.19.6" );
}
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.19.4",
"version": "2.19.6",
"homepage": "https://snappymail.eu",
"author": {
"name": "DJ Maze",

View file

@ -202,7 +202,7 @@ $Plugin->addHook('hook.name', 'functionName');
### filter.domain
params:
\RainLoop\Model\Domain &$oDomain
\RainLoop\Model\Domain $oDomain
### filter.fabrica
params:

View file

@ -44,7 +44,7 @@ abstract class AbstractConfig implements \JsonSerializable
$this->sFileHeader = $sFileHeader;
$this->aData = $this->defaultValues();
$this->bUseApcCache = APP_USE_APCU_CACHE &&
$this->bUseApcCache = defined('APP_USE_APCU_CACHE') && APP_USE_APCU_CACHE &&
\MailSo\Base\Utils::FunctionsCallable(array('apcu_fetch', 'apcu_store'));
}

View file

@ -72,8 +72,6 @@ if (defined('MULTIDOMAIN')) {
define('APP_PRIVATE_DATA_NAME', $sPrivateDataFolderInternalName ?: '_default_');
unset($sPrivateDataFolderInternalName);
defined('APP_USE_APCU_CACHE') || define('APP_USE_APCU_CACHE', true);
if (!defined('APP_DATA_FOLDER_PATH')) {
$sCustomDataPath = function_exists('__get_custom_data_full_path') ? rtrim(trim(__get_custom_data_full_path()), '\\/') : $sCustomDataPath;
define('APP_DATA_FOLDER_PATH', strlen($sCustomDataPath) ? $sCustomDataPath.'/' : APP_INDEX_ROOT_PATH.'data/');
@ -90,18 +88,38 @@ $sData = is_file(APP_DATA_FOLDER_PATH.'DATA.php') ? file_get_contents(APP_DATA_F
define('APP_PRIVATE_DATA', APP_DATA_FOLDER_PATH.'_data_'.($sData ? md5($sData) : '').'/'.APP_PRIVATE_DATA_NAME.'/');
define('APP_PLUGINS_PATH', APP_PRIVATE_DATA.'plugins/');
// installation checking data folder
if (APP_VERSION !== (is_file(APP_DATA_FOLDER_PATH.'INSTALLED') ? file_get_contents(APP_DATA_FOLDER_PATH.'INSTALLED') : '')
|| !is_dir(APP_PRIVATE_DATA))
{
include APP_VERSION_ROOT_PATH.'setup.php';
}
ini_set('default_charset', 'UTF-8');
ini_set('internal_encoding', 'UTF-8');
mb_internal_encoding('UTF-8');
mb_language('uni');
if (!defined('SNAPPYMAIL_LIBRARIES_PATH')) {
define('SNAPPYMAIL_LIBRARIES_PATH', rtrim(realpath(__DIR__), '\\/').'/app/libraries/');
if (false === set_include_path(SNAPPYMAIL_LIBRARIES_PATH . PATH_SEPARATOR . get_include_path())) {
exit('set_include_path() failed. Probably due to Apache config using php_admin_value instead of php_value');
}
spl_autoload_extensions('.php');
/** lowercase autoloader */
spl_autoload_register();
/** case-sensitive autoloader */
spl_autoload_register(function($sClassName){
$file = SNAPPYMAIL_LIBRARIES_PATH . strtr($sClassName, '\\', DIRECTORY_SEPARATOR) . '.php';
// if ($file = stream_resolve_include_path(strtr($sClassName, '\\', DIRECTORY_SEPARATOR) . '.php')) {
if (is_file($file)) {
include_once $file;
}
});
}
// installation checking data folder
if (APP_VERSION !== (is_file(APP_DATA_FOLDER_PATH.'INSTALLED') ? file_get_contents(APP_DATA_FOLDER_PATH.'INSTALLED') : '')
|| !is_dir(APP_PRIVATE_DATA))
{
include __DIR__ . '/setup.php';
}
$sSalt = is_file(APP_DATA_FOLDER_PATH.'SALT.php') ? trim(file_get_contents(APP_DATA_FOLDER_PATH.'SALT.php')) : '';
if (!$sSalt) {
// random salt
@ -142,26 +160,6 @@ if (!ini_get('zlib.output_compression') && !ini_get('brotli.output_compression')
}
}
if (!defined('RAINLOOP_APP_LIBRARIES_PATH')) {
define('RAINLOOP_APP_LIBRARIES_PATH', rtrim(realpath(__DIR__), '\\/').'/app/libraries/');
if (false === set_include_path(RAINLOOP_APP_LIBRARIES_PATH . PATH_SEPARATOR . get_include_path())) {
exit('set_include_path() failed. Probably due to Apache config using php_admin_value instead of php_value');
}
spl_autoload_extensions('.php');
/** lowercase autoloader */
spl_autoload_register();
/** case-sensitive autoloader */
spl_autoload_register(function($sClassName){
$file = RAINLOOP_APP_LIBRARIES_PATH . strtr($sClassName, '\\', DIRECTORY_SEPARATOR) . '.php';
// if ($file = stream_resolve_include_path(strtr($sClassName, '\\', DIRECTORY_SEPARATOR) . '.php')) {
if (is_file($file)) {
include_once $file;
}
});
}
if (class_exists('RainLoop\\Api')) {
RainLoop\Api::Handle();
// NextCloud/OwnCloud?

View file

@ -156,10 +156,7 @@ if (defined('APP_VERSION'))
}
}
// require __DIR__ . '/app/libraries/snappymail/idn.php';
// require __DIR__ . '/app/libraries/snappymail/intl/idn.php';
// $sName = \SnappyMail\IDN::toAscii(mb_strtolower(gethostname()));
$sName = mb_strtolower(gethostname());
$sName = \SnappyMail\IDN::toAscii(mb_strtolower(gethostname()));
$sFile = APP_PRIVATE_DATA.'domains/'.$sName.'.json';
if (!file_exists($sFile) && !file_exists(APP_PRIVATE_DATA.'domains/'.$sName.'.ini')) {
$config = json_decode(file_get_contents(__DIR__ . '/app/domains/default.json'), true);