Here's a proposed change set that fixes several things: - Passes the unit test test_offlineStoreLocking.js - Compact occurs when triggered and no longer on the 2nd trigger - Add a "compact" right-click selection for imap maildir folders - Compact of maildir now works ("compact" meaning maildir file for expunged messages removed). - Tested with mbox and maildir both with all 3 delete models. - Tested some with condstore enabled to check for any flag state issues due to "partial" flag fetches. Here's the change summary: - Adds the "compact" right-click to imap maildir folders as also suggested in bug 1130277 - Stops "storetoken" (maildir filename) from being overwritten with garbage in compactor - No "sanity check" in compactor since allowing maildir to be "compacted" - Save new array of expunged keys (UIDs) in flag state, fUidsExpunged - In nsImapMailFolder.cpp let Compact() and CompactAll() handle mbox and maildir. - In nsImapMailFolder.cpp change position of DeleteStoreMessages() call depending on storage type. - In nsImapMailFolder.cpp use new flagState->GetExpungedUids() to determine keys to delete. - In nsImapMailFolder::DeleteStoreMessages() add call to compactor for mbox. - (Temporary) "printf("gds: ...\n") scattered around for tracing and debugging. -
Bug 1683714 Comment 17 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Here's a proposed change set that fixes several things: - Passes the unit test test_offlineStoreLocking.js - Compact occurs when triggered and no longer on the 2nd trigger - Add a "compact" right-click selection for imap maildir folders - Compact of maildir now works ("compact" meaning maildir file for expunged messages removed). - Tested with mbox and maildir both with all 3 delete models. - Tested some with condstore enabled to check for any flag state issues due to "partial" flag fetches. Here's the change summary: - Adds the "compact" right-click to imap maildir folders as also suggested in bug 1130277 - Stops "storetoken" (maildir filename) from being overwritten with garbage in compactor - No "sanity check" in compactor since allowing maildir to be "compacted" - Save new array of expunged keys (UIDs) in flag state, fUidsExpunged - In nsImapMailFolder.cpp let Compact() and CompactAll() handle mbox and maildir. - In nsImapMailFolder.cpp change position of DeleteStoreMessages() call depending on storage type. - In nsImapMailFolder.cpp use new flagState->GetExpungedUids() to determine keys to delete. - In nsImapMailFolder::DeleteStoreMessages() add call to compactor for mbox. - (Temporary) "printf("gds: ...\n") scattered around for tracing and debugging.
Here's a proposed change set that fixes several things: - Passes the unit test test_offlineStoreLocking.js - Compact occurs when triggered and no longer on the 2nd trigger (Re: bug 1776727 comment 24) - Add a "compact" right-click selection for imap maildir folders - Compact of maildir now works ("compact" meaning maildir file for expunged messages removed). - Tested with mbox and maildir both with all 3 delete models. - Tested some with condstore enabled to check for any flag state issues due to "partial" flag fetches. Here's the change summary: - Adds the "compact" right-click to imap maildir folders as also suggested in bug 1130277 - Stops "storetoken" (maildir filename) from being overwritten with garbage in compactor - No "sanity check" in compactor since allowing maildir to be "compacted" - Save new array of expunged keys (UIDs) in flag state, fUidsExpunged - In nsImapMailFolder.cpp let Compact() and CompactAll() handle mbox and maildir. - In nsImapMailFolder.cpp change position of DeleteStoreMessages() call depending on storage type. - In nsImapMailFolder.cpp use new flagState->GetExpungedUids() to determine keys to delete. - In nsImapMailFolder::DeleteStoreMessages() add call to compactor for mbox. - (Temporary) "printf("gds: ...\n") scattered around for tracing and debugging.