Update SnappyMail repository references to nextgen-networks

Replaced references to https://github.com/the-djmaze/snappymail with
https://github.com/nextgen-networks/snappymail/ across the repository,
excluding README files as requested.

The replacement handles trailing slashes carefully to ensure bare URLs
include the slash while sub-paths (like /issues/ or .git) do not result
in double slashes. Files that already used the new domain were also
updated to ensure consistent trailing slash usage.

Co-authored-by: nextgen-networks <21206978+nextgen-networks@users.noreply.github.com>
This commit is contained in:
google-labs-jules[bot] 2026-02-20 11:18:25 +00:00
parent a88d24c38a
commit 0b86edb167
83 changed files with 844 additions and 844 deletions

View file

@ -31,7 +31,7 @@ If applicable, add screenshots to help explain your problem.
- Mode: [e.g. standalone, nextcloud, cyberpanel, docker] - Mode: [e.g. standalone, nextcloud, cyberpanel, docker]
**Debug/logging information** **Debug/logging information**
[Read here how to log](https://github.com/the-djmaze/snappymail/wiki/FAQ#how-do-i-enable-logging) [Read here how to log](https://github.com/nextgen-networks/snappymail/wiki/FAQ#how-do-i-enable-logging)
- [ ] I've placed them here (few lines) or as attachments (many lines) - [ ] I've placed them here (few lines) or as attachments (many lines)
**Additional context** **Additional context**

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,7 @@
2. Install node.js - `https://nodejs.org/download/` 2. Install node.js - `https://nodejs.org/download/`
3. Install yarn - `https://yarnpkg.com/en/docs/install` 3. Install yarn - `https://yarnpkg.com/en/docs/install`
4. Install gulp - `npm install gulp -g` 4. Install gulp - `npm install gulp -g`
5. Fork snappymail from https://github.com/the-djmaze/snappymail 5. Fork snappymail from https://github.com/nextgen-networks/snappymail/
6. Clone snappymail - `git clone git@github.com:USERNAME/snappymail.git snappymail` 6. Clone snappymail - `git clone git@github.com:USERNAME/snappymail.git snappymail`
7. `cd snappymail` 7. `cd snappymail`
8. Install all dependencies - `yarn install` 8. Install all dependencies - `yarn install`

View file

@ -6,7 +6,7 @@ pkgrel=1
pkgdesc="modern PHP webmail client" pkgdesc="modern PHP webmail client"
arch=('any') arch=('any')
license=('AGPL3') license=('AGPL3')
url="https://github.com/nextgen-networks/snappymail" url="https://github.com/nextgen-networks/snappymail/"
depends=('php-fpm') depends=('php-fpm')
makedepends=('php', 'nodejs' 'yarn' 'gulp', 'rollup') makedepends=('php', 'nodejs' 'yarn' 'gulp', 'rollup')
optdepends=('mariadb: storage backend for contacts' optdepends=('mariadb: storage backend for contacts'

View file

@ -53,7 +53,7 @@ passthru('mv '
passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR)); passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR));
// https://github.com/the-djmaze/snappymail/issues/185#issuecomment-1059420588 // https://github.com/nextgen-networks/snappymail/issues/185#issuecomment-1059420588
$cwd = getcwd(); $cwd = getcwd();
chdir($TARGET_DIR); chdir($TARGET_DIR);
passthru('dpkg-scanpackages . /dev/null > '.escapeshellarg($TARGET_DIR . 'Packages')); passthru('dpkg-scanpackages . /dev/null > '.escapeshellarg($TARGET_DIR . 'Packages'));

View file

@ -6,8 +6,8 @@ Recommends: php-intl, php-sodium, php-uuid
Suggests: php-sqlite3 | php-mysql | php-pgsql, php-curl, php-exif, php-gnupg, php-gd | php-gmagick | php-imagick, php-openssl, php-zip Suggests: php-sqlite3 | php-mysql | php-pgsql, php-curl, php-exif, php-gnupg, php-gd | php-gmagick | php-imagick, php-openssl, php-zip
Architecture: all Architecture: all
Homepage: https://snappymail.eu Homepage: https://snappymail.eu
Vcs-Browser: https://github.com/the-djmaze/snappymail Vcs-Browser: https://github.com/nextgen-networks/snappymail/
Vcs-Git: https://github.com/the-djmaze/snappymail.git Vcs-Git: https://github.com/nextgen-networks/snappymail.git
Description: SnappyMail is a PHP-based simple, modern, lightweight & fast web-based email client with no database requirements. Description: SnappyMail is a PHP-based simple, modern, lightweight & fast web-based email client with no database requirements.
It supports IMAP, SMTP and Sieve protocols, multiple accounts and identities, an admin panel for configuration. It supports IMAP, SMTP and Sieve protocols, multiple accounts and identities, an admin panel for configuration.
Plugins can be installed to further extend functionality. Plugins can be installed to further extend functionality.

View file

@ -207,7 +207,7 @@ if ($options['aur']) {
pkgdesc = modern PHP webmail client pkgdesc = modern PHP webmail client
pkgver = '.$package->version.' pkgver = '.$package->version.'
pkgrel = 1 pkgrel = 1
url = https://github.com/nextgen-networks/snappymail url = https://github.com/nextgen-networks/snappymail/
arch = any arch = any
license = AGPL3 license = AGPL3
makedepends = php makedepends = php

View file

@ -308,16 +308,16 @@ export const
// Not supported by <template> element // Not supported by <template> element
// .replace(/<!doctype[^>]*>/gi, '') // .replace(/<!doctype[^>]*>/gi, '')
// .replace(/<\?xml[^>]*\?>/gi, '') // .replace(/<\?xml[^>]*\?>/gi, '')
// https://github.com/the-djmaze/snappymail/issues/1860 // https://github.com/nextgen-networks/snappymail/issues/1860
.replace(/<(\/?)x-html(\s[^>]*)?>/gi, '') .replace(/<(\/?)x-html(\s[^>]*)?>/gi, '')
.replace(/<(\/?)head(\s[^>]*)?>/gi, '') .replace(/<(\/?)head(\s[^>]*)?>/gi, '')
.replace(/<(\/?)body(\s[^>]*)?>/gi, '<$1div class="mail-body"$2>') .replace(/<(\/?)body(\s[^>]*)?>/gi, '<$1div class="mail-body"$2>')
// .replace(/<\/?(html|head)[^>]*>/gi, '') // .replace(/<\/?(html|head)[^>]*>/gi, '')
// Fix Reddit https://github.com/the-djmaze/snappymail/issues/540 // Fix Reddit https://github.com/nextgen-networks/snappymail/issues/540
.replace(/<span class="preview-text"[\s\S]+?<\/span>/, '') .replace(/<span class="preview-text"[\s\S]+?<\/span>/, '')
// https://github.com/the-djmaze/snappymail/issues/900 // https://github.com/nextgen-networks/snappymail/issues/900
.replace(/\u2028/g,' ') .replace(/\u2028/g,' ')
// https://github.com/the-djmaze/snappymail/issues/1415 // https://github.com/nextgen-networks/snappymail/issues/1415
.replace(/<br>\s*<\/p>/gi,'</p>') .replace(/<br>\s*<\/p>/gi,'</p>')
.trim(); .trim();
html = ''; html = '';
@ -343,7 +343,7 @@ export const
} }
}); });
// https://github.com/the-djmaze/snappymail/issues/1125 // https://github.com/nextgen-networks/snappymail/issues/1125
tmpl.content.querySelectorAll(keepTagContent).forEach(oElement => replaceWithChildren(oElement)); tmpl.content.querySelectorAll(keepTagContent).forEach(oElement => replaceWithChildren(oElement));
tmpl.content.querySelectorAll( tmpl.content.querySelectorAll(
@ -359,7 +359,7 @@ export const
}); });
*/ */
// https://github.com/the-djmaze/snappymail/issues/1641 // https://github.com/nextgen-networks/snappymail/issues/1641
let body = tmpl.content.querySelector('.mail-body'); let body = tmpl.content.querySelector('.mail-body');
[...tmpl.content.querySelectorAll('.mail-body + .mail-body')] [...tmpl.content.querySelectorAll('.mail-body + .mail-body')]
.forEach(oElement => body.append(...oElement.childNodes)); .forEach(oElement => body.append(...oElement.childNodes));
@ -626,7 +626,7 @@ export const
setAttribute('data-x-style-broken-urls', JSON.stringify(urls_broken)); setAttribute('data-x-style-broken-urls', JSON.stringify(urls_broken));
} }
/* /*
// https://github.com/the-djmaze/snappymail/issues/1082 // https://github.com/nextgen-networks/snappymail/issues/1082
if (11 > pInt(oStyle.fontSize)) { if (11 > pInt(oStyle.fontSize)) {
oStyle.removeProperty('font-size'); oStyle.removeProperty('font-size');
} }
@ -775,7 +775,7 @@ export const
plain = plain.toString() plain = plain.toString()
.replace(/\r/g, '') .replace(/\r/g, '')
.replace(/^>[> ]>+/gm, ([match]) => (match ? match.replace(/[ ]+/g, '') : match)) .replace(/^>[> ]>+/gm, ([match]) => (match ? match.replace(/[ ]+/g, '') : match))
// https://github.com/the-djmaze/snappymail/issues/900 // https://github.com/nextgen-networks/snappymail/issues/900
.replace(/\u2028/g,' '); .replace(/\u2028/g,' ');
let bIn = false, let bIn = false,

View file

@ -56,7 +56,7 @@ loadAccountsAndIdentities = () => {
); );
// Invoke "Update Identity" pop up right after login // Invoke "Update Identity" pop up right after login
// https://github.com/the-djmaze/snappymail/issues/1689 // https://github.com/nextgen-networks/snappymail/issues/1689
const main = IdentityUserStore.main(); const main = IdentityUserStore.main();
main && !main.exists() && setTimeout(()=>editIdentity(main), 1000); main && !main.exists() && setTimeout(()=>editIdentity(main), 1000);
} }
@ -69,7 +69,7 @@ loadAccountsAndIdentities = () => {
*/ */
download = (link, name = "") => { download = (link, name = "") => {
console.log('download: '+link); console.log('download: '+link);
// Firefox 98 issue https://github.com/the-djmaze/snappymail/issues/301 // Firefox 98 issue https://github.com/nextgen-networks/snappymail/issues/301
if (ThemeStore.isMobile() || /firefox/i.test(navigator.userAgent)) { if (ThemeStore.isMobile() || /firefox/i.test(navigator.userAgent)) {
open(link, '_blank'); open(link, '_blank');
focus(); focus();

View file

@ -143,7 +143,7 @@ export class EmailAddressesComponent {
datalist.append(new Option(item)); datalist.append(new Option(item));
chars = Math.max(chars, item.length); chars = Math.max(chars, item.length);
}); });
// https://github.com/the-djmaze/snappymail/issues/368 and #513 // https://github.com/nextgen-networks/snappymail/issues/368 and #513
chars *= 8; chars *= 8;
if (input.clientWidth < chars) { if (input.clientWidth < chars) {
input.style.width = chars + 'px'; input.style.width = chars + 'px';

View file

@ -38,13 +38,13 @@ class SquireUI
const const
clr = createElement('input'), clr = createElement('input'),
doClr = name => input => { doClr = name => input => {
// https://github.com/the-djmaze/snappymail/issues/826 // https://github.com/nextgen-networks/snappymail/issues/826
clr.style.left = (input.offsetLeft + input.parentNode.offsetLeft) + 'px'; clr.style.left = (input.offsetLeft + input.parentNode.offsetLeft) + 'px';
clr.style.width = input.offsetWidth + 'px'; clr.style.width = input.offsetWidth + 'px';
clr.value = ''; clr.value = '';
clr.onchange = () => squire.setStyle({[name]:clr.value}); clr.onchange = () => squire.setStyle({[name]:clr.value});
// Chrome 110+ https://github.com/the-djmaze/snappymail/issues/1199 // Chrome 110+ https://github.com/nextgen-networks/snappymail/issues/1199
// clr.oninput = () => squire.setStyle({[name]:clr.value}); // clr.oninput = () => squire.setStyle({[name]:clr.value});
setTimeout(()=>clr.click(),1); setTimeout(()=>clr.click(),1);
}, },
@ -263,7 +263,7 @@ class SquireUI
clr.type = 'color'; clr.type = 'color';
toolbar.append(clr); toolbar.append(clr);
// Chrome https://github.com/the-djmaze/snappymail/issues/1199 // Chrome https://github.com/nextgen-networks/snappymail/issues/1199
let clrid = 'squire-colors', let clrid = 'squire-colors',
colorlist = doc.getElementById(clrid), colorlist = doc.getElementById(clrid),
add = hex => colorlist.append(new Option(hex)); add = hex => colorlist.append(new Option(hex));

View file

@ -438,8 +438,8 @@ export class FolderModel extends AbstractModel {
/* /*
{ {
// TODO: make this optional in Settings // TODO: make this optional in Settings
// https://github.com/the-djmaze/snappymail/issues/457 // https://github.com/nextgen-networks/snappymail/issues/457
// https://github.com/the-djmaze/snappymail/issues/567 // https://github.com/nextgen-networks/snappymail/issues/567
const const
unread = this.unreadEmails(), unread = this.unreadEmails(),
type = this.type(); type = this.type();

View file

@ -47,7 +47,7 @@ fetchJSON = (action, sUrl, params, timeout, jsonCallback) => {
params.Action = action; params.Action = action;
} }
} }
// Don't abort, read https://github.com/the-djmaze/snappymail/issues/487 // Don't abort, read https://github.com/nextgen-networks/snappymail/issues/487
// abort(action, 0, 1); // abort(action, 0, 1);
const controller = new AbortController(), const controller = new AbortController(),
signal = controller.signal; signal = controller.signal;

View file

@ -77,7 +77,7 @@ export class UserSettingsSecurity extends AbstractViewSettings {
*/ */
window.mailvelope && mailvelope.createSettingsContainer('#mailvelope-settings'/*[, keyring], options*/); window.mailvelope && mailvelope.createSettingsContainer('#mailvelope-settings'/*[, keyring], options*/);
/** /**
* https://github.com/the-djmaze/snappymail/issues/973 * https://github.com/nextgen-networks/snappymail/issues/973
Remote.request('GetStoredPGPKeys', (iError, data) => { Remote.request('GetStoredPGPKeys', (iError, data) => {
console.dir([iError, data]); console.dir([iError, data]);
}); });

View file

@ -10,7 +10,7 @@ let __themeTimer = 0;
export const export const
// Also see Styles/_Values.less @maxMobileWidth // Also see Styles/_Values.less @maxMobileWidth
isMobile = matchMedia('(max-width: 799px)'), isMobile = matchMedia('(max-width: 799px)'),
// https://github.com/the-djmaze/snappymail/issues/1150 // https://github.com/nextgen-networks/snappymail/issues/1150
// isSmall = matchMedia('(max-width: 1400px)'), // isSmall = matchMedia('(max-width: 1400px)'),
ThemeStore = { ThemeStore = {

View file

@ -508,7 +508,7 @@ MessagelistUserStore.moveMessages = (
} else { } else {
MessagelistUserStore.isIncomplete(true); MessagelistUserStore.isIncomplete(true);
// Select next email https://github.com/the-djmaze/snappymail/issues/968 // Select next email https://github.com/nextgen-networks/snappymail/issues/968
if (currentMessage && 1 == messages.length && SettingsUserStore.showNextMessage()) { if (currentMessage && 1 == messages.length && SettingsUserStore.showNextMessage()) {
let next = MessagelistUserStore.indexOf(currentMessage) + 1; let next = MessagelistUserStore.indexOf(currentMessage) + 1;
if (0 < next && (next = MessagelistUserStore()[next])) { if (0 < next && (next = MessagelistUserStore()[next])) {

View file

@ -79,7 +79,7 @@ dialog:not(.animate) {
} }
/** /**
* https://github.com/the-djmaze/snappymail/issues/686 * https://github.com/nextgen-networks/snappymail/issues/686
*/ */
@media screen and (max-width: @maxMobileWidth) { @media screen and (max-width: @maxMobileWidth) {
dialog { dialog {

View file

@ -17,7 +17,7 @@
width: 100%; width: 100%;
} }
/* https://github.com/the-djmaze/snappymail/issues/1427 */ /* https://github.com/nextgen-networks/snappymail/issues/1427 */
#V-MailFolderList .e-checkbox { #V-MailFolderList .e-checkbox {
margin: 0 4px; margin: 0 4px;
width: calc(100% - 8px); width: calc(100% - 8px);

View file

@ -968,7 +968,7 @@ export class ComposePopupView extends AbstractViewPopup {
// no default // no default
} }
// https://github.com/the-djmaze/snappymail/issues/491 // https://github.com/nextgen-networks/snappymail/issues/491
tpl.innerHTML = oLastMessage.bodyAsHTML(); tpl.innerHTML = oLastMessage.bodyAsHTML();
tpl.content.querySelectorAll('img').forEach(img => { tpl.content.querySelectorAll('img').forEach(img => {
img.src || img.dataset.xSrc || img.replaceWith(img.alt || img.title) img.src || img.dataset.xSrc || img.replaceWith(img.alt || img.title)

View file

@ -269,7 +269,7 @@ export class DomainPopupView extends AbstractViewPopup {
testConnectionCommand() { testConnectionCommand() {
this.clearTesting(); this.clearTesting();
// https://github.com/the-djmaze/snappymail/issues/477 // https://github.com/nextgen-networks/snappymail/issues/477
AskPopupView.credentials('IMAP', 'GLOBAL/TEST').then(credentials => { AskPopupView.credentials('IMAP', 'GLOBAL/TEST').then(credentials => {
if (credentials) { if (credentials) {
this.testing(true); this.testing(true);

View file

@ -10,7 +10,7 @@ Content-Type: text/plain; charset=us-ascii; format=flowed
Test message body with example TNEF part from Test message body with example TNEF part from
https://github.com/Yeraze/ytnef https://github.com/Yeraze/ytnef
https://github.com/the-djmaze/snappymail/discussions/1012 https://github.com/nextgen-networks/snappymail/discussions/1012
--=-2UbcDuksJBAwUNBNW7UD --=-2UbcDuksJBAwUNBNW7UD
Content-Type: application/vnd.ms-tnef Content-Type: application/vnd.ms-tnef

View file

@ -5,7 +5,7 @@ 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.38.2 VERSION=2.38.2
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \ RUN wget https://github.com/nextgen-networks/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 && \
find /app/code/snappymail -type d -exec chmod 755 {} \; && \ find /app/code/snappymail -type d -exec chmod 755 {} \; && \

View file

@ -17,4 +17,4 @@ In the SnappyMail admin prompt, the default login is "admin" and the default pas
This is it, you are now free to configure SnappyMail as you wish. One important point is the Domains section when you will set up the IMAP/SMTP parameters that shall be associated with the email adresses of your users. This is it, you are now free to configure SnappyMail as you wish. One important point is the Domains section when you will set up the IMAP/SMTP parameters that shall be associated with the email adresses of your users.
STUCK IN MAINTENANCE: STUCK IN MAINTENANCE:
https://github.com/the-djmaze/snappymail/issues/929 https://github.com/nextgen-networks/snappymail/issues/929

View file

@ -25,20 +25,20 @@ There, click on the link to go to the SnappyMail admin panel.
]]></description> ]]></description>
<namespace>SnappyMail</namespace> <namespace>SnappyMail</namespace>
<documentation> <documentation>
<user>https://github.com/the-djmaze/snappymail/blob/master/integrations/nextcloud/snappymail/README.md</user> <user>https://github.com/nextgen-networks/snappymail/blob/master/integrations/nextcloud/snappymail/README.md</user>
<admin>https://github.com/the-djmaze/snappymail/wiki/Admin-Manual</admin> <admin>https://github.com/nextgen-networks/snappymail/wiki/Admin-Manual</admin>
<developer>https://github.com/the-djmaze/snappymail/wiki/Developer-Documentation</developer> <developer>https://github.com/nextgen-networks/snappymail/wiki/Developer-Documentation</developer>
<website>https://github.com/the-djmaze/snappymail/wiki</website> <website>https://github.com/nextgen-networks/snappymail/wiki</website>
</documentation> </documentation>
<category>integration</category> <category>integration</category>
<category>office</category> <category>office</category>
<category>search</category> <category>search</category>
<category>social</category> <category>social</category>
<screenshot>https://raw.githubusercontent.com/the-djmaze/snappymail/master/integrations/nextcloud/screenshots/inbox.jpg</screenshot> <screenshot>https://raw.githubusercontent.com/nextgen-networks/snappymail/master/integrations/nextcloud/screenshots/inbox.jpg</screenshot>
<website>https://snappymail.eu</website> <website>https://snappymail.eu</website>
<discussion>https://github.com/the-djmaze/snappymail/discussions</discussion> <discussion>https://github.com/nextgen-networks/snappymail/discussions</discussion>
<repository>https://github.com/the-djmaze/snappymail/tree/master/integrations/nextcloud</repository> <repository>https://github.com/nextgen-networks/snappymail/tree/master/integrations/nextcloud</repository>
<bugs>https://github.com/the-djmaze/snappymail/issues</bugs> <bugs>https://github.com/nextgen-networks/snappymail/issues</bugs>
<dependencies> <dependencies>
<php min-version="7.4" min-int-size="32" /> <php min-version="7.4" min-int-size="32" />
<lib>mbstring</lib> <lib>mbstring</lib>

View file

@ -84,7 +84,7 @@ body > header ul {
/** /**
* Firefox < 98 * Firefox < 98
* https://github.com/the-djmaze/snappymail/issues/673 * https://github.com/nextgen-networks/snappymail/issues/673
*/ */
#rl-app dialog.polyfill { #rl-app dialog.polyfill {
margin-top: 50px; margin-top: 50px;
@ -93,7 +93,7 @@ body > header ul {
/** /**
* hampoelz * hampoelz
* https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1279783076 * https://github.com/nextgen-networks/snappymail/issues/96#issuecomment-1279783076
*/ */
.messageList { .messageList {

View file

@ -48,7 +48,7 @@ class InstallStep implements IRepairStep
$app_dir = \dirname(\dirname(__DIR__)) . '/app'; $app_dir = \dirname(\dirname(__DIR__)) . '/app';
// $app_dir = \rtrim(APP_INDEX_ROOT_PATH, '\\/'); // $app_dir = \rtrim(APP_INDEX_ROOT_PATH, '\\/');
// https://github.com/the-djmaze/snappymail/issues/790#issuecomment-1366527884 // https://github.com/nextgen-networks/snappymail/issues/790#issuecomment-1366527884
if (!\file_exists($app_dir . '/.htaccess') && \file_exists($app_dir . '/_htaccess')) { if (!\file_exists($app_dir . '/.htaccess') && \file_exists($app_dir . '/_htaccess')) {
\rename($app_dir . '/_htaccess', $app_dir . '/.htaccess'); \rename($app_dir . '/_htaccess', $app_dir . '/.htaccess');
} }
@ -125,7 +125,7 @@ class InstallStep implements IRepairStep
// check if admins provided additional/custom initial config file // check if admins provided additional/custom initial config file
// https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#setting-a-single-configuration-value // https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#setting-a-single-configuration-value
// ex: php occ config:app:set snappymail custom_config_file --value="/path/to/config.php" // ex: php occ config:app:set snappymail custom_config_file --value="/path/to/config.php"
// https://github.com/the-djmaze/snappymail/pull/1197 // https://github.com/nextgen-networks/snappymail/pull/1197
try { try {
$customConfigFile = $this->config->getAppValue(Application::APP_ID, 'custom_config_file'); $customConfigFile = $this->config->getAppValue(Application::APP_ID, 'custom_config_file');
if ($customConfigFile) { if ($customConfigFile) {

View file

@ -82,7 +82,7 @@ class SnappyMailHelper
$aCredentials = static::getLoginCredentials(); $aCredentials = static::getLoginCredentials();
/* /*
// NC25+ workaround for Impersonate plugin // NC25+ workaround for Impersonate plugin
// https://github.com/the-djmaze/snappymail/issues/561#issuecomment-1301317723 // https://github.com/nextgen-networks/snappymail/issues/561#issuecomment-1301317723
// https://github.com/nextcloud/server/issues/34935#issuecomment-1302145157 // https://github.com/nextcloud/server/issues/34935#issuecomment-1302145157
require \OC::$SERVERROOT . '/version.php'; require \OC::$SERVERROOT . '/version.php';
// \OC\SystemConfig // \OC\SystemConfig
@ -128,7 +128,7 @@ class SnappyMailHelper
if ($handle) { if ($handle) {
\header_remove('Content-Security-Policy'); \header_remove('Content-Security-Policy');
\RainLoop\Service::Handle(); \RainLoop\Service::Handle();
// https://github.com/the-djmaze/snappymail/issues/1069 // https://github.com/nextgen-networks/snappymail/issues/1069
exit; exit;
// return new SnappyMailResponse(); // return new SnappyMailResponse();
} }

View file

@ -5,16 +5,16 @@
## Changed ## Changed
- A lot of MessageList sorting improvements - A lot of MessageList sorting improvements
[#796](https://github.com/the-djmaze/snappymail/pull/796) [#796](https://github.com/nextgen-networks/snappymail/pull/796)
- On upgrade also update plugins in Nextcloud due to many misunderstandings and prevent invalid open issues - On upgrade also update plugins in Nextcloud due to many misunderstandings and prevent invalid open issues
- Moved application.ini labs.use_app_debug_* to debug.* - Moved application.ini labs.use_app_debug_* to debug.*
## Fixed ## Fixed
- Dutch translation for confusing message (threads vs grouped) - Dutch translation for confusing message (threads vs grouped)
- Workaround Nextcloud disallowed .htaccess - Workaround Nextcloud disallowed .htaccess
[#790](https://github.com/the-djmaze/snappymail/pull/790) [#790](https://github.com/nextgen-networks/snappymail/pull/790)
- Searching on Nextcloud search failed - Searching on Nextcloud search failed
[#787](https://github.com/the-djmaze/snappymail/pull/787) [#787](https://github.com/nextgen-networks/snappymail/pull/787)
## 2.24.3 2022-12-28 ## 2.24.3 2022-12-28
@ -24,32 +24,32 @@
## Fixed ## Fixed
- F5 and Ctrl-F5 reload logs out of Snappymail in Chrome. - F5 and Ctrl-F5 reload logs out of Snappymail in Chrome.
[#800](https://github.com/the-djmaze/snappymail/pull/800) [#800](https://github.com/nextgen-networks/snappymail/pull/800)
- Switching accounts does not work anymore with 2.24.2 - Switching accounts does not work anymore with 2.24.2
[#802](https://github.com/the-djmaze/snappymail/pull/802) [#802](https://github.com/nextgen-networks/snappymail/pull/802)
## 2.24.2 2022-12-27 ## 2.24.2 2022-12-27
### Changed ### Changed
- Disable sorting when viewing message thread - Disable sorting when viewing message thread
[#445](https://github.com/the-djmaze/snappymail/pull/445) [#445](https://github.com/nextgen-networks/snappymail/pull/445)
- Update Chinese translation by @mayswind - Update Chinese translation by @mayswind
[#794](https://github.com/the-djmaze/snappymail/pull/794) [#794](https://github.com/nextgen-networks/snappymail/pull/794)
- No need to call IMAP EXAMINE when current folder already SELECT - No need to call IMAP EXAMINE when current folder already SELECT
- Thread view now has tree indentation - Thread view now has tree indentation
### Fixed ### Fixed
- Nextcloud failed on Integrity check - Nextcloud failed on Integrity check
[#790](https://github.com/the-djmaze/snappymail/pull/790) [#790](https://github.com/nextgen-networks/snappymail/pull/790)
- Deleting message fails with message "Cannot move message" on hMailServer - Deleting message fails with message "Cannot move message" on hMailServer
[#793](https://github.com/the-djmaze/snappymail/pull/793) [#793](https://github.com/nextgen-networks/snappymail/pull/793)
- List messages per day feature is enabled by default and breaks sorting - List messages per day feature is enabled by default and breaks sorting
[#796](https://github.com/the-djmaze/snappymail/pull/796) [#796](https://github.com/nextgen-networks/snappymail/pull/796)
- Custom page login not working for first time due to smctoken security - Custom page login not working for first time due to smctoken security
[#798](https://github.com/the-djmaze/snappymail/pull/798) [#798](https://github.com/nextgen-networks/snappymail/pull/798)
- Message list is always empty due to wrong implementation of RFC 8474 - Message list is always empty due to wrong implementation of RFC 8474
[#799](https://github.com/the-djmaze/snappymail/pull/799) [#799](https://github.com/nextgen-networks/snappymail/pull/799)
## 2.24.1 2022-12-23 ## 2.24.1 2022-12-23
@ -58,15 +58,15 @@
- Intl.DateTimeFormat() into toLocaleString() for iOS < 14 - Intl.DateTimeFormat() into toLocaleString() for iOS < 14
- Cleanup locale date/time handling - Cleanup locale date/time handling
- Make MessageList per day optional - Make MessageList per day optional
[#737](https://github.com/the-djmaze/snappymail/pull/737) [#737](https://github.com/nextgen-networks/snappymail/pull/737)
### Fixed ### Fixed
- Typed property MailSo\Cache\Drivers\Redis::$sKeyPrefix must not be accessed before initialization #792 - Typed property MailSo\Cache\Drivers\Redis::$sKeyPrefix must not be accessed before initialization #792
[#792](https://github.com/the-djmaze/snappymail/pull/792) [#792](https://github.com/nextgen-networks/snappymail/pull/792)
- Attachments in mails in 2.24 not loading in reply/forward #789 - Attachments in mails in 2.24 not loading in reply/forward #789
[#789](https://github.com/the-djmaze/snappymail/pull/789) [#789](https://github.com/nextgen-networks/snappymail/pull/789)
- Rollback #280 due to complications - Rollback #280 due to complications
[#280](https://github.com/the-djmaze/snappymail/pull/280) [#280](https://github.com/nextgen-networks/snappymail/pull/280)
## 2.24.0 2022-12-22 ## 2.24.0 2022-12-22
@ -79,24 +79,24 @@
### Changed ### Changed
- MessageList now grouped/split per day - MessageList now grouped/split per day
[#737](https://github.com/the-djmaze/snappymail/pull/737) [#737](https://github.com/nextgen-networks/snappymail/pull/737)
- Account switcher still shown when allow_additional_accounts is set to Off - Account switcher still shown when allow_additional_accounts is set to Off
[#280](https://github.com/the-djmaze/snappymail/pull/280) [#280](https://github.com/nextgen-networks/snappymail/pull/280)
- PHP classes use typed properties - PHP classes use typed properties
- Speedup Contacts Suggestions handling - Speedup Contacts Suggestions handling
- Check SMTP SIZE - Check SMTP SIZE
[#779](https://github.com/the-djmaze/snappymail/pull/779) [#779](https://github.com/nextgen-networks/snappymail/pull/779)
### Fixed ### Fixed
- Handle multiple DKIM signatures authentication results - Handle multiple DKIM signatures authentication results
- Reload admin extensions on update - Reload admin extensions on update
- SieveClient quoted string parsing failed - SieveClient quoted string parsing failed
- Invalid Attachments (PDF) - Invalid Attachments (PDF)
[#466](https://github.com/the-djmaze/snappymail/pull/466) [#466](https://github.com/nextgen-networks/snappymail/pull/466)
- Email HTML images rendering issue - Email HTML images rendering issue
[#564](https://github.com/the-djmaze/snappymail/pull/564) [#564](https://github.com/nextgen-networks/snappymail/pull/564)
- "Server message: No supported SASL mechanism found, remote server wants:" in hMailServer - "Server message: No supported SASL mechanism found, remote server wants:" in hMailServer
[#780](https://github.com/the-djmaze/snappymail/pull/780) [#780](https://github.com/nextgen-networks/snappymail/pull/780)
### Removed ### Removed
- Some unused plugin hooks to improve Action handling speed - Some unused plugin hooks to improve Action handling speed
@ -111,16 +111,16 @@
- Merge MailSo\Mail\Folder into MailSo\Imap\Folder and speedup process - Merge MailSo\Mail\Folder into MailSo\Imap\Folder and speedup process
- SnappyMail\Imap\Sync now matches folders based on JMAP role - SnappyMail\Imap\Sync now matches folders based on JMAP role
- Added the new imapsync.php command line script for - Added the new imapsync.php command line script for
[#744](https://github.com/the-djmaze/snappymail/pull/744) [#744](https://github.com/nextgen-networks/snappymail/pull/744)
- Added manual setting for 12/24h clock - Added manual setting for 12/24h clock
[#760](https://github.com/the-djmaze/snappymail/pull/760) [#760](https://github.com/nextgen-networks/snappymail/pull/760)
- Add options to mark the message I'm viewing as unread and return to the inbox #766 - Add options to mark the message I'm viewing as unread and return to the inbox #766
### Fixed ### Fixed
- Extension menu shows only some available extensions #778 - Extension menu shows only some available extensions #778
- New solution for [#423](https://github.com/the-djmaze/snappymail/pull/423) due to [#774](https://github.com/the-djmaze/snappymail/pull/774) - New solution for [#423](https://github.com/nextgen-networks/snappymail/pull/423) due to [#774](https://github.com/nextgen-networks/snappymail/pull/774)
- Avatars extension error on smartphone - Avatars extension error on smartphone
[#764](https://github.com/the-djmaze/snappymail/pull/764) [#764](https://github.com/nextgen-networks/snappymail/pull/764)
- Don't fetch Unread count for main account - Don't fetch Unread count for main account
- CSS .e-checkbox.material-design invisible on show/hide - CSS .e-checkbox.material-design invisible on show/hide
@ -129,33 +129,33 @@
### Added ### Added
- Show the number of unread mails on all mail addresses/accounts - Show the number of unread mails on all mail addresses/accounts
[#437](https://github.com/the-djmaze/snappymail/pull/437) [#437](https://github.com/nextgen-networks/snappymail/pull/437)
- Show OpenSSL version in Admin => About - Show OpenSSL version in Admin => About
### Changed ### Changed
- Redirect to login page instead of "invalid token" popup - Redirect to login page instead of "invalid token" popup
[#752](https://github.com/the-djmaze/snappymail/pull/752) [#752](https://github.com/nextgen-networks/snappymail/pull/752)
- Make all dialogs fit in mobile view - Make all dialogs fit in mobile view
- Changed some Plugin hooks for better handling: - Changed some Plugin hooks for better handling:
* json.action-pre-call => json.before-{actionname} * json.action-pre-call => json.before-{actionname}
* json.action-post-call => json.after-{actionname} * json.action-post-call => json.after-{actionname}
- Cleaner accounts list in systemdropdown - Cleaner accounts list in systemdropdown
- Multiple imapConnect handling for new import mail feature - Multiple imapConnect handling for new import mail feature
[#744](https://github.com/the-djmaze/snappymail/pull/744) [#744](https://github.com/nextgen-networks/snappymail/pull/744)
### Fixed ### Fixed
- Loosing HTML signature in account identity under settings - Loosing HTML signature in account identity under settings
[#750](https://github.com/the-djmaze/snappymail/pull/750) [#750](https://github.com/nextgen-networks/snappymail/pull/750)
- Plugin configuration did not load anymore when type was SELECTION by @cm-schl - Plugin configuration did not load anymore when type was SELECTION by @cm-schl
[#753](https://github.com/the-djmaze/snappymail/pull/753) [#753](https://github.com/nextgen-networks/snappymail/pull/753)
- Nextcloud Default theme shows gray text on gray background - Nextcloud Default theme shows gray text on gray background
[#754](https://github.com/the-djmaze/snappymail/pull/754) [#754](https://github.com/nextgen-networks/snappymail/pull/754)
- Only run JSON hooks when $sAction is set - Only run JSON hooks when $sAction is set
[#755](https://github.com/the-djmaze/snappymail/pull/755) [#755](https://github.com/nextgen-networks/snappymail/pull/755)
- Unsupported SASL mechanism OAUTHBEARER - Unsupported SASL mechanism OAUTHBEARER
[#756](https://github.com/the-djmaze/snappymail/pull/756) [#756](https://github.com/nextgen-networks/snappymail/pull/756)
[#758](https://github.com/the-djmaze/snappymail/pull/758) [#758](https://github.com/nextgen-networks/snappymail/pull/758)
[#759](https://github.com/the-djmaze/snappymail/pull/759) [#759](https://github.com/nextgen-networks/snappymail/pull/759)
- border-box issue with .buttonCompose - border-box issue with .buttonCompose
### Removed ### Removed
@ -166,15 +166,15 @@
### Changed ### Changed
- Scroll bar with the mobile version in "Advanced search" screen - Scroll bar with the mobile version in "Advanced search" screen
[#712](https://github.com/the-djmaze/snappymail/pull/712) [#712](https://github.com/nextgen-networks/snappymail/pull/712)
### Fixed ### Fixed
- Undefined property: MailSo\Mail\FolderCollection::$capabilities - Undefined property: MailSo\Mail\FolderCollection::$capabilities
- PHP 8.2 Creation of dynamic property is deprecated - PHP 8.2 Creation of dynamic property is deprecated
- Attempt to solve #745 in v2.22.6 failed and resulted in errors #746 and #748 - Attempt to solve #745 in v2.22.6 failed and resulted in errors #746 and #748
[#745](https://github.com/the-djmaze/snappymail/pull/745) [#745](https://github.com/nextgen-networks/snappymail/pull/745)
[#746](https://github.com/the-djmaze/snappymail/pull/746) [#746](https://github.com/nextgen-networks/snappymail/pull/746)
[#748](https://github.com/the-djmaze/snappymail/pull/748) [#748](https://github.com/nextgen-networks/snappymail/pull/748)
- Admin domain test undefined matched domain should say email@example matched domain - Admin domain test undefined matched domain should say email@example matched domain
@ -182,15 +182,15 @@
### Changed ### Changed
- Narrow MessageList wraps star icon - Narrow MessageList wraps star icon
[#737](https://github.com/the-djmaze/snappymail/pull/737) [#737](https://github.com/nextgen-networks/snappymail/pull/737)
- Use UIDVALIDITY when HIGHESTMODSEQ not available, maybe solves - Use UIDVALIDITY when HIGHESTMODSEQ not available, maybe solves
[#745](https://github.com/the-djmaze/snappymail/pull/745) [#745](https://github.com/nextgen-networks/snappymail/pull/745)
- No need to generate 1000's of ID's for MessageListByRequestIndexOrUids() - No need to generate 1000's of ID's for MessageListByRequestIndexOrUids()
- Update Chinese translation by @mayswind - Update Chinese translation by @mayswind
### Fixed ### Fixed
- PluginProperty DefaultValue contained array while it should not - PluginProperty DefaultValue contained array while it should not
[#741](https://github.com/the-djmaze/snappymail/pull/741) [#741](https://github.com/nextgen-networks/snappymail/pull/741)
### Removed ### Removed
- IMAP SELECT/EXAMINE unset `UNSEEN` because IMAP4rev2 deprecated - IMAP SELECT/EXAMINE unset `UNSEEN` because IMAP4rev2 deprecated
@ -201,7 +201,7 @@
### Added ### Added
- Support plugin minified .min.js and .min.css - Support plugin minified .min.js and .min.css
- ZIP Download multiple emails - ZIP Download multiple emails
[#717](https://github.com/the-djmaze/snappymail/pull/717) [#717](https://github.com/nextgen-networks/snappymail/pull/717)
### Changed ### Changed
- Replaced some data-bind="click: function(){} with object functions to prevent eval() - Replaced some data-bind="click: function(){} with object functions to prevent eval()
@ -210,12 +210,12 @@
### Fixed ### Fixed
- Settings Themes style due to border-box change - Settings Themes style due to border-box change
- "Remember me" failed due to v2.22.4 Session token change - "Remember me" failed due to v2.22.4 Session token change
[#719](https://github.com/the-djmaze/snappymail/pull/719) [#719](https://github.com/nextgen-networks/snappymail/pull/719)
[#731](https://github.com/the-djmaze/snappymail/pull/731) [#731](https://github.com/nextgen-networks/snappymail/pull/731)
### Removed ### Removed
- Vacation filter: Button to add recipients (+) - Vacation filter: Button to add recipients (+)
[#728](https://github.com/the-djmaze/snappymail/pull/728) [#728](https://github.com/nextgen-networks/snappymail/pull/728)
## 2.22.4 2022-11-28 ## 2.22.4 2022-11-28
@ -223,19 +223,19 @@
### Changed ### Changed
- Contacts dialog layout using flex - Contacts dialog layout using flex
- Session token is related to the user agent string - Session token is related to the user agent string
[#713](https://github.com/the-djmaze/snappymail/pull/713) [#713](https://github.com/nextgen-networks/snappymail/pull/713)
- Better browser cache handling for avatars plugin - Better browser cache handling for avatars plugin
[#714](https://github.com/the-djmaze/snappymail/pull/714) [#714](https://github.com/nextgen-networks/snappymail/pull/714)
- Force HTML editor when set as default when replying to message - Force HTML editor when set as default when replying to message
[#355](https://github.com/the-djmaze/snappymail/pull/355) [#355](https://github.com/nextgen-networks/snappymail/pull/355)
### Fixed ### Fixed
- Contact Error - object Object - Contact Error - object Object
[#716](https://github.com/the-djmaze/snappymail/pull/716) [#716](https://github.com/nextgen-networks/snappymail/pull/716)
- Unable to move messages to different folder by drag and drop - Unable to move messages to different folder by drag and drop
[#710](https://github.com/the-djmaze/snappymail/pull/710) [#710](https://github.com/nextgen-networks/snappymail/pull/710)
- v2.22.3 unknown error - v2.22.3 unknown error
[#709https://github.com/the-djmaze/snappymail/pull/709) [#709https://github.com/nextgen-networks/snappymail/pull/709)
## 2.22.3 2022-11-25 ## 2.22.3 2022-11-25
@ -245,14 +245,14 @@
### Changed ### Changed
- Improved cPanel integration - Improved cPanel integration
[#697](https://github.com/the-djmaze/snappymail/pull/697) [#697](https://github.com/nextgen-networks/snappymail/pull/697)
- Update to OpenPGP.js v5.5.0 - Update to OpenPGP.js v5.5.0
### Fixed ### Fixed
- drag & drop folder expansion - drag & drop folder expansion
[#707](https://github.com/the-djmaze/snappymail/pull/707) [#707](https://github.com/nextgen-networks/snappymail/pull/707)
- Save selected messages as .eml in Nextcloud failed - Save selected messages as .eml in Nextcloud failed
[#704](https://github.com/the-djmaze/snappymail/pull/704) [#704](https://github.com/nextgen-networks/snappymail/pull/704)
## 2.22.2 2022-11-24 ## 2.22.2 2022-11-24
@ -265,50 +265,50 @@
### Added ### Added
- AddressBookInterface::GetContactByEmail() to support sender image/avatar extension - AddressBookInterface::GetContactByEmail() to support sender image/avatar extension
[#115](https://github.com/the-djmaze/snappymail/pull/115) [#115](https://github.com/nextgen-networks/snappymail/pull/115)
### Changed ### Changed
- All the attachment zone is not clickable, even if the cursor is a hand - All the attachment zone is not clickable, even if the cursor is a hand
[#691](https://github.com/the-djmaze/snappymail/pull/691) [#691](https://github.com/nextgen-networks/snappymail/pull/691)
- Different approach for "update button duplicated in admin panel" - Different approach for "update button duplicated in admin panel"
[#677](https://github.com/the-djmaze/snappymail/pull/677) [#677](https://github.com/nextgen-networks/snappymail/pull/677)
- Better drag & drop solution for leftPanel - Better drag & drop solution for leftPanel
### Fixed ### Fixed
- The page does not change after batch deletion - The page does not change after batch deletion
[#684](https://github.com/the-djmaze/snappymail/pull/684) [#684](https://github.com/nextgen-networks/snappymail/pull/684)
- Prevent domain uppercase issues found in - Prevent domain uppercase issues found in
[#689](https://github.com/the-djmaze/snappymail/pull/689) [#689](https://github.com/nextgen-networks/snappymail/pull/689)
- Login invalid response: VXNlcm5hbWU6CG - Login invalid response: VXNlcm5hbWU6CG
[#693](https://github.com/the-djmaze/snappymail/pull/693) [#693](https://github.com/nextgen-networks/snappymail/pull/693)
## 2.21.4 2022-11-22 ## 2.21.4 2022-11-22
### Added ### Added
- Added domain matcher test for - Added domain matcher test for
[#689](https://github.com/the-djmaze/snappymail/pull/689) [#689](https://github.com/nextgen-networks/snappymail/pull/689)
- Download all Attachments of selected Emails - Download all Attachments of selected Emails
[#361](https://github.com/the-djmaze/snappymail/pull/361) [#361](https://github.com/nextgen-networks/snappymail/pull/361)
### Changed ### Changed
- Log current shortcuts scope for - Log current shortcuts scope for
[#690](https://github.com/the-djmaze/snappymail/pull/690) [#690](https://github.com/nextgen-networks/snappymail/pull/690)
- CSS everything to be box-sizing: border-box; - CSS everything to be box-sizing: border-box;
- Make messageview a bit larger so that it is the same height as the messagelist - Make messageview a bit larger so that it is the same height as the messagelist
- Cleanup and rearrange some fontastic glyphs - Cleanup and rearrange some fontastic glyphs
- Also show From email address by default - Also show From email address by default
[#683](https://github.com/the-djmaze/snappymail/pull/683) [#683](https://github.com/nextgen-networks/snappymail/pull/683)
### Fixed ### Fixed
- Contact.display() returns [object Object] - Contact.display() returns [object Object]
- When left panel disabled and drag messages, show it - When left panel disabled and drag messages, show it
- Issue with admin domain connection type settings selectbox - Issue with admin domain connection type settings selectbox
[#689](https://github.com/the-djmaze/snappymail/pull/689) [#689](https://github.com/nextgen-networks/snappymail/pull/689)
- Mobile View on cellphones: automatic scrolling not working near the visual keyboard - Mobile View on cellphones: automatic scrolling not working near the visual keyboard
[#686](https://github.com/the-djmaze/snappymail/pull/686) [#686](https://github.com/nextgen-networks/snappymail/pull/686)
- Unable to separate runtime from installation - Unable to separate runtime from installation
[#685](https://github.com/the-djmaze/snappymail/pull/685) [#685](https://github.com/nextgen-networks/snappymail/pull/685)
### Removed ### Removed
- Removed inline parameter of checkbox and select components - Removed inline parameter of checkbox and select components
@ -321,18 +321,18 @@
### Changed ### Changed
- Increase visible reading area for small screens - Increase visible reading area for small screens
[#672](https://github.com/the-djmaze/snappymail/pull/672) [#672](https://github.com/nextgen-networks/snappymail/pull/672)
- Improved message spam score detailed view - Improved message spam score detailed view
- Improved DAV connection logging - Improved DAV connection logging
### Fixed ### Fixed
- Handling attachments MIME type / content-type - Handling attachments MIME type / content-type
- Message responsive resizing width/height of elements - Message responsive resizing width/height of elements
[#678](https://github.com/the-djmaze/snappymail/pull/678) [#678](https://github.com/nextgen-networks/snappymail/pull/678)
- Focus on textarea when creating a new plain text email - Focus on textarea when creating a new plain text email
[#501](https://github.com/the-djmaze/snappymail/pull/501) [#501](https://github.com/nextgen-networks/snappymail/pull/501)
- CardDav remove photos of my contacts when synchronizing - CardDav remove photos of my contacts when synchronizing
[#679](https://github.com/the-djmaze/snappymail/pull/679) [#679](https://github.com/nextgen-networks/snappymail/pull/679)
### Removed ### Removed
- \MailSo\Mime\Enumerations\MimeType - \MailSo\Mime\Enumerations\MimeType
@ -340,21 +340,21 @@
### Nextcloud ### Nextcloud
- Use fontastic in Nextcloud Files selector dialog - Use fontastic in Nextcloud Files selector dialog
- Firefox < 98 dialogs - Firefox < 98 dialogs
[#673](https://github.com/the-djmaze/snappymail/pull/673) [#673](https://github.com/nextgen-networks/snappymail/pull/673)
## 2.21.2 2022-11-15 ## 2.21.2 2022-11-15
### Added ### Added
- Allow browser Spellchecker - Allow browser Spellchecker
[#574](https://github.com/the-djmaze/snappymail/pull/574) [#574](https://github.com/nextgen-networks/snappymail/pull/574)
- Decode MIME charset of .EML attachments - Decode MIME charset of .EML attachments
[#662](https://github.com/the-djmaze/snappymail/pull/662) [#662](https://github.com/nextgen-networks/snappymail/pull/662)
### Changed ### Changed
- Increase message visible text area - Increase message visible text area
[#672](https://github.com/the-djmaze/snappymail/pull/672) [#672](https://github.com/nextgen-networks/snappymail/pull/672)
- When copy/paste image use the raw data instead of clipboard HTML - When copy/paste image use the raw data instead of clipboard HTML
[#654](https://github.com/the-djmaze/snappymail/pull/654) [#654](https://github.com/nextgen-networks/snappymail/pull/654)
- When application.ini debug.enable is true, also debug js and css - When application.ini debug.enable is true, also debug js and css
- JavaScript rl.setWindowTitle() renamed to rl.setTitle() - JavaScript rl.setWindowTitle() renamed to rl.setTitle()
@ -363,28 +363,28 @@
### Nextcloud ### Nextcloud
- Workaround Nextcloud calendar crashes - Workaround Nextcloud calendar crashes
[#622](https://github.com/the-djmaze/snappymail/pull/622) [#622](https://github.com/nextgen-networks/snappymail/pull/622)
[#661](https://github.com/the-djmaze/snappymail/pull/661) [#661](https://github.com/nextgen-networks/snappymail/pull/661)
- Added share public/internal file link - Added share public/internal file link
[#569](https://github.com/the-djmaze/snappymail/pull/569) [#569](https://github.com/nextgen-networks/snappymail/pull/569)
## 2.21.1 2022-11-13 ## 2.21.1 2022-11-13
### Fixed ### Fixed
- Crypt crashes when Sodium not installed - Crypt crashes when Sodium not installed
[#641](https://github.com/the-djmaze/snappymail/pull/641) [#641](https://github.com/nextgen-networks/snappymail/pull/641)
[#657](https://github.com/the-djmaze/snappymail/pull/657) [#657](https://github.com/nextgen-networks/snappymail/pull/657)
[#663](https://github.com/the-djmaze/snappymail/pull/663) [#663](https://github.com/nextgen-networks/snappymail/pull/663)
[#664](https://github.com/the-djmaze/snappymail/pull/664) [#664](https://github.com/nextgen-networks/snappymail/pull/664)
[#668](https://github.com/the-djmaze/snappymail/pull/668) [#668](https://github.com/nextgen-networks/snappymail/pull/668)
[#669](https://github.com/the-djmaze/snappymail/pull/669) [#669](https://github.com/nextgen-networks/snappymail/pull/669)
- Personalised favicon not working - default Snappymail favicon showing - Personalised favicon not working - default Snappymail favicon showing
[#665](https://github.com/the-djmaze/snappymail/pull/665) [#665](https://github.com/nextgen-networks/snappymail/pull/665)
### Nextcloud ### Nextcloud
- v23 ContentSecurityPolicy versions issue - v23 ContentSecurityPolicy versions issue
[#666](https://github.com/the-djmaze/snappymail/pull/666) [#666](https://github.com/nextgen-networks/snappymail/pull/666)
## 2.21.0 2022-11-11 ## 2.21.0 2022-11-11
@ -392,11 +392,11 @@
### Added ### Added
- Put messagelist top bar buttons also in dropdown - Put messagelist top bar buttons also in dropdown
- Allow setting additional Sec-Fetch rules, as discussed by - Allow setting additional Sec-Fetch rules, as discussed by
[#585](https://github.com/the-djmaze/snappymail/pull/585) [#585](https://github.com/nextgen-networks/snappymail/pull/585)
- Light/Dark favicon.svg - Light/Dark favicon.svg
[#643](https://github.com/the-djmaze/snappymail/pull/643) [#643](https://github.com/nextgen-networks/snappymail/pull/643)
- Allow an account name/label - Allow an account name/label
[#571](https://github.com/the-djmaze/snappymail/pull/571) [#571](https://github.com/nextgen-networks/snappymail/pull/571)
### Changed ### Changed
- Moved ServiceRemoteAutoLogin to plugin/extension - Moved ServiceRemoteAutoLogin to plugin/extension
@ -407,13 +407,13 @@
setting SSL options per domain and verify_certificate by default setting SSL options per domain and verify_certificate by default
- Update plugins to use new Net/Imap/Smtp/Sieve Settings object - Update plugins to use new Net/Imap/Smtp/Sieve Settings object
- Removed message double-click to full screen - Removed message double-click to full screen
[#638](https://github.com/the-djmaze/snappymail/pull/638) [#638](https://github.com/nextgen-networks/snappymail/pull/638)
### Fixed ### Fixed
- ldap-identities-plugin by @cm-schl - ldap-identities-plugin by @cm-schl
[#647](https://github.com/the-djmaze/snappymail/pull/647) [#647](https://github.com/nextgen-networks/snappymail/pull/647)
- OpenSSL v3 ciphers issue - OpenSSL v3 ciphers issue
[#641](https://github.com/the-djmaze/snappymail/pull/641) [#641](https://github.com/nextgen-networks/snappymail/pull/641)
### Nextcloud ### Nextcloud
- Style PopupsNextcloudFiles view - Style PopupsNextcloudFiles view
@ -424,7 +424,7 @@
### Fixed ### Fixed
- ?admin login failed - ?admin login failed
[#642](https://github.com/the-djmaze/snappymail/pull/642) [#642](https://github.com/nextgen-networks/snappymail/pull/642)
- Resolve PHP 8.2 Creation of dynamic property is deprecated - Resolve PHP 8.2 Creation of dynamic property is deprecated
@ -432,8 +432,8 @@
### Nextcloud ### Nextcloud
- Improved workaround for Nextcloud Content-Security-Policy bug - Improved workaround for Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631) Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633) Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013) Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -444,8 +444,8 @@
### Nextcloud ### Nextcloud
- Workaround Nextcloud Content-Security-Policy bug - Workaround Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631) Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633) Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013) Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -453,7 +453,7 @@
### Added ### Added
- Throw decrypt errors - Throw decrypt errors
[#632](https://github.com/the-djmaze/snappymail/issues/632) [#632](https://github.com/nextgen-networks/snappymail/issues/632)
### Changed ### Changed
- Better multiple WYSIWYG registration system (not finished) - Better multiple WYSIWYG registration system (not finished)
@ -461,24 +461,24 @@
### Fixed ### Fixed
- Cookie “name” has been rejected because it is already expired. - Cookie “name” has been rejected because it is already expired.
[#636](https://github.com/the-djmaze/snappymail/issues/636) [#636](https://github.com/nextgen-networks/snappymail/issues/636)
- Content-Security-Policy 'strict-dynamic' was missing - Content-Security-Policy 'strict-dynamic' was missing
### Nextcloud ### Nextcloud
- Better handling of Content-Security-Policy - Better handling of Content-Security-Policy
[#631](https://github.com/the-djmaze/snappymail/issues/631) [#631](https://github.com/nextgen-networks/snappymail/issues/631)
[#633](https://github.com/the-djmaze/snappymail/issues/633) [#633](https://github.com/nextgen-networks/snappymail/issues/633)
- Nextcloud 23 Error Call to undefined method useStrictDynamic() - Nextcloud 23 Error Call to undefined method useStrictDynamic()
[#634](https://github.com/the-djmaze/snappymail/issues/634) [#634](https://github.com/nextgen-networks/snappymail/issues/634)
- Use snappymail icon as favicon-mask.svg instead default nextcloud logo - Use snappymail icon as favicon-mask.svg instead default nextcloud logo
[#635](https://github.com/the-djmaze/snappymail/issues/635) [#635](https://github.com/nextgen-networks/snappymail/issues/635)
## 2.20.2 2022-11-05 ## 2.20.2 2022-11-05
### Added ### Added
- Add more search operators (i.e. copy lots of Gmail ones) - Add more search operators (i.e. copy lots of Gmail ones)
[#625](https://github.com/the-djmaze/snappymail/issues/625) [#625](https://github.com/nextgen-networks/snappymail/issues/625)
### Changed ### Changed
- Some CSS borders to var(--border-color) - Some CSS borders to var(--border-color)
@ -486,11 +486,11 @@
### Fixed ### Fixed
- pgpDecrypt() using MailVelope the decrypt message was not green - pgpDecrypt() using MailVelope the decrypt message was not green
- Shift + F in search bar resulted in forwarding message - Shift + F in search bar resulted in forwarding message
[#624](https://github.com/the-djmaze/snappymail/issues/624) [#624](https://github.com/nextgen-networks/snappymail/issues/624)
### Nextcloud ### Nextcloud
- auto login mechanism not working anymore - auto login mechanism not working anymore
[#627](https://github.com/the-djmaze/snappymail/issues/627) [#627](https://github.com/nextgen-networks/snappymail/issues/627)
## 2.20.1 2022-11-04 ## 2.20.1 2022-11-04
@ -507,11 +507,11 @@
- Better theme integration with Nextcloud - Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher - Use Nextcloud 18+ IEventDispatcher
- Solve Nextcloud 25 CSS issues - Solve Nextcloud 25 CSS issues
[#620](https://github.com/the-djmaze/snappymail/issues/620) [#620](https://github.com/nextgen-networks/snappymail/issues/620)
- PutinICS does is not working for all calendar events - PutinICS does is not working for all calendar events
[#622](https://github.com/the-djmaze/snappymail/issues/622) [#622](https://github.com/nextgen-networks/snappymail/issues/622)
- Update readme by @cm-schl - Update readme by @cm-schl
[#617](https://github.com/the-djmaze/snappymail/issues/617) [#617](https://github.com/nextgen-networks/snappymail/issues/617)
## 2.20.0 2022-11-03 ## 2.20.0 2022-11-03
@ -529,7 +529,7 @@
### Nextcloud ### Nextcloud
- Disable Nextcloud Impersonate check due to login/logout complications - Disable Nextcloud Impersonate check due to login/logout complications
[#561](https://github.com/the-djmaze/snappymail/issues/561) [#561](https://github.com/nextgen-networks/snappymail/issues/561)
- Improved theme integration and be compatible with Breeze Dark - Improved theme integration and be compatible with Breeze Dark
@ -541,17 +541,17 @@
### Fixed ### Fixed
- Switching user (impersonate plugin) keeps old Email logged in - Switching user (impersonate plugin) keeps old Email logged in
[#561](https://github.com/the-djmaze/snappymail/issues/561) [#561](https://github.com/nextgen-networks/snappymail/issues/561)
- PGP Decryption / Encryption Failures - PGP Decryption / Encryption Failures
[#600](https://github.com/the-djmaze/snappymail/issues/600) [#600](https://github.com/nextgen-networks/snappymail/issues/600)
- Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH - Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH
[#601](https://github.com/the-djmaze/snappymail/issues/601) [#601](https://github.com/nextgen-networks/snappymail/issues/601)
- Cannot access admin panel - Cannot access admin panel
[#602](https://github.com/the-djmaze/snappymail/issues/602) [#602](https://github.com/nextgen-networks/snappymail/issues/602)
- Wont show my emails - Wont show my emails
[#604](https://github.com/the-djmaze/snappymail/issues/604) [#604](https://github.com/nextgen-networks/snappymail/issues/604)
- Return type of MailSo\Base\StreamFilters\LineEndings::filter - Return type of MailSo\Base\StreamFilters\LineEndings::filter
[#610](https://github.com/the-djmaze/snappymail/issues/610) [#610](https://github.com/nextgen-networks/snappymail/issues/610)
- Create .pgp directory was missing - Create .pgp directory was missing
### Security ### Security
@ -562,11 +562,11 @@
### Added ### Added
- Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph - Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph
- Filter scripts UI let user understand which filter is active - Filter scripts UI let user understand which filter is active
[#590](https://github.com/the-djmaze/snappymail/issues/590) [#590](https://github.com/nextgen-networks/snappymail/issues/590)
### Fixed ### Fixed
- Method 'GetRequest' not found in \MailSo\Base\Http - Method 'GetRequest' not found in \MailSo\Base\Http
[#585](https://github.com/the-djmaze/snappymail/issues/585) [#585](https://github.com/nextgen-networks/snappymail/issues/585)
### Changed ### Changed
- Base Domain setup enhancements - Base Domain setup enhancements
@ -602,7 +602,7 @@
### Fixed ### Fixed
- ldap-identities-plugin by @cm-schl - ldap-identities-plugin by @cm-schl
[#647](https://github.com/the-djmaze/snappymail/pull/647) [#647](https://github.com/nextgen-networks/snappymail/pull/647)
- OpenSSL v3 ciphers issue #641 - OpenSSL v3 ciphers issue #641
### Nextcloud ### Nextcloud
@ -614,7 +614,7 @@
### Fixed ### Fixed
- ?admin login failed - ?admin login failed
[#642](https://github.com/the-djmaze/snappymail/pull/642) [#642](https://github.com/nextgen-networks/snappymail/pull/642)
- Resolve PHP 8.2 Creation of dynamic property is deprecated - Resolve PHP 8.2 Creation of dynamic property is deprecated
@ -622,8 +622,8 @@
### Nextcloud ### Nextcloud
- Improved workaround for Nextcloud Content-Security-Policy bug - Improved workaround for Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631) Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633) Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013) Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -634,8 +634,8 @@
### Nextcloud ### Nextcloud
- Workaround Nextcloud Content-Security-Policy bug - Workaround Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631) Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633) Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013) Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -643,7 +643,7 @@
### Added ### Added
- Throw decrypt errors - Throw decrypt errors
[#632](https://github.com/the-djmaze/snappymail/issues/632) [#632](https://github.com/nextgen-networks/snappymail/issues/632)
### Changed ### Changed
- Better multiple WYSIWYG registration system (not finished) - Better multiple WYSIWYG registration system (not finished)
@ -651,24 +651,24 @@
### Fixed ### Fixed
- Cookie “name” has been rejected because it is already expired. - Cookie “name” has been rejected because it is already expired.
[#636](https://github.com/the-djmaze/snappymail/issues/636) [#636](https://github.com/nextgen-networks/snappymail/issues/636)
- Content-Security-Policy 'strict-dynamic' was missing - Content-Security-Policy 'strict-dynamic' was missing
### Nextcloud ### Nextcloud
- Better handling of Content-Security-Policy - Better handling of Content-Security-Policy
[#631](https://github.com/the-djmaze/snappymail/issues/631) [#631](https://github.com/nextgen-networks/snappymail/issues/631)
[#633](https://github.com/the-djmaze/snappymail/issues/633) [#633](https://github.com/nextgen-networks/snappymail/issues/633)
- Nextcloud 23 Error Call to undefined method useStrictDynamic() - Nextcloud 23 Error Call to undefined method useStrictDynamic()
[#634](https://github.com/the-djmaze/snappymail/issues/634) [#634](https://github.com/nextgen-networks/snappymail/issues/634)
- Use snappymail icon as favicon-mask.svg instead default nextcloud logo - Use snappymail icon as favicon-mask.svg instead default nextcloud logo
[#635](https://github.com/the-djmaze/snappymail/issues/635) [#635](https://github.com/nextgen-networks/snappymail/issues/635)
## 2.20.2 2022-11-05 ## 2.20.2 2022-11-05
### Added ### Added
- Add more search operators (i.e. copy lots of Gmail ones) - Add more search operators (i.e. copy lots of Gmail ones)
[#625](https://github.com/the-djmaze/snappymail/issues/625) [#625](https://github.com/nextgen-networks/snappymail/issues/625)
### Changed ### Changed
- Some CSS borders to var(--border-color) - Some CSS borders to var(--border-color)
@ -676,11 +676,11 @@
### Fixed ### Fixed
- pgpDecrypt() using MailVelope the decrypt message was not green - pgpDecrypt() using MailVelope the decrypt message was not green
- Shift + F in search bar resulted in forwarding message - Shift + F in search bar resulted in forwarding message
[#624](https://github.com/the-djmaze/snappymail/issues/624) [#624](https://github.com/nextgen-networks/snappymail/issues/624)
### Nextcloud ### Nextcloud
- auto login mechanism not working anymore - auto login mechanism not working anymore
[#627](https://github.com/the-djmaze/snappymail/issues/627) [#627](https://github.com/nextgen-networks/snappymail/issues/627)
## 2.20.1 2022-11-04 ## 2.20.1 2022-11-04
@ -697,11 +697,11 @@
- Better theme integration with Nextcloud - Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher - Use Nextcloud 18+ IEventDispatcher
- Solve Nextcloud 25 CSS issues - Solve Nextcloud 25 CSS issues
[#620](https://github.com/the-djmaze/snappymail/issues/620) [#620](https://github.com/nextgen-networks/snappymail/issues/620)
- PutinICS does is not working for all calendar events - PutinICS does is not working for all calendar events
[#622](https://github.com/the-djmaze/snappymail/issues/622) [#622](https://github.com/nextgen-networks/snappymail/issues/622)
- Update readme by @cm-schl - Update readme by @cm-schl
[#617](https://github.com/the-djmaze/snappymail/issues/617) [#617](https://github.com/nextgen-networks/snappymail/issues/617)
## 2.20.0 2022-11-03 ## 2.20.0 2022-11-03
@ -719,7 +719,7 @@
### Nextcloud ### Nextcloud
- Disable Nextcloud Impersonate check due to login/logout complications - Disable Nextcloud Impersonate check due to login/logout complications
[#561](https://github.com/the-djmaze/snappymail/issues/561) [#561](https://github.com/nextgen-networks/snappymail/issues/561)
- Improved theme integration and be compatible with Breeze Dark - Improved theme integration and be compatible with Breeze Dark
@ -731,17 +731,17 @@
### Fixed ### Fixed
- Switching user (impersonate plugin) keeps old Email logged in - Switching user (impersonate plugin) keeps old Email logged in
[#561](https://github.com/the-djmaze/snappymail/issues/561) [#561](https://github.com/nextgen-networks/snappymail/issues/561)
- PGP Decryption / Encryption Failures - PGP Decryption / Encryption Failures
[#600](https://github.com/the-djmaze/snappymail/issues/600) [#600](https://github.com/nextgen-networks/snappymail/issues/600)
- Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH - Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH
[#601](https://github.com/the-djmaze/snappymail/issues/601) [#601](https://github.com/nextgen-networks/snappymail/issues/601)
- Cannot access admin panel - Cannot access admin panel
[#602](https://github.com/the-djmaze/snappymail/issues/602) [#602](https://github.com/nextgen-networks/snappymail/issues/602)
- Wont show my emails - Wont show my emails
[#604](https://github.com/the-djmaze/snappymail/issues/604) [#604](https://github.com/nextgen-networks/snappymail/issues/604)
- Return type of MailSo\Base\StreamFilters\LineEndings::filter - Return type of MailSo\Base\StreamFilters\LineEndings::filter
[#610](https://github.com/the-djmaze/snappymail/issues/610) [#610](https://github.com/nextgen-networks/snappymail/issues/610)
- Create .pgp directory was missing - Create .pgp directory was missing
### Security ### Security
@ -752,11 +752,11 @@
### Added ### Added
- Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph - Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph
- Filter scripts UI let user understand which filter is active - Filter scripts UI let user understand which filter is active
[#590](https://github.com/the-djmaze/snappymail/issues/590) [#590](https://github.com/nextgen-networks/snappymail/issues/590)
### Fixed ### Fixed
- Method 'GetRequest' not found in \MailSo\Base\Http - Method 'GetRequest' not found in \MailSo\Base\Http
[#585](https://github.com/the-djmaze/snappymail/issues/585) [#585](https://github.com/nextgen-networks/snappymail/issues/585)
### Changed ### Changed
- Base Domain setup enhancements - Base Domain setup enhancements

View file

@ -22,18 +22,18 @@ There, click on the link to go to the SnappyMail admin panel.
]]></description> ]]></description>
<namespace>SnappyMail</namespace> <namespace>SnappyMail</namespace>
<documentation> <documentation>
<user>https://github.com/the-djmaze/snappymail/blob/master/integrations/owncloud/snappymail/README.md</user> <user>https://github.com/nextgen-networks/snappymail/blob/master/integrations/owncloud/snappymail/README.md</user>
<website>https://github.com/the-djmaze/snappymail/wiki</website> <website>https://github.com/nextgen-networks/snappymail/wiki</website>
</documentation> </documentation>
<category>integration</category> <category>integration</category>
<category>office</category> <category>office</category>
<category>search</category> <category>search</category>
<category>social</category> <category>social</category>
<screenshot>https://raw.githubusercontent.com/the-djmaze/snappymail/master/integrations/owncloud/screenshots/inbox.jpg</screenshot> <screenshot>https://raw.githubusercontent.com/nextgen-networks/snappymail/master/integrations/owncloud/screenshots/inbox.jpg</screenshot>
<website>https://snappymail.eu</website> <website>https://snappymail.eu</website>
<discussion>https://github.com/the-djmaze/snappymail/discussions</discussion> <discussion>https://github.com/nextgen-networks/snappymail/discussions</discussion>
<repository>https://github.com/the-djmaze/snappymail/tree/master/integrations/owncloud</repository> <repository>https://github.com/nextgen-networks/snappymail/tree/master/integrations/owncloud</repository>
<bugs>https://github.com/the-djmaze/snappymail/issues</bugs> <bugs>https://github.com/nextgen-networks/snappymail/issues</bugs>
<dependencies> <dependencies>
<php min-version="7.4" min-int-size="64" /> <php min-version="7.4" min-int-size="64" />
<lib>mbstring</lib> <lib>mbstring</lib>

View file

@ -80,7 +80,7 @@ body > header ul {
/** /**
* Firefox < 98 * Firefox < 98
* https://github.com/the-djmaze/snappymail/issues/673 * https://github.com/nextgen-networks/snappymail/issues/673
*/ */
#rl-app dialog.polyfill { #rl-app dialog.polyfill {
margin-top: 50px; margin-top: 50px;
@ -89,7 +89,7 @@ body > header ul {
/** /**
* hampoelz * hampoelz
* https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1279783076 * https://github.com/nextgen-networks/snappymail/issues/96#issuecomment-1279783076
*/ */
.messageList { .messageList {

View file

@ -30,7 +30,7 @@ class SnappyMailHelper
$app_dir = \dirname(\dirname(__DIR__)) . '/app'; $app_dir = \dirname(\dirname(__DIR__)) . '/app';
require_once $app_dir . '/index.php'; require_once $app_dir . '/index.php';
// https://github.com/the-djmaze/snappymail/issues/790#issuecomment-1366527884 // https://github.com/nextgen-networks/snappymail/issues/790#issuecomment-1366527884
if (!file_exists($app_dir . '/.htaccess') && file_exists($app_dir . '/_htaccess')) { if (!file_exists($app_dir . '/.htaccess') && file_exists($app_dir . '/_htaccess')) {
rename($app_dir . '/_htaccess', $app_dir . '/.htaccess'); rename($app_dir . '/_htaccess', $app_dir . '/.htaccess');
if (!file_exists(APP_VERSION_ROOT_PATH . '/app/.htaccess') && file_exists(APP_VERSION_ROOT_PATH . '/app/_htaccess')) { if (!file_exists(APP_VERSION_ROOT_PATH . '/app/.htaccess') && file_exists(APP_VERSION_ROOT_PATH . '/app/_htaccess')) {
@ -122,7 +122,7 @@ class SnappyMailHelper
$aCredentials = static::getLoginCredentials(); $aCredentials = static::getLoginCredentials();
/* /*
// NC25+ workaround for Impersonate plugin // NC25+ workaround for Impersonate plugin
// https://github.com/the-djmaze/snappymail/issues/561#issuecomment-1301317723 // https://github.com/nextgen-networks/snappymail/issues/561#issuecomment-1301317723
// https://github.com/nextcloud/server/issues/34935#issuecomment-1302145157 // https://github.com/nextcloud/server/issues/34935#issuecomment-1302145157
require \OC::$SERVERROOT . '/version.php'; require \OC::$SERVERROOT . '/version.php';
// \OC\SystemConfig // \OC\SystemConfig

View file

@ -153,7 +153,7 @@ sub script_snappymail_files
local ($d, $ver, $opts, $upgrade) = @_; local ($d, $ver, $opts, $upgrade) = @_;
local @files = ( { 'name' => "source", local @files = ( { 'name' => "source",
'file' => "snappymail-$ver.tar.gz", 'file' => "snappymail-$ver.tar.gz",
'url' => "https://github.com/the-djmaze/snappymail/releases/download/v${ver}/snappymail-${ver}.tar.gz" }, 'url' => "https://github.com/nextgen-networks/snappymail/releases/download/v${ver}/snappymail-${ver}.tar.gz" },
); );
return @files; return @files;
} }

View file

@ -12,7 +12,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/the-djmaze/snappymail.git" "url": "git://github.com/nextgen-networks/snappymail.git"
}, },
"scripts": { "scripts": {
"watch-css": "gulp watchCss" "watch-css": "gulp watchCss"
@ -25,7 +25,7 @@
} }
], ],
"bugs": { "bugs": {
"url": "https://github.com/the-djmaze/snappymail/issues" "url": "https://github.com/nextgen-networks/snappymail/issues"
}, },
"keywords": [ "keywords": [
"webmail", "webmail",

View file

@ -5,7 +5,7 @@ class AttachmentsForceOpenPlugin extends \RainLoop\Plugins\AbstractPlugin
const const
NAME = 'Attachments force open', NAME = 'Attachments force open',
AUTHOR = 'SnappyMail', AUTHOR = 'SnappyMail',
URL = 'https://github.com/the-djmaze/snappymail/pull/1489', URL = 'https://github.com/nextgen-networks/snappymail/pull/1489',
VERSION = '0.1', VERSION = '0.1',
RELEASE = '2024-03-15', RELEASE = '2024-03-15',
REQUIRED = '2.14.0', REQUIRED = '2.14.0',

View file

@ -7,7 +7,7 @@
* be set to to 'example.com'. * be set to to 'example.com'.
* *
* Based on: * Based on:
* https://github.com/the-djmaze/snappymail/blob/master/plugins/override-smtp-credentials/index.php * https://github.com/nextgen-networks/snappymail/blob/master/plugins/override-smtp-credentials/index.php
* *
*/ */

View file

@ -27,7 +27,7 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
if ($identicon && \is_file(__DIR__ . "/{$identicon}.js")) { if ($identicon && \is_file(__DIR__ . "/{$identicon}.js")) {
$this->addJs("{$identicon}.js"); $this->addJs("{$identicon}.js");
} }
// https://github.com/the-djmaze/snappymail/issues/714 // https://github.com/nextgen-networks/snappymail/issues/714
if ($this->Config()->Get('plugin', 'service', true) if ($this->Config()->Get('plugin', 'service', true)
// || !$this->Config()->Get('plugin', 'delay', true) // || !$this->Config()->Get('plugin', 'delay', true)
|| $this->Config()->Get('plugin', 'gravatar', false) || $this->Config()->Get('plugin', 'gravatar', false)

View file

@ -5,7 +5,7 @@ class CompactComposerPlugin extends \RainLoop\Plugins\AbstractPlugin
const const
NAME = 'Compact Composer', NAME = 'Compact Composer',
AUTHOR = 'Sergey Mosin', AUTHOR = 'Sergey Mosin',
URL = 'https://github.com/the-djmaze/snappymail/pull/1466', URL = 'https://github.com/nextgen-networks/snappymail/pull/1466',
VERSION = '1.0.6', VERSION = '1.0.6',
RELEASE = '2024-08-08', RELEASE = '2024-08-08',
REQUIRED = '2.34.0', REQUIRED = '2.34.0',

View file

@ -306,7 +306,7 @@
const clr = this.makeClr(); const clr = this.makeClr();
const doClr = name => input => { const doClr = name => input => {
// https://github.com/the-djmaze/snappymail/issues/826 // https://github.com/nextgen-networks/snappymail/issues/826
clr.style.left = (input.offsetLeft + input.parentNode.offsetLeft) + 'px'; clr.style.left = (input.offsetLeft + input.parentNode.offsetLeft) + 'px';
clr.style.width = input.offsetWidth + 'px'; clr.style.width = input.offsetWidth + 'px';
@ -324,7 +324,7 @@
console.error('invalid name:', name); console.error('invalid name:', name);
} }
}; };
// Chrome 110+ https://github.com/the-djmaze/snappymail/issues/1199 // Chrome 110+ https://github.com/nextgen-networks/snappymail/issues/1199
// clr.oninput = () => squire.setStyle({[name]:clr.value}); // clr.oninput = () => squire.setStyle({[name]:clr.value});
setTimeout(() => clr.click(), 1); setTimeout(() => clr.click(), 1);
}; };
@ -653,7 +653,7 @@
/**@type {HTMLInputElement} clr*/ /**@type {HTMLInputElement} clr*/
const clr = createElement('input'); const clr = createElement('input');
clr.type = 'color'; clr.type = 'color';
// Chrome https://github.com/the-djmaze/snappymail/issues/1199 // Chrome https://github.com/nextgen-networks/snappymail/issues/1199
let clrid = 'squire-colors', let clrid = 'squire-colors',
colorlist = doc.getElementById(clrid), colorlist = doc.getElementById(clrid),
add = hex => colorlist.append(new Option(hex)); add = hex => colorlist.append(new Option(hex));

View file

@ -61,7 +61,7 @@ class DemoAccountPlugin extends \RainLoop\Plugins\AbstractPlugin
$aActionParams['Password'] = $this->Config()->Get('plugin', 'password'); $aActionParams['Password'] = $this->Config()->Get('plugin', 'password');
} }
else if ('DoFolderCreate' === $sMethodName || 'DoFolderRename' === $sMethodName) { else if ('DoFolderCreate' === $sMethodName || 'DoFolderRename' === $sMethodName) {
// Block spam https://github.com/the-djmaze/snappymail/issues/371 // Block spam https://github.com/nextgen-networks/snappymail/issues/371
$latin = transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', $aActionParams['folder']); $latin = transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', $aActionParams['folder']);
if (false !== \strpos($latin, 'nigger')) { if (false !== \strpos($latin, 'nigger')) {
\error_log("blocked {$sMethodName} {$aActionParams['folder']}"); \error_log("blocked {$sMethodName} {$aActionParams['folder']}");

View file

@ -132,7 +132,7 @@ class LdapMailAccounts
return false; // exceptions are only thrown from the handle error function that does logging already return false; // exceptions are only thrown from the handle error function that does logging already
} }
//Basing on https://github.com/the-djmaze/snappymail/issues/616 //Basing on https://github.com/nextgen-networks/snappymail/issues/616
$oActions = \RainLoop\Api::Actions(); $oActions = \RainLoop\Api::Actions();
@ -192,7 +192,7 @@ class LdapMailAccounts
//When the password of the main account changes, SnappyMail asks the user for the old password to reencrypt the keys with the new userpassword. //When the password of the main account changes, SnappyMail asks the user for the old password to reencrypt the keys with the new userpassword.
//On a password change using ldap (or when the password has been forgotten by the user) this makes us some problems. Therefore overwrite //On a password change using ldap (or when the password has been forgotten by the user) this makes us some problems. Therefore overwrite
//the .cryptkey file in order to always accept the actual ldap password of the user. This has side effects on pgp keys! //the .cryptkey file in order to always accept the actual ldap password of the user. This has side effects on pgp keys!
//See https://github.com/the-djmaze/snappymail/issues/1570#issuecomment-2085528061 //See https://github.com/nextgen-networks/snappymail/issues/1570#issuecomment-2085528061
if ($this->config->bool_overwrite_cryptkey) { if ($this->config->bool_overwrite_cryptkey) {
if (!$oActions->StorageProvider()->Put($oAccount, StorageType::ROOT, '.cryptkey', "")) { if (!$oActions->StorageProvider()->Put($oAccount, StorageType::ROOT, '.cryptkey', "")) {
$this->logger->Write("Could not overwrite the .cryptkey file!", \LOG_WARNING, self::LOG_KEY); $this->logger->Write("Could not overwrite the .cryptkey file!", \LOG_WARNING, self::LOG_KEY);

View file

@ -101,7 +101,7 @@ class LdapMailAccountsPlugin extends AbstractPlugin
->SetDescription("SnappyMail saves the passwords of the additional accounts by encrypting them using a cryptkey that is saved in the file \".cryptkey\". When the password of the main account changes, SnappyMail asks the user for the old password to reencrypt the keys with the new userpassword. ->SetDescription("SnappyMail saves the passwords of the additional accounts by encrypting them using a cryptkey that is saved in the file \".cryptkey\". When the password of the main account changes, SnappyMail asks the user for the old password to reencrypt the keys with the new userpassword.
\nOn a password change using ldap (or when the password has been forgotten by the user) this makes problems and asks the user to insert the old password. Therefore activating this option overwrites the .cryptkey file on login in order to always accept the actual ldap password of the user. \nOn a password change using ldap (or when the password has been forgotten by the user) this makes problems and asks the user to insert the old password. Therefore activating this option overwrites the .cryptkey file on login in order to always accept the actual ldap password of the user.
\nATTENTION: This has side effects on pgp keys because these are also secured by the cryptkey and could therefore not be accessible anymore! \nATTENTION: This has side effects on pgp keys because these are also secured by the cryptkey and could therefore not be accessible anymore!
\nSee https://github.com/the-djmaze/snappymail/issues/1570#issuecomment-2085528061") \nSee https://github.com/nextgen-networks/snappymail/issues/1570#issuecomment-2085528061")
->SetDefaultValue(false), ->SetDefaultValue(false),
]); ]);

View file

@ -58,7 +58,7 @@ class LogincPanelPlugin extends \RainLoop\Plugins\AbstractPlugin
public function FilterLoginCredentials(&$sEmail, &$sImapUser, &$sPassword, &$sSmtpUser) public function FilterLoginCredentials(&$sEmail, &$sImapUser, &$sPassword, &$sSmtpUser)
{ {
// cPanel https://github.com/the-djmaze/snappymail/issues/697 // cPanel https://github.com/nextgen-networks/snappymail/issues/697
// && !empty($_ENV['CPANEL']) // && !empty($_ENV['CPANEL'])
if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) { if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) {
if (empty($_ENV['REMOTE_TEMP_USER'])) { if (empty($_ENV['REMOTE_TEMP_USER'])) {

View file

@ -148,7 +148,7 @@ class LoginGMailPlugin extends \RainLoop\Plugins\AbstractPlugin
->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'), ->SetDescription('https://github.com/nextgen-networks/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)

View file

@ -166,7 +166,7 @@ class LoginO365Plugin extends \RainLoop\Plugins\AbstractPlugin
->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#o365'), ->SetDescription('https://github.com/nextgen-networks/snappymail/wiki/FAQ#o365'),
\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)

View file

@ -58,7 +58,7 @@ class LoginRemotePlugin extends \RainLoop\Plugins\AbstractPlugin
public function FilterLoginCredentials(string &$sEmail, string &$sImapUser, string &$sPassword, string &$sSmtpUser) public function FilterLoginCredentials(string &$sEmail, string &$sImapUser, string &$sPassword, string &$sSmtpUser)
{ {
// cPanel https://github.com/the-djmaze/snappymail/issues/697 // cPanel https://github.com/nextgen-networks/snappymail/issues/697
// && !empty($_ENV['CPANEL']) // && !empty($_ENV['CPANEL'])
if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) { if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) {
if (empty($_ENV['REMOTE_TEMP_USER'])) { if (empty($_ENV['REMOTE_TEMP_USER'])) {

View file

@ -5,7 +5,7 @@ class LoginVirtuserPlugin extends \RainLoop\Plugins\AbstractPlugin
const const
NAME = 'Virtuser Login', NAME = 'Virtuser Login',
AUTHOR = 'v20z', AUTHOR = 'v20z',
URL = 'https://github.com/the-djmaze/snappymail/issues/1691', URL = 'https://github.com/nextgen-networks/snappymail/issues/1691',
VERSION = '0.2', VERSION = '0.2',
RELEASE = '2024-09-20', RELEASE = '2024-09-20',
REQUIRED = '2.36.1', REQUIRED = '2.36.1',

View file

@ -35,7 +35,7 @@
}); });
if (urls.length) { if (urls.length) {
// TODO: other editors and text/plain // TODO: other editors and text/plain
// https://github.com/the-djmaze/snappymail/issues/981 // https://github.com/nextgen-networks/snappymail/issues/981
view.oEditor.editor.squire.insertHTML(urls.join("<br>")); view.oEditor.editor.squire.insertHTML(urls.join("<br>"));
} }
}); });

View file

@ -27,7 +27,7 @@
} }
} }
/* /*
// https://github.com/the-djmaze/snappymail/issues/592 // https://github.com/nextgen-networks/snappymail/issues/592
if (cfg.CalDAV) { if (cfg.CalDAV) {
const attachmentsPlace = template.content.querySelector('.attachmentsPlace'); const attachmentsPlace = template.content.querySelector('.attachmentsPlace');
attachmentsPlace.after(Element.fromHTML(` attachmentsPlace.after(Element.fromHTML(`

View file

@ -113,7 +113,7 @@ const
} }
elemList.push(elem); elemList.push(elem);
} }
// https://github.com/the-djmaze/snappymail/issues/1177 // https://github.com/nextgen-networks/snappymail/issues/1177
// elemList.sort((a, b) => a.isFile != b.isFile ? (a.isFile ? 1 : -1) : a.name.localeCompare(b.name)); // elemList.sort((a, b) => a.isFile != b.isFile ? (a.isFile ? 1 : -1) : a.name.localeCompare(b.name));
return Promise.resolve(elemList); return Promise.resolve(elemList);
}); });
@ -122,7 +122,7 @@ const
buildTree = (view, parent, items, path) => { buildTree = (view, parent, items, path) => {
if (items.length) { if (items.length) {
try { try {
// https://github.com/the-djmaze/snappymail/issues/1109 // https://github.com/nextgen-networks/snappymail/issues/1109
let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'}); let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
items.sort((a, b) => collator.compare(a.name, b.name)); items.sort((a, b) => collator.compare(a.name, b.name));
} catch (e) { } catch (e) {

View file

@ -5,7 +5,7 @@ class SearchFiltersPlugin extends \RainLoop\Plugins\AbstractPlugin
public const public const
NAME = 'Search Filters', NAME = 'Search Filters',
AUTHOR = 'AbdoBnHesham', AUTHOR = 'AbdoBnHesham',
URL = 'https://github.com/the-djmaze/snappymail/pull/1673', URL = 'https://github.com/nextgen-networks/snappymail/pull/1673',
VERSION = '0.2', VERSION = '0.2',
RELEASE = '2024-06-28', RELEASE = '2024-06-28',
REQUIRED = '2.36.3', REQUIRED = '2.36.3',

View file

@ -25,7 +25,7 @@
} }
}); });
// https://github.com/the-djmaze/snappymail/issues/349 // https://github.com/nextgen-networks/snappymail/issues/349
addEventListener('sm-show-screen', e => { addEventListener('sm-show-screen', e => {
if (!e.detail.startsWith('settings') && rl.settings.get('SetupTwoFactor')) { if (!e.detail.startsWith('settings') && rl.settings.get('SetupTwoFactor')) {
e.preventDefault(); e.preventDefault();

View file

@ -41,9 +41,9 @@ abstract class DateTimeHelper
return 0; return 0;
} }
// Strip invalid data after zone, https://github.com/the-djmaze/snappymail/issues/1554 // Strip invalid data after zone, https://github.com/nextgen-networks/snappymail/issues/1554
$sDateTime = \preg_replace('/\s+\([a-zA-Z0-9]+\)$/', '', $sDateTime); $sDateTime = \preg_replace('/\s+\([a-zA-Z0-9]+\)$/', '', $sDateTime);
// https://github.com/the-djmaze/snappymail/issues/1694#issuecomment-2270983942 // https://github.com/nextgen-networks/snappymail/issues/1694#issuecomment-2270983942
// Strip day-of-week // Strip day-of-week
$sDateTime = \preg_replace('/^[^,]+,/', '', $sDateTime); $sDateTime = \preg_replace('/^[^,]+,/', '', $sDateTime);
// Add optional seconds // Add optional seconds

View file

@ -219,7 +219,7 @@ class BodyStructure implements \JsonSerializable
/** /**
* Still no text found? * Still no text found?
* Look in attachments as it could be an X-Mms-Message * Look in attachments as it could be an X-Mms-Message
* https://github.com/the-djmaze/snappymail/issues/1294 * https://github.com/nextgen-networks/snappymail/issues/1294
*/ */
if (!$aParts) { if (!$aParts) {
$gParts = $this->SearchByCallback(fn($oItem) => $oItem->isText()); $gParts = $this->SearchByCallback(fn($oItem) => $oItem->isText());

View file

@ -83,7 +83,7 @@ trait Folders
// $this->FolderCheck(); // $this->FolderCheck();
// Will this workaround solve Dovecot issue? // Will this workaround solve Dovecot issue?
// https://github.com/the-djmaze/snappymail/issues/124 // https://github.com/nextgen-networks/snappymail/issues/124
try { try {
$this->FolderRename($sFolderName, "{$sFolderName}-dummy"); $this->FolderRename($sFolderName, "{$sFolderName}-dummy");
$this->FolderRename("{$sFolderName}-dummy", $sFolderName); $this->FolderRename("{$sFolderName}-dummy", $sFolderName);

View file

@ -315,7 +315,7 @@ class SearchCriterias
} }
break; break;
// https://github.com/the-djmaze/snappymail/issues/625 // https://github.com/nextgen-networks/snappymail/issues/625
case 'READ': case 'READ':
case 'UNREAD': case 'UNREAD':
$aCriteriasResult[] = \str_replace('READ', 'SEEN', $sName); $aCriteriasResult[] = \str_replace('READ', 'SEEN', $sName);
@ -369,7 +369,7 @@ class SearchCriterias
public static function escapeSearchString(\MailSo\Imap\ImapClient $oImapClient, string $sSearch) : string public static function escapeSearchString(\MailSo\Imap\ImapClient $oImapClient, string $sSearch) : string
{ {
// https://github.com/the-djmaze/snappymail/issues/836 // https://github.com/nextgen-networks/snappymail/issues/836
// return $oImapClient->EscapeString($sSearch); // return $oImapClient->EscapeString($sSearch);
// return \MailSo\Base\Utils::IsAscii($sSearch) || $oImapClient->hasCapability('QQMail')) // return \MailSo\Base\Utils::IsAscii($sSearch) || $oImapClient->hasCapability('QQMail'))
return (\MailSo\Base\Utils::IsAscii($sSearch) || !$oImapClient->hasCapability('LITERAL+')) return (\MailSo\Base\Utils::IsAscii($sSearch) || !$oImapClient->hasCapability('LITERAL+'))

View file

@ -39,8 +39,8 @@ trait ResponseParser
/** /**
* A bug in the parser converts folder names that start with '[' into arrays. * A bug in the parser converts folder names that start with '[' into arrays.
* https://github.com/the-djmaze/snappymail/issues/1 * https://github.com/nextgen-networks/snappymail/issues/1
* https://github.com/the-djmaze/snappymail/issues/70 * https://github.com/nextgen-networks/snappymail/issues/70
* The fix RainLoop implemented isn't correct either. * The fix RainLoop implemented isn't correct either.
* This one should as RFC 3501 only mentions: * This one should as RFC 3501 only mentions:
* *

View file

@ -123,7 +123,7 @@ trait Status
if (\is_string($value)) { if (\is_string($value)) {
$this->MAILBOXID = \base64_encode($value); $this->MAILBOXID = \base64_encode($value);
} else { } else {
// Cyrus bug https://github.com/the-djmaze/snappymail/issues/1640 // Cyrus bug https://github.com/nextgen-networks/snappymail/issues/1640
\error_log("{$this->FullName} invalid MAILBOXID value. Disable the OBJECTID capability."); \error_log("{$this->FullName} invalid MAILBOXID value. Disable the OBJECTID capability.");
} }
} else { } else {
@ -172,7 +172,7 @@ trait Status
$oResponse->ResponseList[3][$i+1] $oResponse->ResponseList[3][$i+1]
); );
} else { } else {
// https://github.com/the-djmaze/snappymail/issues/1640 // https://github.com/nextgen-networks/snappymail/issues/1640
\error_log("{$this->FullName} STATUS missing value for {$oResponse->ResponseList[3][$i]}"); \error_log("{$this->FullName} STATUS missing value for {$oResponse->ResponseList[3][$i]}");
} }
} }

View file

@ -249,7 +249,7 @@ class Message implements \JsonSerializable
$oMessage->sSpamResult = "{$value[1]} / {$required[1]}"; $oMessage->sSpamResult = "{$value[1]} / {$required[1]}";
} }
} }
// https://github.com/the-djmaze/snappymail/issues/1228 // https://github.com/nextgen-networks/snappymail/issues/1228
else if (\preg_match('@([\\d\\.]+)/([\\d\\.]+)@', $spam, $value) else if (\preg_match('@([\\d\\.]+)/([\\d\\.]+)@', $spam, $value)
|| \preg_match('@([\\d\\.]+)/([\\d\\.]+)@', $oHeaders->ValueByName(MimeHeader::X_SPAM_INFO), $value) || \preg_match('@([\\d\\.]+)/([\\d\\.]+)@', $oHeaders->ValueByName(MimeHeader::X_SPAM_INFO), $value)
) { ) {

View file

@ -41,7 +41,7 @@ class ConnectSettings implements \JsonSerializable
public bool $lowerLogin = true; public bool $lowerLogin = true;
public string $stripLogin = ''; public string $stripLogin = '';
public array $SASLMechanisms = [ public array $SASLMechanisms = [
// https://github.com/the-djmaze/snappymail/issues/182 // https://github.com/nextgen-networks/snappymail/issues/182
'SCRAM-SHA3-512', 'SCRAM-SHA3-512',
'SCRAM-SHA-512', 'SCRAM-SHA-512',
'SCRAM-SHA-256', 'SCRAM-SHA-256',

View file

@ -187,7 +187,7 @@ class SieveClient extends \MailSo\Net\NetClient
try { try {
$this->sendRequestWithCheck('LOGOUT'); $this->sendRequestWithCheck('LOGOUT');
} catch (\Throwable $e) { } catch (\Throwable $e) {
// https://github.com/the-djmaze/snappymail/issues/1455 // https://github.com/nextgen-networks/snappymail/issues/1455
$this->writeLogException($e, \LOG_WARNING, false); $this->writeLogException($e, \LOG_WARNING, false);
} }
$this->bIsLoggined = false; $this->bIsLoggined = false;

View file

@ -24,7 +24,7 @@ class Settings extends \MailSo\Net\ConnectSettings
public bool public bool
$setSender = false, $setSender = false,
$usePhpMail = false, $usePhpMail = false,
// https://github.com/the-djmaze/snappymail/issues/1038 // https://github.com/nextgen-networks/snappymail/issues/1038
$authPlainLine = false, $authPlainLine = false,
$viewErrors = false; $viewErrors = false;

View file

@ -162,7 +162,7 @@ class SmtpClient extends \MailSo\Net\NetClient
$SASL = \SnappyMail\SASL::factory($type); $SASL = \SnappyMail\SASL::factory($type);
if ($this->Settings->authPlainLine && $SASL instanceof \SnappyMail\SASL\Plain) { if ($this->Settings->authPlainLine && $SASL instanceof \SnappyMail\SASL\Plain) {
// https://github.com/the-djmaze/snappymail/issues/1038 // https://github.com/nextgen-networks/snappymail/issues/1038
try try
{ {
$sRequest = $SASL->authenticate($sLogin, $sPassword); $sRequest = $SASL->authenticate($sLogin, $sPassword);

View file

@ -337,7 +337,7 @@ trait Accounts
*/ */
public function DoAccountsAndIdentities(): array public function DoAccountsAndIdentities(): array
{ {
// https://github.com/the-djmaze/snappymail/issues/571 // https://github.com/nextgen-networks/snappymail/issues/571
return $this->DefaultResponse(array( return $this->DefaultResponse(array(
'Accounts' => \array_values(\array_map(function($value){ 'Accounts' => \array_values(\array_map(function($value){
return [ return [

View file

@ -66,7 +66,7 @@ trait Folders
} }
} }
} catch (\Throwable $e) { } catch (\Throwable $e) {
// https://github.com/the-djmaze/snappymail/issues/1438 // https://github.com/nextgen-networks/snappymail/issues/1438
// $oAccount->Domain()->ImapSettings()->disabled_capabilities[] = 'NAMESPACE'; // $oAccount->Domain()->ImapSettings()->disabled_capabilities[] = 'NAMESPACE';
// $this->DomainProvider()->Save($oAccount->Domain()); // $this->DomainProvider()->Save($oAccount->Domain());
} }
@ -78,7 +78,7 @@ trait Folders
} }
} }
} catch (\Throwable $e) { } catch (\Throwable $e) {
// https://github.com/the-djmaze/snappymail/issues/1438 // https://github.com/nextgen-networks/snappymail/issues/1438
// $oAccount->Domain()->ImapSettings()->disabled_capabilities[] = 'NAMESPACE'; // $oAccount->Domain()->ImapSettings()->disabled_capabilities[] = 'NAMESPACE';
// $this->DomainProvider()->Save($oAccount->Domain()); // $this->DomainProvider()->Save($oAccount->Domain());
} }

View file

@ -1151,7 +1151,7 @@ trait Messages
} }
} }
/* /*
// OpenPGP https://github.com/the-djmaze/snappymail/issues/1587 // OpenPGP https://github.com/nextgen-networks/snappymail/issues/1587
$sPublicKey = $this->GetActionParam('publicKey', ''); $sPublicKey = $this->GetActionParam('publicKey', '');
if ($sPublicKey) { if ($sPublicKey) {
$oMessage->Attachments()->append( $oMessage->Attachments()->append(
@ -1199,7 +1199,7 @@ trait Messages
if ($sFingerprint) { if ($sFingerprint) {
$GPG = $this->GnuPG(); $GPG = $this->GnuPG();
/* /*
// https://github.com/the-djmaze/snappymail/issues/1587 // https://github.com/nextgen-networks/snappymail/issues/1587
if ($this->GetActionParam('attachPublicKey', false)) { if ($this->GetActionParam('attachPublicKey', false)) {
$sPublicKey = $GPG->export($sFingerprint); $sPublicKey = $GPG->export($sFingerprint);
$oMessage->Attachments()->append( $oMessage->Attachments()->append(
@ -1269,7 +1269,7 @@ trait Messages
} }
} }
/* /*
// https://github.com/the-djmaze/snappymail/issues/1587 // https://github.com/nextgen-networks/snappymail/issues/1587
if ($sCertificate && $this->GetActionParam('attachCertificate', false)) { if ($sCertificate && $this->GetActionParam('attachCertificate', false)) {
$oMessage->Attachments()->append( $oMessage->Attachments()->append(
new \MailSo\Mime\Attachment( new \MailSo\Mime\Attachment(

View file

@ -125,7 +125,7 @@ trait Raw
if (!\is_resource($rResource)) { if (!\is_resource($rResource)) {
return false; return false;
} }
// https://github.com/the-djmaze/snappymail/issues/144 // https://github.com/nextgen-networks/snappymail/issues/144
if ('.pdf' === \substr($sFileNameIn,-4)) { if ('.pdf' === \substr($sFileNameIn,-4)) {
$sContentTypeOut = 'application/pdf'; // application/octet-stream $sContentTypeOut = 'application/pdf'; // application/octet-stream
} else { } else {
@ -174,7 +174,7 @@ trait Raw
$sFileName = $self->clearFileName($sFileName, $sContentType, $sMimeIndex); $sFileName = $self->clearFileName($sFileName, $sContentType, $sMimeIndex);
if ('.pdf' === \substr($sFileName, -4)) { if ('.pdf' === \substr($sFileName, -4)) {
// https://github.com/the-djmaze/snappymail/issues/144 // https://github.com/nextgen-networks/snappymail/issues/144
$sContentType = 'application/pdf'; $sContentType = 'application/pdf';
} else { } else {
$sContentType = $sContentTypeIn $sContentType = $sContentTypeIn

View file

@ -259,7 +259,7 @@ trait UserAuth
if ($aData) { if ($aData) {
/** /**
* Server side control/kickout of logged in sessions * Server side control/kickout of logged in sessions
* https://github.com/the-djmaze/snappymail/issues/151 * https://github.com/nextgen-networks/snappymail/issues/151
*/ */
$sToken = Utils::GetSessionToken(false); $sToken = Utils::GetSessionToken(false);
if (!$sToken) { if (!$sToken) {

View file

@ -65,7 +65,7 @@ abstract class Base
if ($oSettings->sslCa) { if ($oSettings->sslCa) {
$options[\PDO::MYSQL_ATTR_SSL_CA] = $oSettings->sslCa; $options[\PDO::MYSQL_ATTR_SSL_CA] = $oSettings->sslCa;
} }
// PHP 8.0 https://github.com/the-djmaze/snappymail/issues/1205 // PHP 8.0 https://github.com/nextgen-networks/snappymail/issues/1205
if (\defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT')) { if (\defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT')) {
$options[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = $oSettings->sslVerify; $options[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = $oSettings->sslVerify;
} }

View file

@ -136,7 +136,7 @@ abstract class Service
} }
if ($bIndex) { if ($bIndex) {
// https://github.com/the-djmaze/snappymail/issues/1024 // https://github.com/nextgen-networks/snappymail/issues/1024
$oHttp->ServerNoCache(); $oHttp->ServerNoCache();
if (!$bAdmin) { if (!$bAdmin) {
@ -195,7 +195,7 @@ abstract class Service
)) ))
); );
// https://github.com/the-djmaze/snappymail/issues/1024 // https://github.com/nextgen-networks/snappymail/issues/1024
// $oActions->verifyCacheByKey($sCacheFileName); // $oActions->verifyCacheByKey($sCacheFileName);
if ($oConfig->Get('cache', 'system_data', true)) { if ($oConfig->Get('cache', 'system_data', true)) {
@ -237,7 +237,7 @@ abstract class Service
$sScriptHash = 'sha256-'.\base64_encode(\hash('sha256', $script[1], true)); $sScriptHash = 'sha256-'.\base64_encode(\hash('sha256', $script[1], true));
static::setCSP(null, $sScriptHash); static::setCSP(null, $sScriptHash);
*/ */
// https://github.com/the-djmaze/snappymail/issues/1024 // https://github.com/nextgen-networks/snappymail/issues/1024
// $oActions->cacheByKey($sCacheFileName); // $oActions->cacheByKey($sCacheFileName);
echo $sResult; echo $sResult;

View file

@ -125,7 +125,7 @@ class Utils
return self::WebPath() . 'snappymail/v/' . APP_VERSION . '/'; return self::WebPath() . 'snappymail/v/' . APP_VERSION . '/';
/** /**
* TODO: solve this to support other paths. * TODO: solve this to support other paths.
* https://github.com/the-djmaze/snappymail/issues/685 * https://github.com/nextgen-networks/snappymail/issues/685
*/ */
// return self::WebPath() . \str_replace(APP_INDEX_ROOT_PATH, '', APP_VERSION_ROOT_PATH); // return self::WebPath() . \str_replace(APP_INDEX_ROOT_PATH, '', APP_VERSION_ROOT_PATH);
} }

View file

@ -118,7 +118,7 @@ class Cookies
static::init(); static::init();
$sPath = static::$DefaultPath; $sPath = static::$DefaultPath;
$sPath = $sPath && \strlen($sPath) ? $sPath : '/'; $sPath = $sPath && \strlen($sPath) ? $sPath : '/';
// https://github.com/the-djmaze/snappymail/issues/451 // https://github.com/nextgen-networks/snappymail/issues/451
// The 4K browser limit is for the entire cookie, including name, value, expiry date etc. // The 4K browser limit is for the entire cookie, including name, value, expiry date etc.
$iMaxSize = 4000 - \strlen($sPath . $sName); $iMaxSize = 4000 - \strlen($sPath . $sName);
/* /*

View file

@ -79,7 +79,7 @@ abstract class Base
$gpgconf = static::findBinary('gpgconf'); $gpgconf = static::findBinary('gpgconf');
if ($gpgconf) { if ($gpgconf) {
$cmd = $gpgconf . ' --kill gpg-agent'; $cmd = $gpgconf . ' --kill gpg-agent';
// https://github.com/the-djmaze/snappymail/issues/1560#issuecomment-2144817883 // https://github.com/nextgen-networks/snappymail/issues/1560#issuecomment-2144817883
// if (\version_compare($this->version, '2.4.0', '<')) { // if (\version_compare($this->version, '2.4.0', '<')) {
$cmd .= ' ' . \escapeshellarg($this->options['homedir']); $cmd .= ' ' . \escapeshellarg($this->options['homedir']);
// } // }
@ -402,7 +402,7 @@ abstract class Base
protected function setInput(&$input) : void protected function setInput(&$input) : void
{ {
if (\is_resource($input)) { if (\is_resource($input)) {
// https://github.com/the-djmaze/snappymail/issues/331 // https://github.com/nextgen-networks/snappymail/issues/331
// $meta['stream_type'] == MEMORY or $meta['wrapper_data'] == MailSo\Base\StreamWrappers\Literal // $meta['stream_type'] == MEMORY or $meta['wrapper_data'] == MailSo\Base\StreamWrappers\Literal
$meta = \stream_get_meta_data($input); $meta = \stream_get_meta_data($input);
if (!\in_array($meta['stream_type'], ['STDIO', 'TEMP'])) { if (!\in_array($meta['stream_type'], ['STDIO', 'TEMP'])) {

View file

@ -78,7 +78,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface
/** /**
* TODO: parse result * TODO: parse result
* https://github.com/the-djmaze/snappymail/issues/89 * https://github.com/nextgen-networks/snappymail/issues/89
*/ */
protected function listDecryptKeys(/*string|resource*/ $input, /*string|resource*/ $output = null) protected function listDecryptKeys(/*string|resource*/ $input, /*string|resource*/ $output = null)
{ {
@ -137,7 +137,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface
*/ */
public function decryptVerify(string $text, string &$plaintext) /*: array|false*/ public function decryptVerify(string $text, string &$plaintext) /*: array|false*/
{ {
// TODO: https://github.com/the-djmaze/snappymail/issues/89 // TODO: https://github.com/nextgen-networks/snappymail/issues/89
return false; return false;
} }
@ -146,7 +146,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface
*/ */
public function decryptVerifyFile(string $filename, string &$plaintext) /*: array|false*/ public function decryptVerifyFile(string $filename, string &$plaintext) /*: array|false*/
{ {
// TODO: https://github.com/the-djmaze/snappymail/issues/89 // TODO: https://github.com/nextgen-networks/snappymail/issues/89
return false; return false;
} }

View file

@ -65,7 +65,7 @@ class SMIME extends Base
/** /**
* TODO: parse result * TODO: parse result
* https://github.com/the-djmaze/snappymail/issues/89 * https://github.com/nextgen-networks/snappymail/issues/89
*/ */
protected function listDecryptKeys(/*string|resource*/ $input, /*string|resource*/ $output = null) protected function listDecryptKeys(/*string|resource*/ $input, /*string|resource*/ $output = null)
{ {
@ -134,7 +134,7 @@ class SMIME extends Base
*/ */
public function decryptVerify(string $text, string &$plaintext) /*: array|false*/ public function decryptVerify(string $text, string &$plaintext) /*: array|false*/
{ {
// TODO: https://github.com/the-djmaze/snappymail/issues/89 // TODO: https://github.com/nextgen-networks/snappymail/issues/89
return false; return false;
} }
@ -143,7 +143,7 @@ class SMIME extends Base
*/ */
public function decryptVerifyFile(string $filename, string &$plaintext) /*: array|false*/ public function decryptVerifyFile(string $filename, string &$plaintext) /*: array|false*/
{ {
// TODO: https://github.com/the-djmaze/snappymail/issues/89 // TODO: https://github.com/nextgen-networks/snappymail/issues/89
return false; return false;
} }

View file

@ -28,7 +28,7 @@ class IMagick extends \Imagick implements \SnappyMail\Image
public static function createFromStream($fp) public static function createFromStream($fp)
{ {
// https://github.com/the-djmaze/snappymail/issues/1201 // https://github.com/nextgen-networks/snappymail/issues/1201
$data = \stream_get_contents($fp); $data = \stream_get_contents($fp);
return static::createFromString($data); return static::createFromString($data);
/* /*

View file

@ -104,9 +104,9 @@ abstract class Integrity
'json' => function_exists('json_decode'), 'json' => function_exists('json_decode'),
'libxml' => function_exists('libxml_use_internal_errors'), 'libxml' => function_exists('libxml_use_internal_errors'),
'dom' => class_exists('DOMDocument'), 'dom' => class_exists('DOMDocument'),
// https://github.com/the-djmaze/snappymail/issues/1392 // https://github.com/nextgen-networks/snappymail/issues/1392
'fileinfo' => extension_loaded('fileinfo') 'fileinfo' => extension_loaded('fileinfo')
// https://github.com/the-djmaze/snappymail/issues/392 // https://github.com/nextgen-networks/snappymail/issues/392
// 'phar' => class_exists('PharData') // 'phar' => class_exists('PharData')
); );

View file

@ -15,7 +15,7 @@ class Login extends \SnappyMail\SASL
?string $challenge = null) : string ?string $challenge = null) : string
{ {
// $challenge should be 'VXNlcm5hbWU6', but broken on some systems // $challenge should be 'VXNlcm5hbWU6', but broken on some systems
// See https://github.com/the-djmaze/snappymail/issues/693 // See https://github.com/nextgen-networks/snappymail/issues/693
if ($challenge && !\str_starts_with($this->decode($challenge), 'Username:')) { if ($challenge && !\str_starts_with($this->decode($challenge), 'Username:')) {
throw new \Exception("Invalid response: {$this->decode($challenge)}"); throw new \Exception("Invalid response: {$this->decode($challenge)}");
} }

View file

@ -21,7 +21,7 @@ class Scram extends \SnappyMail\SASL
function __construct(string $algo) function __construct(string $algo)
{ {
if (\stripos($algo, '-PLUS')) { if (\stripos($algo, '-PLUS')) {
// https://github.com/the-djmaze/snappymail/issues/182 // https://github.com/nextgen-networks/snappymail/issues/182
throw new \Exception("SASL SCRAM channel binding unsupported: {$algo}"); throw new \Exception("SASL SCRAM channel binding unsupported: {$algo}");
} }
$algo = \str_replace('sha-', 'sha', \strtolower($algo)); $algo = \str_replace('sha-', 'sha', \strtolower($algo));

View file

@ -40,9 +40,9 @@
<br /> <br />
</span> </span>
<br /> <br />
<a class="btn" href="https://github.com/the-djmaze/snappymail/releases" target="_blank" data-i18n="TAB_ABOUT/BUTTON_RELEASES"></a> <a class="btn" href="https://github.com/nextgen-networks/snappymail/releases" target="_blank" data-i18n="TAB_ABOUT/BUTTON_RELEASES"></a>
<a class="btn" data-bind="visible: coreUpdatable, click: updateCoreData" data-i18n="GLOBAL/UPDATE"></a> <a class="btn" data-bind="visible: coreUpdatable, click: updateCoreData" data-i18n="GLOBAL/UPDATE"></a>
<a class="btn" href="https://github.com/the-djmaze/snappymail/releases/latest" data-bind="visible: !coreUpdatable()" data-i18n="GLOBAL/UPDATE"></a> <a class="btn" href="https://github.com/nextgen-networks/snappymail/releases/latest" data-bind="visible: !coreUpdatable()" data-i18n="GLOBAL/UPDATE"></a>
</div> </div>
<div data-bind="visible: 'up-to-date' === statusType()"> <div data-bind="visible: 'up-to-date' === statusType()">
<i style="color: green"></i> <i style="color: green"></i>
@ -78,7 +78,7 @@
<h3>PHP</h3> <h3>PHP</h3>
<div data-bind="hidden: php64" class="alert"> <div data-bind="hidden: php64" class="alert">
<i class="fontastic" style="color:red"></i> <i class="fontastic" style="color:red"></i>
PHP is running in 32bit mode. <a href="https://github.com/the-djmaze/snappymail/issues/830#issuecomment-1372112793">read here</a> PHP is running in 32bit mode. <a href="https://github.com/nextgen-networks/snappymail/issues/830#issuecomment-1372112793">read here</a>
</div> </div>
<table class="table table-hover table-bordered"><thead><tr> <table class="table table-hover table-bordered"><thead><tr>

View file

@ -9,8 +9,8 @@
<div class="alert alert-error span8" style="margin-top: 10px;"> <div class="alert alert-error span8" style="margin-top: 10px;">
<h4 data-i18n="TAB_GENERAL/ALERT_WARNING"></h4> <h4 data-i18n="TAB_GENERAL/ALERT_WARNING"></h4>
<div data-i18n="TAB_GENERAL/ALERT_DATA_ACCESS"></div> <div data-i18n="TAB_GENERAL/ALERT_DATA_ACCESS"></div>
<a href="https://github.com/the-djmaze/snappymail/wiki/Installation-instructions#secure-data-folder" <a href="https://github.com/nextgen-networks/snappymail/wiki/Installation-instructions#secure-data-folder"
target="_blank"><strong>https://github.com/the-djmaze/snappymail/wiki/Installation-instructions</strong></a> target="_blank"><strong>https://github.com/nextgen-networks/snappymail/wiki/Installation-instructions</strong></a>
</div> </div>
</div> </div>
<div class="form-horizontal"> <div class="form-horizontal">

View file

@ -93,7 +93,7 @@
<h4> <h4>
<span data-i18n="POPUPS_DOMAIN/DISABLE_CAPABILITIES"></span> <span data-i18n="POPUPS_DOMAIN/DISABLE_CAPABILITIES"></span>
<a style="margin-left:0.5em" href="https://github.com/the-djmaze/snappymail/wiki/IMAP-capabilities" target="_blank"></a> <a style="margin-left:0.5em" href="https://github.com/nextgen-networks/snappymail/wiki/IMAP-capabilities" target="_blank"></a>
</h4> </h4>
<div data-bind="foreach: imapCapabilities" style="columns: 16em auto"> <div data-bind="foreach: imapCapabilities" style="columns: 16em auto">

View file

@ -1,6 +1,6 @@
<?php <?php
// cPanel https://github.com/the-djmaze/snappymail/issues/697 // cPanel https://github.com/nextgen-networks/snappymail/issues/697
if (defined('APP_PLUGINS_PATH') && !empty($_ENV['CPANEL']) && !is_dir(APP_PLUGINS_PATH.'login-cpanel')) { if (defined('APP_PLUGINS_PATH') && !empty($_ENV['CPANEL']) && !is_dir(APP_PLUGINS_PATH.'login-cpanel')) {
$asApi = !empty($_ENV['SNAPPYMAIL_INCLUDE_AS_API']); $asApi = !empty($_ENV['SNAPPYMAIL_INCLUDE_AS_API']);
$_ENV['SNAPPYMAIL_INCLUDE_AS_API'] = true; $_ENV['SNAPPYMAIL_INCLUDE_AS_API'] = true;

View file

@ -128,7 +128,7 @@ if (isset($_SERVER['HTTPS']) && !headers_sent()) {
header('Strict-Transport-Security: max-age=31536000'); header('Strict-Transport-Security: max-age=31536000');
} }
// cPanel https://github.com/the-djmaze/snappymail/issues/697 // cPanel https://github.com/nextgen-networks/snappymail/issues/697
if (!empty($_ENV['CPANEL']) && !is_dir(APP_PLUGINS_PATH.'login-remote')) { if (!empty($_ENV['CPANEL']) && !is_dir(APP_PLUGINS_PATH.'login-remote')) {
require __DIR__ . '/cpanel.php'; require __DIR__ . '/cpanel.php';
} }