“Archive Mode” is this app’s way of incrementally adding new messages to an existing backup file and can be enabled from the preferences. Here’s how it works:
- Whenever the app successfully backs up one or more messages, it stores the latest message’s Numeric ID and Timestamp to be used later.
- The next time the app runs, it only requests messages that have a larger ID or a later Timestamp than the stored values.
- When the app finds any messages that satisfy the above criteria, it starts copying the existing backup file’s records into a new temporary file (displays “Processing existing backup file…” in the progress dialog).
- Once it has copied all the contents of the existing backup, it then adds the new records to this new file.
- If backup verification is enabled, it then verifies this new file to make sure that the backup file is readable.
- It renames the existing (older) backup file to another temporary name.
- It renames the newly created backup file to the name specified in the “Archive Filename” preference.
- It deletes the older backup file.
- If the app is set to upload the backups to cloud then the whole backup is then uploaded to the cloud.
This works fine in most cases, but there are a few cases in which it may not work properly:
- Android reassigns the Numeric ID if the message with the largest ID is deleted and a new message is received after that.
- A message is received with an older Timestamp than the Timestamp stored by the app.
Since the app uses both these things to check for new messages, it will work fine if only one of the above conditions are true. However, if for some reason both these conditions are true (e.g. you deleted the latest message and then received a new message with an older timestamp), then the app will not be able to figure out if there is a new message that it should back up.
If you delete messages often, and do not care about whether those deleted messages are backed up or are missing when using the “Archive Mode,” then we suggest you do not use it. You can use the normal backup, and if you use Scheduled Backups then it can (optionally) automatically delete older backup files so you don’t end up with lots of backup files with similar content in them.