t_strdup_printf("* OK [UIDNEXT %u] Predicted next UID",
status.uidnext));
- if (status.highest_modseq == 0) {
+ if (status.nonpermanent_modseqs) {
client_send_line(client,
"* OK [NOMODSEQ] No permanent modsequences");
} else {
status_r->unseen = hdr->messages_count - hdr->seen_messages_count;
status_r->uidvalidity = hdr->uid_validity;
status_r->uidnext = hdr->next_uid;
- if ((items & STATUS_HIGHESTMODSEQ) != 0 &&
- !mail_index_is_in_memory(ibox->index)) {
+ status_r->nonpermanent_modseqs = mail_index_is_in_memory(ibox->index);
+ if ((items & STATUS_HIGHESTMODSEQ) != 0) {
status_r->highest_modseq =
mail_index_modseq_get_highest(ibox->view);
}
/* There are expunges that haven't been synced yet */
unsigned int sync_delayed_expunges:1;
+ /* Modseqs aren't permanent (index is in memory) */
+ unsigned int nonpermanent_modseqs:1;
};
struct mailbox_sync_rec {