* Revert "Revert "Bump async to 3.2.2 (#7618)""
This reverts commit 75153a555211d654744c2e61e27fe21085826c22.
* [web] fix usage of async.queue.drain in script
* [clsi] fix usage of async.queue.drain
* [spelling] fix usage of async.queue.drain
* [redis-wrapper] fix usage of async.queue.drain
* [web] Test that LockManager queue is cleared
This protects against a regression found when upgrading the
async package. Here we test that the `queue.drain` callback
is really getting called, and the lock is being removed from
the LOCK_QUEUES map.
* [redis-wrapper] Upgrade async to 3.2.2
GitOrigin-RevId: df921e6d7f1d505bd467f22e58600ba1aff48869
* Display the current plan in the project list dashboard
* Add unit tests for SubscriptionViewModelBuilder#getBestSubscription
* Handle free trial for group subscriptions
* Reuse the info-badge icon for the plan labels
* Do not display subscription status when projects are selected
* Custom tooltip for group subscriptions with team name
GitOrigin-RevId: 40982f70cf9fb7c92058e417b73c84af1648c33e
* Schedule subscription downgrades to occur at the current term end.
If the plan is a downgrade, schedule the subscription change for term
end. Use Recurly v3 API subscription change event instead of v2 update
subscription.
* Add ability for user to revert a pending subscription change
In the case where a user has downgraded, but has since decided they'd
rather stay on their current plan, we need a way to let them revert. It
isn't enough to re-use a subscription change, because Recurly sees it as
an attempt to make a change from the current plan to itself.
Instead, we use a new dialog and call a new endpoint that has the
specific intent of reverting the pending plan change, by calling the
removeSubscriptionChange recurly client method.
* Add message prompting users to contact support for immediate changes
We're showing this in the confirmation modal for a plan change that
would occur in the future, and and on the subscription page if a pending
change is due.
Most users shouldn't need this, but it should help them out if they find
an edge case like moving from eg. Student (Annual) to Professional
(Monthly) and were expecting to be "upgraded" immediately.
GitOrigin-RevId: c5be0efbeb8568ed9caa941aadcef6f6db65c420