Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Message Reactions #45

Open
mitchellkelly opened this issue Dec 7, 2020 · 2 comments
Open

Message Reactions #45

mitchellkelly opened this issue Dec 7, 2020 · 2 comments

Comments

@mitchellkelly
Copy link

Reactions from iMessage -> Matrix and from Matrix -> iMessage are currently unsupported.

I've done some digging and (to my limited knowledge) it seems like reactions aren't stored in the transcript files.
Running a "date -r" command on the .ichat file, reacting to a message in iMessage and then running "date -r" on the .ichat file again shows that the file was not modified like it would be if a user sent a new iMessage.
I used plutil to convert a transcript file to xml and did some digging manually and didn't find any reference to reactions that way either.

Digging around in the ichat.db, I found that reactions are stored in there.
The ichat db stores reactions as their own row in the "message" table. There are two field that are particularly useful associated_message_guid and associated_message_type. associated_message_type is the message that was reacted to and associated_message_type is a numeric value representing the reaction.

reaction associated_message_type
love 2000
like 2001
dislike 2002
laugh 2003
emphasize 2004
question 2005

Essentially, adding functionality for reactions requires using the ichat database instead of using transcript files. Is there any technical limitations of using the ichat database?

@kfatehi
Copy link
Member

kfatehi commented Dec 8, 2020

@mitchellkelly when hacking this prototype it is possible that I simply did not find the ichat database to which you refer, as I am still unaware of it. So there is a better source to use than the transcript files? This would be very promising as, I'm sure you've seen, the transcript-based design is a very crude hack (albeit functional). Thanks for your research on reactions.

@mitchellkelly
Copy link
Author

@kfatehi I think there will be a lot more nuances in using the chat database but I think overall it will allow for more functionality and possibly help close some of the other existing issues. I'll open up another issue specific to migrating to the chat db and comment my findings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants