Digital Touch support
When researching handwritten messages I found digital touch messages were handled in bluebubbles the same way here and here. Piping them through protoscope gives a valid message but it is different and more complex than the handwritten ones.
~~Digital Touch is already supported—they are sent as gifs.~~
Actually this appears to have changed–they no longer get converted by the system. For what it's worth, they aren't supported by macOS either:
They also sometimes seem to not even have the requisite payload:
I've been generating and viewing them on iOS. I don't think I've seen one with a NULL payload before.
Ok, so the one that had a NULL payload used the subject column (the one used for message subject lines) contained a GUID that mapped to an existing Digital Touch message in the conversation:
I've made some progress implementing support for these messages.
- [x] Tap
- [x] Heartbeat
- [x] Heartbreak
- [x] Kiss
- [x] Sketch
- [x] Fireball
- [ ] Photo
- [ ] Video
Ok, so the one that had a
NULLpayload used thesubjectcolumn (the one used for message subject lines) contained a GUID that mapped to an existing Digital Touch message in the conversation:
Was the NULL message copy and pasted in iMessage?
It was not pasted and also does not show up in the thread.
The only other thought I have right now is that it might be related to the announcements that show up saying "person kept a Digital Touch Message from you."
~~Those seem to come from one of the date columns.~~
The NULL Digital Touch messages do not have date_played and also have a custom type of 5, which may indicate the "Kept" status as you mentioned:
Also, they do not always have the subject field populated and contain no typedstream-encoded body data:
They also set this message_action_type field and do not have expiry data:
In my database, an item_type of 5 always correlates with a message_action_type of 2.
I found some of the NULL payloads in my databases. I saw the database shows they are not delivered but finished:
I had the same item_type of 5 and message_action_type of 2.
Yes, I see the finished status too—it also appears for messages sent with full-screen expressives.
Adding rudimentary support for displaying the type of message for now.
