[lib] introduced reaction message type
Summary:
Introduced reaction message type. Most of the fields for ReactionMessageData like type threadID, creatorID, and timeare 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 notion implementation details, there was a mention of having a localID; however, after further 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: ENG-2244
Test Plan: Flow, also will be further tested in subsequent diffs
Reviewers: atul, rohan, ashoat
Reviewed By: atul, ashoat
Subscribers: ashoat, tomek, atul, abosh
Differential Revision: https://phab.comm.dev/D5654