"Show if unread" folder option stopped working

eM Client Pro 8.2.1721 (paid & registered, VIP support expired)
Windows 10 Home x64 22H2
E-mail account: MS Hotmail (IMAP)

I configured the Junk folder to hide (Show if unread) when there are no new items in it. That used to work: the Junk folder was hidden under the More group until new messages were in it. However, when there should be new items, the Junk folder remains hidden. When I expand the More group in the tree pane, the Junk folder is shown with 3 dots (ellipsis) after it. I click on the Junk folder, and it jumps out of the More group under the root folder for the account, and shows a count of new messages, like there are 11 new messages in the Junk folder.

Back when it worked, my Microsoft Hotmail account was an EAS (Exchange/EAS) account type. Microsoft removed basic authentication, and forced users from EAS to IMAP/SMTP (and using CardDAV for contacts sync, and CalDAV for calendar sync). See:

I was forced to delete the old Hotmail account that used EAS, and create a new Hotmail account that uses IMAP. Ever since then the Junk folder does not emerge out of the More group when it has new messages. I click on the folder and it jumps back to the root tree to then show a count of new messages. That should automatically with the “Show if unread” folder option.

Did setting “Show if unread” on the Junk folder (to hide it unless it gets new messages) never work with IMAP accounts? Most items in Junk are spam, or other junk, which the server-side anti-spam filter put there. There can be false positives, like when a web site uses 2FA to send me a code that I need to enter to complete the login at the web site. If I expect an e-mail, and don’t see it show up in the Inbox, I’d like the Junk folder to appear with a new count as a clue that the expected e-mail got junked on the server. I prefer the Junk folder to hide under More until new messages are put there.

Aside: I see eM Client is up to version 9. I looked at the 13 9.x versions listed in the release notes at Release History | eM Client, but none mentioned this issue. However, “bug fixes” says nothing about what bugs were addressed. Too many changes are bunched under a vague description, like “A lot of other fixes”. My concern is if I upgrade to version 9 that I lose the Pro standing with eM Client, and will lose Pro features, especially on max number of supported accounts (free only supports 2 accounts). Often the suggestion is to update to a later version, but that is without knowledge that a later version actually addresses the issue, so you waste your time and putz with a currently stable setup to change state to something new, and perhaps not better.

It is not a bug, it is by design.

By default we don’t sync the Junk folder unless you click on it. The three dots show that there is some change in the folder, but it has not yet synced. Once it does sync, and it gets its unread messages, it will move out of More as specified.

If you set the account to cache messages for offline use, this should change, and the folder should sync on a schedule. That means it will sync the contents without you having to click on it first, and will move out of More on its own when it has new messages. To do that go to Menu > Accounts and click on the IMAP tab. Scroll down to Sync Options, tick the option to download for offline use, and click on Save & Close.

For now, I changed the sync interval from 10 minutes to 5 minutes. I will have to monitor to see if the Junk folder pops out of the More group more quickly when new messages get moved into the Junk folder by the server-side anti-spam filtering.

eM Client doesn’t support Push-IMAP (aka P-IMAP) or IMAP IDLE? Polling the server when there are no new messages on the server is a waste of resources. You establish a mail session, poll for new messages, but there may not be any, so that mail session was a waste. I can reduce the polling interval, but that just wastes resources more often.

I can telnet to the Microsoft IMAP server to get a list of its capabilities using:

telnet imap-mail.outlook.com 143
list capability

IDLE is one of the returned keywords meaning their IMAP server supports that IMAP extension; see:

If eM Client supported IMAP IDLE, it wouldn’t have to wait until the next mail poll to see if there are new messages in the Junk folder, and it wouldn’t have to wait to pop the Junk folder out of the More folder when new messages were put in the server-side Junk folder.

From some forum threads, eM Client does support IMAP IDLE. So, the Junk folder should pop out of the More group the moment the server pushed a new message into the Junk folder. However, also noted in the forum threads is eM Client supports IMAP IDLE only on the Inbox folder, not on any other folders. Folders other than Inbox along with contacts and events will update at the poll interval.

From RFC 2177:
The IDLE command remains active until the client responds to the continuation, and as long as an IDLE command is active, the server is now free to send untagged EXISTS, EXPUNGE, and other messages at any time.

I do not see IDLE applies only to the Inbox folder. What it does say is:

The IDLE command is sent from the client to the server when the client is ready to accept unsolicited mailbox update messages.

For POP3, “mailbox” is the only folder upon which the client can synchronize. POP3 has no concept of folders, so mailbox is the Inbox folder. However, IMAP does support folders (for those to which the client subscribes). Perhaps “mailbox” in IMAP parlance means just the Inbox folder. So, even though eM Client may support IMAP IDLE, and so does the IMAP server, it only works on the Inbox folder.

At this point, to make sure I act in a reasonable time on false positives put into the Junk folder, and because eM Client won’t unhide the Junk folder from the More group when there are new messages in it, and because IMAP IDLE apparently is only effective on the Inbox folder, I will have to disable the “Show if unread” option on the Junk folder to always have it visible. Even the 3-dot ellipsis is an indicator something showed up in that folder.

I get very little spam overall. There are tides of it at times when spammers get spurred to spew their garbage, but overall I get little spam. I do, however, get e-mails that are important that get put into the Junk folder by the server-side spam filtering. I won’t know the source ahead of time, like for 2FA codes to complete a login, so I cannot add the sender to a Safe Senders whitelist. I can create a rule, but the server-side spam filtering acts first on new e-mails, can put new items in the Junk folder, and then my rules trying to whitelist the sender are exercised too late (the new item is no longer in the Inbox folder where the rules get exercised). There’s about a 50-50 chance that a new item the server dumped into the Junk folder really is important, so I need to know about it now, not 5 or 10 minutes later after, say, the 2FA code has expired.

Thanks for your clarification, though.

Yes, eM Client fully supports PUSH IMAP. It is for the Inbox only. All other folders, calendars and contacts sync on a schedule.

Okay, thanks for the clarification.

I’ll have to reduce the poll interval down to 1 or 2 minutes. Hopefully the e-mail provider won’t consider short polling intervals as abusive. I try to be polite to e-mail providers by not issuing excessive mail polls which often result in no new messages found. With a 15-minute, I figured IMAP IDLE would keep me up to date quicker between polls. E-mail wasn’t intended to be instantaneous communication, but lots of users and companies treat it that way. E-mail isn’t secure, but those using 2FA don’t want you to realize they are “increasing security” by using insecure communication venues (e-mails and SMS texts).

Only if I’m expecting an important message, like a 2FA code that expires, but see nothing show up in the Inbox yet a new-count appears for the Junk folder, then I’m prompted to look in the Junk folder. Otherwise, I don’t visit the Junk folder but maybe once per day. Too bad IMAP IDLE only works on the Inbox as it won’t help with false positives the server moves into the Junk folder.

Guess I must change to 1-minute poll intervals to ensure I see false positives in the Junk folder to get it to emerge out of the More folder.

Thanks again. Had to figure a workaround.