Same key as StoredMessage.conversationId.
OptionallastMost recent message in the conversation. undefined for conversations
we know about (e.g. groups we've been invited to) that don't yet have
any persisted messages.
OptionallastMIME type of lastMessage's first attachment, or undefined when
it has none. Lets the chat list preview a caption-less attachment whose
body is empty (an image type previews as "Photo", else "Attachment").
Number of unread inbound messages — the chat list's unread badge. Read from the persisted store, so it is correct for every conversation.
One row per conversation that has at least one persisted message, paired with that conversation's most recent message. The chat list is rendered directly from this.