imessage-exporter
imessage-exporter copied to clipboard
Docs should say a word on how diagnostics are to be read
Thanks for this gorgeous utility !
Running imessage-exporter -d I get:
Message diagnostic data:
Total messages: 94116
Messages not associated with a chat: 6046
Messages belonging to more than one chat: 16
Attachment diagnostic data:
Total attachments: 2750
Data referenced in table: 1.76 GB
Data present on disk: 2.39 GB
Missing files: 43 (2%)
No path provided: 41
No file located: 2
Global diagnostic data:
Total database size: 107.51 MB
Duplicated contacts: 265
It would be nice if each of these were explained somewhere. For instance:
- What are
Messages not associated with a chata. how can it be fixed ? b. Does it mean some messages are lost at time of export ? - How do we explain the difference between
Data present on disk: 2.39 GBandData referenced in table: 1.76 GB? Does it have anything to do with 1. ? - Missing files (already explained in this issue).
- What are
Duplicated contacts?
This is a good issue; I will write some documentation to explain this. In the interim I will answer your questions:
- There is a table
chat_message_jointhat maps a message's row ID to chat's row ID. If a message exists in themessagestable but is not inchat_message_join, that means we cannot determine which chat it was associated with.- It cannot be fixed
- Those messages show up in
Orphaned.htmlorOrphaned.txtfile in the export directory
- "Data present on disk" represents the total size of the attachments listed in the
attachmentswhen following the listed path to the respective file. "Data referenced in table" is the sum of thetotal_bytescolumn in theattachmentstable. I don't know why they are different, but the former is the actual storage taken up by iMessage attachments. - There are two different types of missing files:
- "No path provided" means there was a row in the
attachmentstable that did not contain a path to a file - "No file located" means there was a path, but there was no file at the specified location.
- "No path provided" means there was a row in the
- Duplicated contacts occur when a single contact has multiple valid phone numbers or iMessage email addresses. The iMessage database stores handles as rows, and multiple rows can match to the same contact. The software does deduplication, but this diagnostic tells you how many contacts required that step.
@ReagentX Thank you very much for your very clear answer, it helps a lot.
"No path provided" means there was a row in the attachments table that did not contain a path to a file
As a hint - or rather an educated guess - to future users, it seems one reason for these to show up is a bad synchronisation with iCloud (i.e. the picture exists on my phone but not on my PC, despite iCloud sync being on, maybe because it has been deleted on one device 🤷)