Is your feature request related to a problem? Please describe.
When a message fails to send or gets stuck in a "pending" state due to the primary SMTP relay being offline, the user currently has to leave the chat, navigate deep into Settings -> Advanced -> Relays, change the primary server globally, and then return to resend. This is disruptive and slow during time-sensitive conversations.
Describe the solution you'd like
I suggest adding a quick-resend option directly to the stuck/failed message itself:
- When a message is pending or failed (showing a spinning loader or a red error icon), the user taps or long-presses that specific message to open its context menu.
- Inside the menu, alongside standard options like "Copy" and "Delete", a new dynamic option appears: "Resend via..." (or "Try another relay...").
- Tapping it opens a sub-menu listing other configured relay servers from the user's profile.
- Selecting a relay triggers a one-off resend attempt for this specific message only through the chosen server.
Describe alternatives you've considered
Changing global settings in the app menu every time a server blinks, which breaks the conversation flow.
Additional context
This approach keeps the main chat screen clean and strictly targets the "Error Recovery" phase when a specific delivery failure occurs, perfectly matching ArcaneChat's power-user UX philosophy.
Is your feature request related to a problem? Please describe.
When a message fails to send or gets stuck in a "pending" state due to the primary SMTP relay being offline, the user currently has to leave the chat, navigate deep into Settings -> Advanced -> Relays, change the primary server globally, and then return to resend. This is disruptive and slow during time-sensitive conversations.
Describe the solution you'd like
I suggest adding a quick-resend option directly to the stuck/failed message itself:
Describe alternatives you've considered
Changing global settings in the app menu every time a server blinks, which breaks the conversation flow.
Additional context
This approach keeps the main chat screen clean and strictly targets the "Error Recovery" phase when a specific delivery failure occurs, perfectly matching ArcaneChat's power-user UX philosophy.