recordVote

open suspend override fun recordVote(conversationId: ConversationId, pollMessageId: MessageId, vote: MessageContent.Poll.Vote): Either<StorageFailure, Boolean>

Stores vote as the voter's current selection when it is valid for the poll. Returns false without storing anything when the poll is unknown or the vote is invalid. A vote older than the voter's stored vote is ignored but still counts as valid.