client_send_line(client,
t_strdup_printf("* %u EXISTS", status.messages));
- client_send_line(client,
- t_strdup_printf("* %u RECENT", status.recent));
+ if ((client_enabled_mailbox_features(client) &
+ MAILBOX_FEATURE_IMAP4REV2) == 0) {
+ client_send_line(client,
+ t_strdup_printf("* %u RECENT", status.recent));
+ }
if (status.first_unseen_seq != 0) {
client_send_line(client,
(state->messages - expunge_count);
client_send_line(client,
t_strdup_printf("* %u EXISTS", client->messages_count));
- client_send_line(client,
- t_strdup_printf("* %u RECENT", client->recent_count));
+ if ((client_enabled_mailbox_features(client) & MAILBOX_FEATURE_IMAP4REV2) == 0)
+ client_send_line(client,
+ t_strdup_printf("* %u RECENT", client->recent_count));
}
if (array_count(status.keywords) == state->keywords_count &&
prefix_len = str_len(str);
if (HAS_ALL_BITS(items->flags, IMAP_STATUS_ITEM_MESSAGES))
str_printfa(str, "MESSAGES %u ", status->messages);
- if (HAS_ALL_BITS(items->flags, IMAP_STATUS_ITEM_RECENT))
+ if ((client_enabled_mailbox_features(client) & MAILBOX_FEATURE_IMAP4REV2) == 0 &&
+ HAS_ALL_BITS(items->flags, IMAP_STATUS_ITEM_RECENT))
str_printfa(str, "RECENT %u ", status->recent);
if (HAS_ALL_BITS(items->flags, IMAP_STATUS_ITEM_UIDNEXT))
str_printfa(str, "UIDNEXT %u ", status->uidnext);
ctx->have_new_mails = TRUE;
}
if (ctx->status.recent != client->recent_count &&
- client->notify_count_changes) {
+ client->notify_count_changes &&
+ (client_enabled_mailbox_features(client) & MAILBOX_FEATURE_IMAP4REV2) == 0) {
client_send_line(client,
t_strdup_printf("* %u RECENT", ctx->status.recent));
}