As mentioned in D9536, we can now simplify the check in rawMessageInfoForRowsAndRelatedMessages to only filter out what is needed (EDIT_MESSAGE and REACTION). To do this, we'll call isUnableToBeRenderedOnItsOwn, which will check the message type's messageSpec, and then return the corresponding flag. This isolates the single source of truth to the individual message specs.
There is a usage of FlowFixMe here. I'll copy my explanation for using it here in the code as well so it's closer to it's usage, but essentially: Flow doesn't realize that only certain message types have the flag set as false, so we never get the type refinement we're expecting to set the rawMessageInfo into the map. The continue will ensure we don't set an invalid type into the map anyways, but once again Flow doesn't realize that. The only workaround I found was to basically invariant against every message type we don't expect to see (i.e. REACTION and EDIT_MESSAGE), but I want to avoid that since that 1) removes the 'single source of truth' that we've been working to achieve with this stack, and 2) makes it easier for future changes to this code to forget to update this invariant and then something will inevitably go wrong.
Resolves https://linear.app/comm/issue/ENG-5217/update-rawmessageinfoforrowsandrelatedmessages-to-check-for
Depends on D9536