Skip to content

Commit 11b1be5

Browse files
csjpeterclaude
andcommitted
fix(local-store): never save virtual flag manifests (__unread__ etc.)
The list view's manifest_dirty path was missing the !is_virtual_flags guard, so browsing the Unread/Flagged virtual views caused the synthetic in-memory manifest to be written to __unread__.tsv / __flagged__.tsv. These stale files then fed back into local_flag_search on the next open, inflating counts and attributing messages to the wrong folder. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent e0ca869 commit 11b1be5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

libemail/src/domain/email_service.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2767,7 +2767,7 @@ int email_service_list(const Config *cfg, EmailListOpts *opts) {
27672767
printf("\n");
27682768
fflush(stdout); /* show row immediately as it arrives */
27692769
}
2770-
if (manifest_dirty && !is_virtual_search) manifest_save(folder, manifest);
2770+
if (manifest_dirty && !is_virtual_flags && !is_virtual_search) manifest_save(folder, manifest);
27712771
if (load_interrupted) goto list_done;
27722772

27732773
if (!opts->pager) {

0 commit comments

Comments
 (0)