描述
Problem
When a message fails to send, a retry button appears. However, the button often shows up only after some delay—typically when the user has already switched to another task, assuming the message was successfully sent. This creates confusion and leads to missed or unsent messages.
My team and I have experienced this issue multiple times. The core problem is the lack of a clear, persistent indicator of a message’s state (sending, failed, or sent).
Expected Behavior
There should be a visible status indicator while the message is being sent. If the message cannot be sent, the user should be immediately informed.
Reference
For example, Slack handles this by keeping the message text grayed out while it is in the process of sending. This makes it obvious when the message hasn’t yet been delivered.
Suggested Improvement
-
Show a “sending” state (e.g., grayed-out text or spinner) until confirmation of delivery.
-
Display an immediate failure indicator if sending fails, instead of showing the retry button after a delay.