Sending errors are not reflected in the UI
- Dominant language
- Python
- Stars
- 45
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
When an email is sent via the web UI, the [`process` function](https://github.com/apache/incubator-ponymail-foal/blob/f23c9ed887db8af2a6b9456f93f5460337369bdb/server/endpoints/compose.py#L32) in [server/endpoints/compose.py](https://github.com/apache/incubator-ponymail-foal/blob/f23c9ed887db8af2a6b9456f93f5460337369bdb/server/endpoints/compose.py) is responsible for sending the email by authenticating the environment and connecting to the MTA. It has several failure conditions which are marked by returning a `dict` with an `"error"` key. If one of these condition branches is taken, the user is not informed of the result. Instead it shows the following erroneous popup:
> **Message dispatched!**
> Your email has been sent. Depending on moderation rules, it may take a while before it shows up in the archives.
And the email is not actually sent.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the process function in server/endpoints/compose.py and trace how its returned result is handled by the web UI. Exercise each documented failure condition and verify that an error result is shown to the user instead of the "Message dispatched!" success popup, while successful sends retain the existing confirmation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100