canSendMessage
Determines whether the user can send a message in the current state.
This function checks both channel-level capabilities and user preferences to determine if a message can be sent. The required capability depends on the current message mode:
In thread mode: requires ChannelCapabilities.SEND_REPLY capability
In regular mode: requires ChannelCapabilities.SEND_MESSAGE capability
The final decision also considers the MessageComposerState.sendEnabled flag, which allows temporary disabling of sending (e.g., while uploading attachments or validating input).
Return
true if the user can send a message or reply based on both capabilities and the send enabled flag; false otherwise.