imessage-exporter
imessage-exporter copied to clipboard
What is `item_type` 4?
There is an int
column in the messages
table called item_type
. Normal messages are 0
, channel announcements that update the room name are 2
. I have a third item_type
in my database, "aptly" named 4
, and it seems to be a fully null message (no text or blob data, no associated message, nothing). What does 4
represent? Is there a 1
?
item_type
6
is used for SharePlay/FaceTime message balloons. Support for parsing this field was added in #57.
Here's some more details on what item type and group action type combinations are
This is great, how did the BlueBubbles team figure this out? Some of these I already support because you can deduce the context from other columns.
I'd love to say there's some cool trickery behind it, but honestly it was just a brute force type thing. We sent as many "group event" type messages as we could figure out, then went in the chat.db and saw what item types and group action types they were labeled to.
If we ever get one we haven't added support for, we usually just have the person go into their iMessage app and see what it says there, and then ask them to send us the json message object stored on their app, which is visible to users for debug purposes.
It may be possible to deduce this more accurately from disassembling Messages.app, we have a contributor who has done this and uncovered some really interesting things.
That sounds about like what my experience is like!