On-device 2026-07-06, at account-add: IdleService: IDLE for imap:<ref> dropped; No stored credentials … (MailConnectionFactory.resolveSecret). IDLE starts before the new account's secret has finished persisting — a transient ordering race. It retried and recovered on its own, so low severity, but it fires a failed IDLE attempt + log noise on every account add.
Fix
Gate the initial IDLE start on the secret being persisted (or make resolveSecret at IDLE startup retry-with-backoff so the first attempt doesn't fail before the secret is ready). Confirm no functional gap — it self-heals today, so this is polish + noise reduction.
## Observed
On-device 2026-07-06, at account-add: `IdleService: IDLE for imap:<ref> dropped; No stored credentials … (MailConnectionFactory.resolveSecret)`. IDLE starts before the new account's secret has finished persisting — a transient ordering race. It **retried and recovered** on its own, so low severity, but it fires a failed IDLE attempt + log noise on every account add.
## Fix
Gate the initial IDLE start on the secret being persisted (or make `resolveSecret` at IDLE startup retry-with-backoff so the first attempt doesn't fail before the secret is ready). Confirm no functional gap — it self-heals today, so this is polish + noise reduction.
Evidence: scratchpad `coldfetch-results` sign-in logcat. Backlog (transient, recovers).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Observed
On-device 2026-07-06, at account-add:
IdleService: IDLE for imap:<ref> dropped; No stored credentials … (MailConnectionFactory.resolveSecret). IDLE starts before the new account's secret has finished persisting — a transient ordering race. It retried and recovered on its own, so low severity, but it fires a failed IDLE attempt + log noise on every account add.Fix
Gate the initial IDLE start on the secret being persisted (or make
resolveSecretat IDLE startup retry-with-backoff so the first attempt doesn't fail before the secret is ready). Confirm no functional gap — it self-heals today, so this is polish + noise reduction.Evidence: scratchpad
coldfetch-resultssign-in logcat. Backlog (transient, recovers).