jcoffey-dev is traveling from Thursday 1 October through Sunday 4 October. Issues and pull requests are welcome, and will get an answer after that. Thanks for your patience.
A hold export (LH-12, #73) skipped any item it couldn't read: a message or file whose content wasn't in the blob store, or a calendar event, contact or file whose stored record was missing. The ZIP gave no sign anything was left out, so it couldn't show it was complete.
Now each such item goes in exceptions.csv with the path it would have had, its account, kind, folder, date, whether it was archived, and the reason (content not found in the blob store or stored record not found). The file is always in the ZIP, so a header-only one shows nothing was missed, and manifest.sha256 carries its hash beside the manifest's. Listed items don't count toward the export's item count.
Tests:
cargo test -p jmap --lib hold_export: new what_cant_be_read_is_listed_not_dropped; the existing ZIP test checks the empty exceptions.csv.
legal_hold_tests (RocksDB, -- --ignored): the export carries a header-only exceptions.csv.
No new UI strings.
A hold export (LH-12, #73) skipped any item it couldn't read: a message or file whose content wasn't in the blob store, or a calendar event, contact or file whose stored record was missing. The ZIP gave no sign anything was left out, so it couldn't show it was complete.
Now each such item goes in `exceptions.csv` with the path it would have had, its account, kind, folder, date, whether it was archived, and the reason (`content not found in the blob store` or `stored record not found`). The file is always in the ZIP, so a header-only one shows nothing was missed, and `manifest.sha256` carries its hash beside the manifest's. Listed items don't count toward the export's item count.
Tests:
- `cargo test -p jmap --lib hold_export`: new `what_cant_be_read_is_listed_not_dropped`; the existing ZIP test checks the empty `exceptions.csv`.
- `legal_hold_tests` (RocksDB, `-- --ignored`): the export carries a header-only `exceptions.csv`.
No new UI strings.
An item the hold covers whose stored record or content can't be read
goes in exceptions.csv with the path it would have had and the reason,
rather than being left out silently. The file is always in the ZIP, so a
header-only one shows nothing was missed, and manifest.sha256 carries
its hash beside the manifest's.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
A hold export (LH-12, #73) skipped any item it couldn't read: a message or file whose content wasn't in the blob store, or a calendar event, contact or file whose stored record was missing. The ZIP gave no sign anything was left out, so it couldn't show it was complete.
Now each such item goes in
exceptions.csvwith the path it would have had, its account, kind, folder, date, whether it was archived, and the reason (content not found in the blob storeorstored record not found). The file is always in the ZIP, so a header-only one shows nothing was missed, andmanifest.sha256carries its hash beside the manifest's. Listed items don't count toward the export's item count.Tests:
cargo test -p jmap --lib hold_export: newwhat_cant_be_read_is_listed_not_dropped; the existing ZIP test checks the emptyexceptions.csv.legal_hold_tests(RocksDB,-- --ignored): the export carries a header-onlyexceptions.csv.No new UI strings.