Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDLE keepalives are not sent frequently enough on Android when the app is suspended #6533

Open
link2xt opened this issue Feb 11, 2025 · 0 comments
Labels
bug Something is not working

Comments

@link2xt
Copy link
Collaborator

link2xt commented Feb 11, 2025

Delta Chat attempts to interrupt IDLE every 5 minutes:

/// Timeout after which IDLE is finished
/// if there are no responses from the server.
///
/// If `* OK Still here` keepalives are sent more frequently
/// than this duration, timeout should never be triggered.
/// For example, Dovecot sends keepalives every 2 minutes by default.
const IDLE_TIMEOUT: Duration = Duration::from_secs(5 * 60);

However, this does not seem to happen because monotonic clock used almost everywhere does not advance when the app is suspended and boottime clocks which should be used instead are not available in Rust yet:

FairEmail apparently does not have such problems, but it is using Java APIs everywhere:
#6532 (comment)

Apparently the bug can be worked around by reducing imap_idle_notify_interval in Dovecot:
#6532 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is not working
Projects
None yet
Development

No branches or pull requests

1 participant