Campaign with a missing segment was sent to all contacts #9

Closed
opened 2026-10-14 23:16:18 -04:00 by vmanne-poc · 0 comments
Owner

Problem: when a campaign's segmentId pointed to a segment that couldn't be found in the project, recipient resolution fell back to every active contact, so a targeted campaign could go to the whole list.

Fix: SegmentsService.resolveRecipients throws 400 instead, and it runs before the campaign is claimed for sending so the campaign isn't left stuck in SENDING. Deleting a segment used by a draft or scheduled campaign is refused with 409.

Tests: e2e "sends a campaign only to its segment" and "validates campaign updates and protects segments in use".

Fixed in v0.7.0.

**Problem:** when a campaign's `segmentId` pointed to a segment that couldn't be found in the project, recipient resolution fell back to *every* active contact, so a targeted campaign could go to the whole list. **Fix:** `SegmentsService.resolveRecipients` throws 400 instead, and it runs before the campaign is claimed for sending so the campaign isn't left stuck in SENDING. Deleting a segment used by a draft or scheduled campaign is refused with 409. **Tests:** e2e "sends a campaign only to its segment" and "validates campaign updates and protects segments in use". Fixed in `v0.7.0`.
vmanne-poc 2026-10-14 23:16:18 -04:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
vmanne-poc/Postak#9
No description provided.