Each message on the client needs to be aware if it's pinned or not - the best way I found to do this is in `chat-selectors` when we compose `ChatMessageInfoItem`. I purposely didn't include
`isPinned` in `RobotextChatMessageInfoItem` since robotext messages cannot be pinned.
My main reference was @ginsu's reaction stack for this from D5811. I created a separate `for (...)` loop to avoid creating conditional checks in the one used for reactions, but if it'll be better to merge the
two and perform different actions based on `messageInfo.type`, I can do that as well.
Linear: https://linear.app/comm/issue/ENG-3392/include-an-ispinned-flag-in-chatmessageinfoitem
Depends on D7148