Emails: Add button to send emails synchronously. - #88
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
5aea21b to
a6da2c8
Compare
67fb00b to
89ca9db
Compare
a6da2c8 to
76bf469
Compare
9d0d65f to
8f76576
Compare
76bf469 to
cd00456
Compare
8f76576 to
d5e8517
Compare
cd00456 to
09810e8
Compare
d5e8517 to
6a582b0
Compare
606a1d9 to
ba9446c
Compare
6a582b0 to
b10d002
Compare
7496a96 to
8b5194d
Compare
cc49247 to
19caa29
Compare
8b5194d to
bd5c4e3
Compare
19caa29 to
3d7816e
Compare
bd5c4e3 to
44ce8d9
Compare
d60b7ea to
664f9a7
Compare
Graphite Automations"Request reviewers once CI passes" took an action on this PR • (09/03/26)2 reviewers were added to this PR based on Henry Chen's automation. |
664f9a7 to
bce8637
Compare
|
| <Text size="sm"> | ||
| Please confirm that you want to send {request?.messages.length} email | ||
| {request?.messages.length === 1 ? "" : "s"}. | ||
| {request?.messages.length === 1 ? "" : "s"} asynchronously. |
There was a problem hiding this comment.
I think we should explain this a tad bit more. Sure it's not a super important implementation detail, but "asynchronously" may not make sense to the people reading this.
Maybe something like "queued up for send, emails will be retried if an error occurs". Just something that at least explains it a bit
| children: ( | ||
| <Text size="sm"> | ||
| Please confirm that you want to send {request?.messages.length} email | ||
| {request?.messages.length === 1 ? "" : "s"} synchronously. |
There was a problem hiding this comment.
Similar to above, maybe just say "will be sent immediately".
| .templateId(template.getId()) | ||
| .templateValues(variables) | ||
| .status(result.sent() ? EmailStatus.SENT : EmailStatus.ERROR) | ||
| .errorMessage(result.error()) |
There was a problem hiding this comment.
Nit - what if there's no error? Will this be handled properly?
Mainly just thinking about if a send succeeds, user won't see an error showing up
| MANUAL, | ||
| MATCHING | ||
| MATCHING, | ||
| SYNCHRONOUS, |
There was a problem hiding this comment.
Another nit - i feel like async vs sync should be a separate enum from manual vs matching.
Not because the functionality will break, but it better reflects the state of the system. Async vs sync and manual vs manual are different paradigms, having them together would imply that an email cannot be both async and matching at the same time.
|
Have a screenshot of what this looks like from the front end? |





No description provided.