caffeinate
caffeinate copied to clipboard
Should `active` Campaign Subscriptions include those which are `completed?`?
Having this question pop up in my own project and can see the cards on either side 🤔 not sure what to make of the question. WDYT?
i think they should be those that have have unsent mailings, that aren't ended or unsubscribed...... i think?
Since active
directly impacts the find_or_create_by
from earlier this morning, it's a careful question 🤔
If a Subscription has no unsent mailings but isn't unsubscribed and isn't ended
, should active
include it?
Maybe the better question is: if the last mailing is sent (or skipped, etc... just generally 'processed'), should it mark the subscription as ended?
Coming back to this quite a bit later. I now do think that the active
scope should include campaign subscriptions that are completed?
. Subscriptions that have sent all their drips should still defend against being re-subscribed, and while they are completed?
(a question that answers whether or not all the drips have been sent), they are not ended. They are still active; as in, active in defending against being re-subscribed to the same campaign and having another sequence of drips fire. This too is why I also think, though I don't know that I ever mentioned it in this PR, that when a subscription finishes its drips, it should not automatically end
itself. I held this idea a while back, but I've now come around to think that leaving it active
forever is the right solution — again, to defend against being resubscribed to the same dripper again. For the style of marketing Drippers this library intends to model and automate, this is the right call. For more application-type drippers (which I work with), overriding this logic (by adding a hook to automatically end
the subscription after the last drip has processed) within my own app is the right call. The default should be active-forever.