The ledger keeps a person's unsubscribe unless they asked to rejoin

Featurekamo-shared-library
Shipped
September 13, 2026 at 5:07 PM UTC
Author
Kamo
Commit
28e0503

An unsubscribe, a complaint or a pause is the person's own choice. A member may now lift one only when the change says the person asked to be emailed again (OptOutChange.personAsked); otherwise the ledger refuses it with field "personAsked". The check runs against the state read inside apply, only for MEMBER changes, ahead of the existing note rule, which still applies to an allowed lift. Bounces and a member's own MANUAL block need only the note. OptOutChange gains a seventh component, personAsked, with a six-argument constructor that defaults it to false so existing callers are unchanged.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing