- Shipped
- September 12, 2026 at 1:24 AM UTC
- Author
- Kamo
- Commit
- c3ff1ef
EmailService's recipient DTO now reports whether the campaign has already emailed each address. The mapper carries it through, together with lastError, and fills the campaign id the DTO leaves out. An already-contacted row is never held by warm-up and never emailed again, so the progress grid no longer gives it the warm-up note, and when its last outcome is anything but Sent the status chip keeps a small "Already sent" mark. In the recipients step, a row marked "Already sent" also shows how that send ended when it did not simply go out.