Archive writing. export writes the version and the starting nonce in the
clear, then one zstd stream of length-prefixed AES-GCM frames: the metadata,
then every element of one database snapshot. Frames are written as rows are
read, so memory does not grow with the history.
Consent records written before 8.0. Before 8.0, a DM’s consent was its
group’s record, and inbox records decided no DM. A pre-8.0 time is the time
a row was first inserted, not the time of its latest state, so it cannot
say which of a peer’s rows is newer.
Holds a legacy converter row at its 64 MiB budget plus what that budget does not
count: about 2 MiB of decoded group metadata, protobuf field overhead, and the tag.
Import an archive. first reads it once for its deletion messages;
reopen then reads it again for the import, so a pre-8.0 self-deletion
is restored whichever comes first, it or its target.