v3.4.155
Reconcile sales counters on refund deletion; fix claim-page contrast, unassigned-count query, and self-service edge cases.
- Reverse refund-decrement bookkeeping when a refund is deleted (or the order is deleted), keeping product/variation sales counters accurate.
- Batch the order-history scan used for sales-counter recalculation instead of loading every counted order at once.
- Queue sales-counter recalculation on variation flag change as a background job instead of running it inline in the AJAX request.
- Fix claim-page and self-service pages rendering white-on-white on light themes by giving the content wrapper its own dark background.
- Make count_unassigned_order_items() reuse the same refund-cache-based SQL as get_unassigned_order_items() so the two can't disagree, and respect the explicit-empty Drive resources flag.
- Reuse self-service tokens issued within a short window instead of minting a new one per overlapping email.
- Guard against null/false return values from entitlement grant/get calls and non-array self-service submissions.
- Updater: skip malformed release tag_name instead of falling through; drop the DOING_CRON force-check bypass.