IMAP notify support

pull/190/head
M66B 4 years ago
parent e571a97ffc
commit 01ed43686c

@ -287,6 +287,7 @@ Fonts, sizes, colors, etc should be material design whenever possible.
* [(159) What are Disconnect's tracker protection lists?](#user-content-faq159) * [(159) What are Disconnect's tracker protection lists?](#user-content-faq159)
* [(160) Can you add permanent deletion of messages without confirmation?](#user-content-faq160) * [(160) Can you add permanent deletion of messages without confirmation?](#user-content-faq160)
* [(161) Can you add a setting to change the primary and accent color?](#user-content-faq161) * [(161) Can you add a setting to change the primary and accent color?](#user-content-faq161)
* [(162) Is IMAP NOTIFY supported?](#user-content-faq162)
[I have another question.](#user-content-support) [I have another question.](#user-content-support)
@ -2834,18 +2835,6 @@ Reformatting and displaying such messages will take too long. You can try to use
<a name="faq125"></a> <a name="faq125"></a>
**(125) What are the current experimental features?** **(125) What are the current experimental features?**
*[IMAP NOTIFY](https://tools.ietf.org/html/rfc5465) support (version 1.1413+)*
IMAP NOTIFY support means that notifications for added, changed or deleted messages of all *subscribed* folders will be requested
and if a notification is received for a subscribed folder, that the folder will be synchronized.
Synchronization for subscribed folders can therefore be disable, saving folder connections to the email server.
**Important**: push messages (=always sync) for the inbox needs to be enabled.
**Important**: most email server do not support this! You can check the log via the navigation menu if an email server supports the NOTIFY capability.
<br />
*Message classification (version 1.1438+)* *Message classification (version 1.1438+)*
Messages will be classified based on the message text, Messages will be classified based on the message text,
@ -2864,8 +2853,6 @@ Classification will be done for the inbox, spam folder and user folders only.
Classification is optimized to use as little resources as possible, but will inevitably use some extra battery power. Classification is optimized to use as little resources as possible, but will inevitably use some extra battery power.
<br />
You can enable experimental features in the miscellaneous settings. You can enable experimental features in the miscellaneous settings.
<br /> <br />
@ -3419,6 +3406,20 @@ but unfortunately Android themes are fixed, see for example [here](https://stack
<br /> <br />
<a name="faq162"></a>
**(162) Is IMAP NOTIFY supported?***
Yes, [IMAP NOTIFY](https://tools.ietf.org/html/rfc5465) has been supported since version 1.1413.
IMAP NOTIFY support means that notifications for added, changed or deleted messages of all *subscribed* folders will be requested
and if a notification is received for a subscribed folder, that the folder will be synchronized.
Synchronization for subscribed folders can therefore be disable, saving folder connections to the email server.
**Important**: push messages (=always sync) for the inbox and subscription management (receive settings) need to be enabled.
**Important**: most email servers do not support this! You can check the log via the navigation menu if an email server supports the NOTIFY capability.
<br />
## Get support ## Get support

@ -392,7 +392,7 @@ public class ApplicationEx extends Application implements SharedPreferences.OnSh
else if (version < 1413) else if (version < 1413)
editor.remove("experiments"); editor.remove("experiments");
else if (version < 1439) { else if (version < 1439) {
if (BuildConfig.PLAY_STORE_RELEASE) if (!BuildConfig.DEBUG)
editor.remove("experiments"); editor.remove("experiments");
} }

@ -1013,7 +1013,6 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
// Debug // Debug
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean subscriptions = prefs.getBoolean("subscriptions", false); boolean subscriptions = prefs.getBoolean("subscriptions", false);
boolean experiments = prefs.getBoolean("experiments", false);
boolean debug = (prefs.getBoolean("debug", false) || BuildConfig.DEBUG); boolean debug = (prefs.getBoolean("debug", false) || BuildConfig.DEBUG);
final EmailService iservice = new EmailService( final EmailService iservice = new EmailService(
@ -1099,7 +1098,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
if (!capIdle || account.poll_interval < OPTIMIZE_KEEP_ALIVE_INTERVAL) if (!capIdle || account.poll_interval < OPTIMIZE_KEEP_ALIVE_INTERVAL)
optimizeAccount(account, "IDLE"); optimizeAccount(account, "IDLE");
final boolean capNotify = (experiments && iservice.hasCapability("NOTIFY")); final boolean capNotify = iservice.hasCapability("NOTIFY");
db.account().setAccountState(account.id, "connected"); db.account().setAccountState(account.id, "connected");
db.account().setAccountError(account.id, null); db.account().setAccountError(account.id, null);

Loading…
Cancel
Save