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]
**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)
**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/`
3. Install yarn - `https://yarnpkg.com/en/docs/install`
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`
7. `cd snappymail`
8. Install all dependencies - `yarn install`

View file

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

View file

@ -53,7 +53,7 @@ passthru('mv '
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();
chdir($TARGET_DIR);
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
Architecture: all
Homepage: https://snappymail.eu
Vcs-Browser: https://github.com/the-djmaze/snappymail
Vcs-Git: https://github.com/the-djmaze/snappymail.git
Vcs-Browser: https://github.com/nextgen-networks/snappymail/
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.
It supports IMAP, SMTP and Sieve protocols, multiple accounts and identities, an admin panel for configuration.
Plugins can be installed to further extend functionality.

View file

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

View file

@ -308,16 +308,16 @@ export const
// Not supported by <template> element
// .replace(/<!doctype[^>]*>/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(/<(\/?)head(\s[^>]*)?>/gi, '')
.replace(/<(\/?)body(\s[^>]*)?>/gi, '<$1div class="mail-body"$2>')
// .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>/, '')
// https://github.com/the-djmaze/snappymail/issues/900
// https://github.com/nextgen-networks/snappymail/issues/900
.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>')
.trim();
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(
@ -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');
[...tmpl.content.querySelectorAll('.mail-body + .mail-body')]
.forEach(oElement => body.append(...oElement.childNodes));
@ -626,7 +626,7 @@ export const
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)) {
oStyle.removeProperty('font-size');
}
@ -775,7 +775,7 @@ export const
plain = plain.toString()
.replace(/\r/g, '')
.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,' ');
let bIn = false,

View file

@ -56,7 +56,7 @@ loadAccountsAndIdentities = () => {
);
// 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();
main && !main.exists() && setTimeout(()=>editIdentity(main), 1000);
}
@ -69,7 +69,7 @@ loadAccountsAndIdentities = () => {
*/
download = (link, name = "") => {
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)) {
open(link, '_blank');
focus();

View file

@ -143,7 +143,7 @@ export class EmailAddressesComponent {
datalist.append(new Option(item));
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;
if (input.clientWidth < chars) {
input.style.width = chars + 'px';

View file

@ -38,13 +38,13 @@ class SquireUI
const
clr = createElement('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.width = input.offsetWidth + 'px';
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});
setTimeout(()=>clr.click(),1);
},
@ -263,7 +263,7 @@ class SquireUI
clr.type = 'color';
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',
colorlist = doc.getElementById(clrid),
add = hex => colorlist.append(new Option(hex));

View file

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

View file

@ -47,7 +47,7 @@ fetchJSON = (action, sUrl, params, timeout, jsonCallback) => {
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);
const controller = new AbortController(),
signal = controller.signal;

View file

@ -77,7 +77,7 @@ export class UserSettingsSecurity extends AbstractViewSettings {
*/
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) => {
console.dir([iError, data]);
});

View file

@ -10,7 +10,7 @@ let __themeTimer = 0;
export const
// Also see Styles/_Values.less @maxMobileWidth
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)'),
ThemeStore = {

View file

@ -508,7 +508,7 @@ MessagelistUserStore.moveMessages = (
} else {
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()) {
let next = MessagelistUserStore.indexOf(currentMessage) + 1;
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) {
dialog {

View file

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

View file

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

View file

@ -269,7 +269,7 @@ export class DomainPopupView extends AbstractViewPopup {
testConnectionCommand() {
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 => {
if (credentials) {
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
https://github.com/Yeraze/ytnef
https://github.com/the-djmaze/snappymail/discussions/1012
https://github.com/nextgen-networks/snappymail/discussions/1012
--=-2UbcDuksJBAwUNBNW7UD
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
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 && \
rm /tmp/snappymail.zip && \
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.
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>
<namespace>SnappyMail</namespace>
<documentation>
<user>https://github.com/the-djmaze/snappymail/blob/master/integrations/nextcloud/snappymail/README.md</user>
<admin>https://github.com/the-djmaze/snappymail/wiki/Admin-Manual</admin>
<developer>https://github.com/the-djmaze/snappymail/wiki/Developer-Documentation</developer>
<website>https://github.com/the-djmaze/snappymail/wiki</website>
<user>https://github.com/nextgen-networks/snappymail/blob/master/integrations/nextcloud/snappymail/README.md</user>
<admin>https://github.com/nextgen-networks/snappymail/wiki/Admin-Manual</admin>
<developer>https://github.com/nextgen-networks/snappymail/wiki/Developer-Documentation</developer>
<website>https://github.com/nextgen-networks/snappymail/wiki</website>
</documentation>
<category>integration</category>
<category>office</category>
<category>search</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>
<discussion>https://github.com/the-djmaze/snappymail/discussions</discussion>
<repository>https://github.com/the-djmaze/snappymail/tree/master/integrations/nextcloud</repository>
<bugs>https://github.com/the-djmaze/snappymail/issues</bugs>
<discussion>https://github.com/nextgen-networks/snappymail/discussions</discussion>
<repository>https://github.com/nextgen-networks/snappymail/tree/master/integrations/nextcloud</repository>
<bugs>https://github.com/nextgen-networks/snappymail/issues</bugs>
<dependencies>
<php min-version="7.4" min-int-size="32" />
<lib>mbstring</lib>

View file

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

View file

@ -48,7 +48,7 @@ class InstallStep implements IRepairStep
$app_dir = \dirname(\dirname(__DIR__)) . '/app';
// $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')) {
\rename($app_dir . '/_htaccess', $app_dir . '/.htaccess');
}
@ -125,7 +125,7 @@ class InstallStep implements IRepairStep
// 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
// 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 {
$customConfigFile = $this->config->getAppValue(Application::APP_ID, 'custom_config_file');
if ($customConfigFile) {

View file

@ -82,7 +82,7 @@ class SnappyMailHelper
$aCredentials = static::getLoginCredentials();
/*
// 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
require \OC::$SERVERROOT . '/version.php';
// \OC\SystemConfig
@ -128,7 +128,7 @@ class SnappyMailHelper
if ($handle) {
\header_remove('Content-Security-Policy');
\RainLoop\Service::Handle();
// https://github.com/the-djmaze/snappymail/issues/1069
// https://github.com/nextgen-networks/snappymail/issues/1069
exit;
// return new SnappyMailResponse();
}

View file

@ -5,16 +5,16 @@
## Changed
- 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
- Moved application.ini labs.use_app_debug_* to debug.*
## Fixed
- Dutch translation for confusing message (threads vs grouped)
- 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
[#787](https://github.com/the-djmaze/snappymail/pull/787)
[#787](https://github.com/nextgen-networks/snappymail/pull/787)
## 2.24.3 2022-12-28
@ -24,32 +24,32 @@
## Fixed
- 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
[#802](https://github.com/the-djmaze/snappymail/pull/802)
[#802](https://github.com/nextgen-networks/snappymail/pull/802)
## 2.24.2 2022-12-27
### Changed
- 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
[#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
- Thread view now has tree indentation
### Fixed
- 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
[#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
[#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
[#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
[#799](https://github.com/the-djmaze/snappymail/pull/799)
[#799](https://github.com/nextgen-networks/snappymail/pull/799)
## 2.24.1 2022-12-23
@ -58,15 +58,15 @@
- Intl.DateTimeFormat() into toLocaleString() for iOS < 14
- Cleanup locale date/time handling
- Make MessageList per day optional
[#737](https://github.com/the-djmaze/snappymail/pull/737)
[#737](https://github.com/nextgen-networks/snappymail/pull/737)
### Fixed
- 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
[#789](https://github.com/the-djmaze/snappymail/pull/789)
[#789](https://github.com/nextgen-networks/snappymail/pull/789)
- 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
@ -79,24 +79,24 @@
### Changed
- 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
[#280](https://github.com/the-djmaze/snappymail/pull/280)
[#280](https://github.com/nextgen-networks/snappymail/pull/280)
- PHP classes use typed properties
- Speedup Contacts Suggestions handling
- Check SMTP SIZE
[#779](https://github.com/the-djmaze/snappymail/pull/779)
[#779](https://github.com/nextgen-networks/snappymail/pull/779)
### Fixed
- Handle multiple DKIM signatures authentication results
- Reload admin extensions on update
- SieveClient quoted string parsing failed
- 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
[#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
[#780](https://github.com/the-djmaze/snappymail/pull/780)
[#780](https://github.com/nextgen-networks/snappymail/pull/780)
### Removed
- Some unused plugin hooks to improve Action handling speed
@ -111,16 +111,16 @@
- Merge MailSo\Mail\Folder into MailSo\Imap\Folder and speedup process
- SnappyMail\Imap\Sync now matches folders based on JMAP role
- 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
[#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
### Fixed
- 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
[#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
- CSS .e-checkbox.material-design invisible on show/hide
@ -129,33 +129,33 @@
### Added
- 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
### Changed
- 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
- Changed some Plugin hooks for better handling:
* json.action-pre-call => json.before-{actionname}
* json.action-post-call => json.after-{actionname}
- Cleaner accounts list in systemdropdown
- 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
- 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
[#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
[#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
[#755](https://github.com/the-djmaze/snappymail/pull/755)
[#755](https://github.com/nextgen-networks/snappymail/pull/755)
- Unsupported SASL mechanism OAUTHBEARER
[#756](https://github.com/the-djmaze/snappymail/pull/756)
[#758](https://github.com/the-djmaze/snappymail/pull/758)
[#759](https://github.com/the-djmaze/snappymail/pull/759)
[#756](https://github.com/nextgen-networks/snappymail/pull/756)
[#758](https://github.com/nextgen-networks/snappymail/pull/758)
[#759](https://github.com/nextgen-networks/snappymail/pull/759)
- border-box issue with .buttonCompose
### Removed
@ -166,15 +166,15 @@
### Changed
- 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
- Undefined property: MailSo\Mail\FolderCollection::$capabilities
- 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
[#745](https://github.com/the-djmaze/snappymail/pull/745)
[#746](https://github.com/the-djmaze/snappymail/pull/746)
[#748](https://github.com/the-djmaze/snappymail/pull/748)
[#745](https://github.com/nextgen-networks/snappymail/pull/745)
[#746](https://github.com/nextgen-networks/snappymail/pull/746)
[#748](https://github.com/nextgen-networks/snappymail/pull/748)
- Admin domain test undefined matched domain should say email@example matched domain
@ -182,15 +182,15 @@
### Changed
- 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
[#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()
- Update Chinese translation by @mayswind
### Fixed
- 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
- IMAP SELECT/EXAMINE unset `UNSEEN` because IMAP4rev2 deprecated
@ -201,7 +201,7 @@
### Added
- Support plugin minified .min.js and .min.css
- ZIP Download multiple emails
[#717](https://github.com/the-djmaze/snappymail/pull/717)
[#717](https://github.com/nextgen-networks/snappymail/pull/717)
### Changed
- Replaced some data-bind="click: function(){} with object functions to prevent eval()
@ -210,12 +210,12 @@
### Fixed
- Settings Themes style due to border-box change
- "Remember me" failed due to v2.22.4 Session token change
[#719](https://github.com/the-djmaze/snappymail/pull/719)
[#731](https://github.com/the-djmaze/snappymail/pull/731)
[#719](https://github.com/nextgen-networks/snappymail/pull/719)
[#731](https://github.com/nextgen-networks/snappymail/pull/731)
### Removed
- 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
@ -223,19 +223,19 @@
### Changed
- Contacts dialog layout using flex
- 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
[#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
[#355](https://github.com/the-djmaze/snappymail/pull/355)
[#355](https://github.com/nextgen-networks/snappymail/pull/355)
### Fixed
- 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
[#710](https://github.com/the-djmaze/snappymail/pull/710)
[#710](https://github.com/nextgen-networks/snappymail/pull/710)
- 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
@ -245,14 +245,14 @@
### Changed
- 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
### Fixed
- 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
[#704](https://github.com/the-djmaze/snappymail/pull/704)
[#704](https://github.com/nextgen-networks/snappymail/pull/704)
## 2.22.2 2022-11-24
@ -265,50 +265,50 @@
### Added
- 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
- 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"
[#677](https://github.com/the-djmaze/snappymail/pull/677)
[#677](https://github.com/nextgen-networks/snappymail/pull/677)
- Better drag & drop solution for leftPanel
### Fixed
- 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
[#689](https://github.com/the-djmaze/snappymail/pull/689)
[#689](https://github.com/nextgen-networks/snappymail/pull/689)
- 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
### Added
- 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
[#361](https://github.com/the-djmaze/snappymail/pull/361)
[#361](https://github.com/nextgen-networks/snappymail/pull/361)
### Changed
- 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;
- Make messageview a bit larger so that it is the same height as the messagelist
- Cleanup and rearrange some fontastic glyphs
- Also show From email address by default
[#683](https://github.com/the-djmaze/snappymail/pull/683)
[#683](https://github.com/nextgen-networks/snappymail/pull/683)
### Fixed
- Contact.display() returns [object Object]
- When left panel disabled and drag messages, show it
- Issue with admin domain connection type settings selectbox
[#689](https://github.com/the-djmaze/snappymail/pull/689)
[#689](https://github.com/nextgen-networks/snappymail/pull/689)
- 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
[#685](https://github.com/the-djmaze/snappymail/pull/685)
[#685](https://github.com/nextgen-networks/snappymail/pull/685)
### Removed
- Removed inline parameter of checkbox and select components
@ -321,18 +321,18 @@
### Changed
- 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 DAV connection logging
### Fixed
- Handling attachments MIME type / content-type
- 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
[#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
[#679](https://github.com/the-djmaze/snappymail/pull/679)
[#679](https://github.com/nextgen-networks/snappymail/pull/679)
### Removed
- \MailSo\Mime\Enumerations\MimeType
@ -340,21 +340,21 @@
### Nextcloud
- Use fontastic in Nextcloud Files selector dialog
- 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
### Added
- 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
[#662](https://github.com/the-djmaze/snappymail/pull/662)
[#662](https://github.com/nextgen-networks/snappymail/pull/662)
### Changed
- 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
[#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
- JavaScript rl.setWindowTitle() renamed to rl.setTitle()
@ -363,28 +363,28 @@
### Nextcloud
- Workaround Nextcloud calendar crashes
[#622](https://github.com/the-djmaze/snappymail/pull/622)
[#661](https://github.com/the-djmaze/snappymail/pull/661)
[#622](https://github.com/nextgen-networks/snappymail/pull/622)
[#661](https://github.com/nextgen-networks/snappymail/pull/661)
- 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
### Fixed
- Crypt crashes when Sodium not installed
[#641](https://github.com/the-djmaze/snappymail/pull/641)
[#657](https://github.com/the-djmaze/snappymail/pull/657)
[#663](https://github.com/the-djmaze/snappymail/pull/663)
[#664](https://github.com/the-djmaze/snappymail/pull/664)
[#668](https://github.com/the-djmaze/snappymail/pull/668)
[#669](https://github.com/the-djmaze/snappymail/pull/669)
[#641](https://github.com/nextgen-networks/snappymail/pull/641)
[#657](https://github.com/nextgen-networks/snappymail/pull/657)
[#663](https://github.com/nextgen-networks/snappymail/pull/663)
[#664](https://github.com/nextgen-networks/snappymail/pull/664)
[#668](https://github.com/nextgen-networks/snappymail/pull/668)
[#669](https://github.com/nextgen-networks/snappymail/pull/669)
- 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
- 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
@ -392,11 +392,11 @@
### Added
- Put messagelist top bar buttons also in dropdown
- 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
[#643](https://github.com/the-djmaze/snappymail/pull/643)
[#643](https://github.com/nextgen-networks/snappymail/pull/643)
- Allow an account name/label
[#571](https://github.com/the-djmaze/snappymail/pull/571)
[#571](https://github.com/nextgen-networks/snappymail/pull/571)
### Changed
- Moved ServiceRemoteAutoLogin to plugin/extension
@ -407,13 +407,13 @@
setting SSL options per domain and verify_certificate by default
- Update plugins to use new Net/Imap/Smtp/Sieve Settings object
- 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
- 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](https://github.com/the-djmaze/snappymail/pull/641)
[#641](https://github.com/nextgen-networks/snappymail/pull/641)
### Nextcloud
- Style PopupsNextcloudFiles view
@ -424,7 +424,7 @@
### Fixed
- ?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
@ -432,8 +432,8 @@
### Nextcloud
- Improved workaround for Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633)
Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -444,8 +444,8 @@
### Nextcloud
- Workaround Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633)
Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -453,7 +453,7 @@
### Added
- Throw decrypt errors
[#632](https://github.com/the-djmaze/snappymail/issues/632)
[#632](https://github.com/nextgen-networks/snappymail/issues/632)
### Changed
- Better multiple WYSIWYG registration system (not finished)
@ -461,24 +461,24 @@
### Fixed
- 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
### Nextcloud
- Better handling of Content-Security-Policy
[#631](https://github.com/the-djmaze/snappymail/issues/631)
[#633](https://github.com/the-djmaze/snappymail/issues/633)
[#631](https://github.com/nextgen-networks/snappymail/issues/631)
[#633](https://github.com/nextgen-networks/snappymail/issues/633)
- 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
[#635](https://github.com/the-djmaze/snappymail/issues/635)
[#635](https://github.com/nextgen-networks/snappymail/issues/635)
## 2.20.2 2022-11-05
### Added
- 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
- Some CSS borders to var(--border-color)
@ -486,11 +486,11 @@
### Fixed
- pgpDecrypt() using MailVelope the decrypt message was not green
- 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
- 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
@ -507,11 +507,11 @@
- Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher
- 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
[#622](https://github.com/the-djmaze/snappymail/issues/622)
[#622](https://github.com/nextgen-networks/snappymail/issues/622)
- 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
@ -529,7 +529,7 @@
### Nextcloud
- 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
@ -541,17 +541,17 @@
### Fixed
- 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
[#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
[#601](https://github.com/the-djmaze/snappymail/issues/601)
[#601](https://github.com/nextgen-networks/snappymail/issues/601)
- 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
[#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
[#610](https://github.com/the-djmaze/snappymail/issues/610)
[#610](https://github.com/nextgen-networks/snappymail/issues/610)
- Create .pgp directory was missing
### Security
@ -562,11 +562,11 @@
### Added
- 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
[#590](https://github.com/the-djmaze/snappymail/issues/590)
[#590](https://github.com/nextgen-networks/snappymail/issues/590)
### Fixed
- 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
- Base Domain setup enhancements
@ -602,7 +602,7 @@
### Fixed
- 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
### Nextcloud
@ -614,7 +614,7 @@
### Fixed
- ?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
@ -622,8 +622,8 @@
### Nextcloud
- Improved workaround for Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633)
Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -634,8 +634,8 @@
### Nextcloud
- Workaround Nextcloud Content-Security-Policy bug
Safari [#631](https://github.com/the-djmaze/snappymail/issues/631)
Edge [#633](https://github.com/the-djmaze/snappymail/issues/633)
Safari [#631](https://github.com/nextgen-networks/snappymail/issues/631)
Edge [#633](https://github.com/nextgen-networks/snappymail/issues/633)
Reported [#35013](https://github.com/nextcloud/server/issues/35013)
@ -643,7 +643,7 @@
### Added
- Throw decrypt errors
[#632](https://github.com/the-djmaze/snappymail/issues/632)
[#632](https://github.com/nextgen-networks/snappymail/issues/632)
### Changed
- Better multiple WYSIWYG registration system (not finished)
@ -651,24 +651,24 @@
### Fixed
- 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
### Nextcloud
- Better handling of Content-Security-Policy
[#631](https://github.com/the-djmaze/snappymail/issues/631)
[#633](https://github.com/the-djmaze/snappymail/issues/633)
[#631](https://github.com/nextgen-networks/snappymail/issues/631)
[#633](https://github.com/nextgen-networks/snappymail/issues/633)
- 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
[#635](https://github.com/the-djmaze/snappymail/issues/635)
[#635](https://github.com/nextgen-networks/snappymail/issues/635)
## 2.20.2 2022-11-05
### Added
- 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
- Some CSS borders to var(--border-color)
@ -676,11 +676,11 @@
### Fixed
- pgpDecrypt() using MailVelope the decrypt message was not green
- 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
- 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
@ -697,11 +697,11 @@
- Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher
- 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
[#622](https://github.com/the-djmaze/snappymail/issues/622)
[#622](https://github.com/nextgen-networks/snappymail/issues/622)
- 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
@ -719,7 +719,7 @@
### Nextcloud
- 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
@ -731,17 +731,17 @@
### Fixed
- 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
[#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
[#601](https://github.com/the-djmaze/snappymail/issues/601)
[#601](https://github.com/nextgen-networks/snappymail/issues/601)
- 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
[#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
[#610](https://github.com/the-djmaze/snappymail/issues/610)
[#610](https://github.com/nextgen-networks/snappymail/issues/610)
- Create .pgp directory was missing
### Security
@ -752,11 +752,11 @@
### Added
- 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
[#590](https://github.com/the-djmaze/snappymail/issues/590)
[#590](https://github.com/nextgen-networks/snappymail/issues/590)
### Fixed
- 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
- Base Domain setup enhancements

View file

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

View file

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

View file

@ -30,7 +30,7 @@ class SnappyMailHelper
$app_dir = \dirname(\dirname(__DIR__)) . '/app';
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')) {
rename($app_dir . '/_htaccess', $app_dir . '/.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();
/*
// 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
require \OC::$SERVERROOT . '/version.php';
// \OC\SystemConfig

View file

@ -153,7 +153,7 @@ sub script_snappymail_files
local ($d, $ver, $opts, $upgrade) = @_;
local @files = ( { 'name' => "source",
'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;
}

View file

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

View file

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

View file

@ -7,7 +7,7 @@
* be set to to 'example.com'.
*
* 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")) {
$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)
// || !$this->Config()->Get('plugin', 'delay', true)
|| $this->Config()->Get('plugin', 'gravatar', false)

View file

@ -5,7 +5,7 @@ class CompactComposerPlugin extends \RainLoop\Plugins\AbstractPlugin
const
NAME = 'Compact Composer',
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',
RELEASE = '2024-08-08',
REQUIRED = '2.34.0',

View file

@ -306,7 +306,7 @@
const clr = this.makeClr();
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.width = input.offsetWidth + 'px';
@ -324,7 +324,7 @@
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});
setTimeout(() => clr.click(), 1);
};
@ -653,7 +653,7 @@
/**@type {HTMLInputElement} clr*/
const clr = createElement('input');
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',
colorlist = doc.getElementById(clrid),
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');
}
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']);
if (false !== \strpos($latin, 'nigger')) {
\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
}
//Basing on https://github.com/the-djmaze/snappymail/issues/616
//Basing on https://github.com/nextgen-networks/snappymail/issues/616
$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.
//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!
//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 (!$oActions->StorageProvider()->Put($oAccount, StorageType::ROOT, '.cryptkey', "")) {
$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.
\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!
\nSee https://github.com/the-djmaze/snappymail/issues/1570#issuecomment-2085528061")
\nSee https://github.com/nextgen-networks/snappymail/issues/1570#issuecomment-2085528061")
->SetDefaultValue(false),
]);

View file

@ -58,7 +58,7 @@ class LogincPanelPlugin extends \RainLoop\Plugins\AbstractPlugin
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'])
if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) {
if (empty($_ENV['REMOTE_TEMP_USER'])) {

View file

@ -148,7 +148,7 @@ class LoginGMailPlugin extends \RainLoop\Plugins\AbstractPlugin
->SetLabel('Client ID')
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
->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')
->SetLabel('Client Secret')
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)

View file

@ -166,7 +166,7 @@ class LoginO365Plugin extends \RainLoop\Plugins\AbstractPlugin
->SetLabel('Client ID')
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING)
->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')
->SetLabel('Client Secret')
->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)
{
// cPanel https://github.com/the-djmaze/snappymail/issues/697
// cPanel https://github.com/nextgen-networks/snappymail/issues/697
// && !empty($_ENV['CPANEL'])
if (static::$login/* && $sImapUser == $_ENV['REMOTE_USER']*/) {
if (empty($_ENV['REMOTE_TEMP_USER'])) {

View file

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

View file

@ -35,7 +35,7 @@
});
if (urls.length) {
// 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 file

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

View file

@ -113,7 +113,7 @@ const
}
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));
return Promise.resolve(elemList);
});
@ -122,7 +122,7 @@ const
buildTree = (view, parent, items, path) => {
if (items.length) {
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'});
items.sort((a, b) => collator.compare(a.name, b.name));
} catch (e) {

View file

@ -5,7 +5,7 @@ class SearchFiltersPlugin extends \RainLoop\Plugins\AbstractPlugin
public const
NAME = 'Search Filters',
AUTHOR = 'AbdoBnHesham',
URL = 'https://github.com/the-djmaze/snappymail/pull/1673',
URL = 'https://github.com/nextgen-networks/snappymail/pull/1673',
VERSION = '0.2',
RELEASE = '2024-06-28',
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 => {
if (!e.detail.startsWith('settings') && rl.settings.get('SetupTwoFactor')) {
e.preventDefault();

View file

@ -41,9 +41,9 @@ abstract class DateTimeHelper
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);
// https://github.com/the-djmaze/snappymail/issues/1694#issuecomment-2270983942
// https://github.com/nextgen-networks/snappymail/issues/1694#issuecomment-2270983942
// Strip day-of-week
$sDateTime = \preg_replace('/^[^,]+,/', '', $sDateTime);
// Add optional seconds

View file

@ -219,7 +219,7 @@ class BodyStructure implements \JsonSerializable
/**
* Still no text found?
* 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) {
$gParts = $this->SearchByCallback(fn($oItem) => $oItem->isText());

View file

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

View file

@ -315,7 +315,7 @@ class SearchCriterias
}
break;
// https://github.com/the-djmaze/snappymail/issues/625
// https://github.com/nextgen-networks/snappymail/issues/625
case 'READ':
case 'UNREAD':
$aCriteriasResult[] = \str_replace('READ', 'SEEN', $sName);
@ -369,7 +369,7 @@ class SearchCriterias
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 \MailSo\Base\Utils::IsAscii($sSearch) || $oImapClient->hasCapability('QQMail'))
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.
* https://github.com/the-djmaze/snappymail/issues/1
* https://github.com/the-djmaze/snappymail/issues/70
* https://github.com/nextgen-networks/snappymail/issues/1
* https://github.com/nextgen-networks/snappymail/issues/70
* The fix RainLoop implemented isn't correct either.
* This one should as RFC 3501 only mentions:
*

View file

@ -123,7 +123,7 @@ trait Status
if (\is_string($value)) {
$this->MAILBOXID = \base64_encode($value);
} 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.");
}
} else {
@ -172,7 +172,7 @@ trait Status
$oResponse->ResponseList[3][$i+1]
);
} 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]}");
}
}

View file

@ -249,7 +249,7 @@ class Message implements \JsonSerializable
$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)
|| \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 string $stripLogin = '';
public array $SASLMechanisms = [
// https://github.com/the-djmaze/snappymail/issues/182
// https://github.com/nextgen-networks/snappymail/issues/182
'SCRAM-SHA3-512',
'SCRAM-SHA-512',
'SCRAM-SHA-256',

View file

@ -187,7 +187,7 @@ class SieveClient extends \MailSo\Net\NetClient
try {
$this->sendRequestWithCheck('LOGOUT');
} 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->bIsLoggined = false;

View file

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

View file

@ -162,7 +162,7 @@ class SmtpClient extends \MailSo\Net\NetClient
$SASL = \SnappyMail\SASL::factory($type);
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
{
$sRequest = $SASL->authenticate($sLogin, $sPassword);

View file

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

View file

@ -66,7 +66,7 @@ trait Folders
}
}
} 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';
// $this->DomainProvider()->Save($oAccount->Domain());
}
@ -78,7 +78,7 @@ trait Folders
}
}
} 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';
// $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', '');
if ($sPublicKey) {
$oMessage->Attachments()->append(
@ -1199,7 +1199,7 @@ trait Messages
if ($sFingerprint) {
$GPG = $this->GnuPG();
/*
// https://github.com/the-djmaze/snappymail/issues/1587
// https://github.com/nextgen-networks/snappymail/issues/1587
if ($this->GetActionParam('attachPublicKey', false)) {
$sPublicKey = $GPG->export($sFingerprint);
$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)) {
$oMessage->Attachments()->append(
new \MailSo\Mime\Attachment(

View file

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

View file

@ -259,7 +259,7 @@ trait UserAuth
if ($aData) {
/**
* 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);
if (!$sToken) {

View file

@ -65,7 +65,7 @@ abstract class Base
if ($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')) {
$options[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = $oSettings->sslVerify;
}

View file

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

View file

@ -125,7 +125,7 @@ class Utils
return self::WebPath() . 'snappymail/v/' . APP_VERSION . '/';
/**
* 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);
}

View file

@ -118,7 +118,7 @@ class Cookies
static::init();
$sPath = static::$DefaultPath;
$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.
$iMaxSize = 4000 - \strlen($sPath . $sName);
/*

View file

@ -79,7 +79,7 @@ abstract class Base
$gpgconf = static::findBinary('gpgconf');
if ($gpgconf) {
$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', '<')) {
$cmd .= ' ' . \escapeshellarg($this->options['homedir']);
// }
@ -402,7 +402,7 @@ abstract class Base
protected function setInput(&$input) : void
{
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_get_meta_data($input);
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
* 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)
{
@ -137,7 +137,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface
*/
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;
}
@ -146,7 +146,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface
*/
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;
}

View file

@ -65,7 +65,7 @@ class SMIME extends Base
/**
* 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)
{
@ -134,7 +134,7 @@ class SMIME extends Base
*/
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;
}
@ -143,7 +143,7 @@ class SMIME extends Base
*/
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;
}

View file

@ -28,7 +28,7 @@ class IMagick extends \Imagick implements \SnappyMail\Image
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);
return static::createFromString($data);
/*

View file

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

View file

@ -15,7 +15,7 @@ class Login extends \SnappyMail\SASL
?string $challenge = null) : string
{
// $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:')) {
throw new \Exception("Invalid response: {$this->decode($challenge)}");
}

View file

@ -21,7 +21,7 @@ class Scram extends \SnappyMail\SASL
function __construct(string $algo)
{
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}");
}
$algo = \str_replace('sha-', 'sha', \strtolower($algo));

View file

@ -40,9 +40,9 @@
<br />
</span>
<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" 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 data-bind="visible: 'up-to-date' === statusType()">
<i style="color: green"></i>
@ -78,7 +78,7 @@
<h3>PHP</h3>
<div data-bind="hidden: php64" class="alert">
<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>
<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;">
<h4 data-i18n="TAB_GENERAL/ALERT_WARNING"></h4>
<div data-i18n="TAB_GENERAL/ALERT_DATA_ACCESS"></div>
<a href="https://github.com/the-djmaze/snappymail/wiki/Installation-instructions#secure-data-folder"
target="_blank"><strong>https://github.com/the-djmaze/snappymail/wiki/Installation-instructions</strong></a>
<a href="https://github.com/nextgen-networks/snappymail/wiki/Installation-instructions#secure-data-folder"
target="_blank"><strong>https://github.com/nextgen-networks/snappymail/wiki/Installation-instructions</strong></a>
</div>
</div>
<div class="form-horizontal">

View file

@ -93,7 +93,7 @@
<h4>
<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>
<div data-bind="foreach: imapCapabilities" style="columns: 16em auto">

View file

@ -1,6 +1,6 @@
<?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')) {
$asApi = !empty($_ENV['SNAPPYMAIL_INCLUDE_AS_API']);
$_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');
}
// 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')) {
require __DIR__ . '/cpanel.php';
}