Merge branch 'message-limits'
* message-limits:
Block outgoing messages when expired
Contacting support is not billable
Use TrustLevel to determine daily quota
Refactor message limits, change to 500/day
Block outgoing messages when expired
Contacting support is not billable
Use TrustLevel to determine daily quota
Refactor message limits, change to 500/day
CallAttempt needs customer
JID Switch
This allows a customer to change their JID, but it's a bit raw.
In practice I don't expect anyone to actually run this directly, instead
cheogram covers with with a friendlier and safer version.
This is just the business.
Merge branch 'block-calls-when-expired'
* block-calls-when-expired:
Block voice calls when account is expired
Refactor CallAttempt factory to use registration pattern
Merge branch 'three_d_secure'
* three_d_secure:
Send 3DS id when making a transaction
Block voice calls when account is expired
Allow for "transitional" (no plan) users for now, because we still have a bunch
of those.
Refactor CallAttempt factory to use registration pattern
Need repo too during bill plan command
Wrap the connection yielded from a transaction
Use trampoline instead of custom fiber
Merge branch 'change-billing-lock'
* change-billing-lock:
ExpiringLock instead of require expired
Atomic ExpiringLock
Send 3DS id when making a transaction
ExpiringLock instead of require expired
We *want* to try billing a little before expiry, to prevent the account lapsing.
So use an ExpiringLock to prevent double-billing races.
Merge branch 'only-bill-if-expired'
* only-bill-if-expired:
Only bill customer if they for sure have balance and are expired
Allow an in-transaction condition for billing
Change multiline chain style