Introduced reaction message type. Most of the fields for `ReactionMessageData` like `type` `threadID`, `creatorID`, and `time`are taken from other message types and should be pretty clear what each do. `type` is the type of message defined in `messageTypes` object. `threadID` is the id of the thread the reaction message lives in, `creatorID` is the id of whoever created the reaction message, and `time` is the time the reaction message was created.
Two new fields have been introduced: `targetMessageID` and `reaction`. `targetMessageID` is the id of the message that is being reacted to, and `reaction` is the string of the emoji that is the content of the reaction. `reaction` can also be null and I was thinking that this could mean that the user has unliked/unreacted to a message.
One thing to note is that in the [[ https://www.notion.so/commapp/Message-Reactions-09af12f0e6324033a985076017813f39 | notion ]] implementation details, there was a mention of having a `localID`; however, after further [[ https://linear.app/comm/issue/ENG-2243#comment-736fc48c | discussion ]], we have decided that for now, we do not want any retry behavior if the user is disconnected so `localID` is not necessary
---
Linear Task: [[ https://linear.app/comm/issue/ENG-2244/setup-message-reaction-types | ENG-2244 ]]