Archive a campaign, and the widget leaves archived ones out

FeatureEmailService
Shipped
September 16, 2026 at 3:28 PM UTC
Author
Kamo
Commit
39ffa54

POST **************** and /unarchive (MANAGE_BULK_EMAIL) set and clear the campaign's archivedAt, and CampaignDTO carries it. The /marketing/email screen files an archived campaign under its own Archived tab. - Only a campaign with nothing left to send can be archived. A scheduled, sending or paused one is refused: cancel it first. Archiving it again keeps the first date. - Send now, Schedule and Send to latest clear archivedAt, so a campaign sent again is back on the working tabs. - Both are announced as ARCHIVED / UNARCHIVED change frames, so every open campaigns screen and the home widget update live. - CampaignWidgetReads leaves archived campaigns out of recent, inStatuses and countByStatus. Builds on kamo-shared-library ebdd15f1 **************** and the archived_at column, both already in place. TransactionalSendRatchetTest was red on main before this commit and still is; nothing here touches sendToUser. The other 1554 tests pass.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing