Skip to content

2.3.12

@itsme228 itsme228 tagged this 04 Sep 23:05
LinkInProgress lives on App.entStatus, not the dialog itself, and was
previously only ever cleared by a successful purchase or by
pollForLicenseTimeout (15 minutes). If someone opened the Stripe
checkout tab and simply closed it without paying, closing the dialog
and reopening it (even via a fresh 'Support us' click) landed right
back on the infinite-progress-bar waiting screen with no way out.

Adds App.CancelPurchase() (cancels the background pollForLicense loop,
clears LinkInProgress/LastError -- safe to call whether or not
anything was actually in flight) and a 'Cancel' button on the waiting
screen that calls it, wired through both the direct engine-owning path
and the adminapi thin-client path (TokenBackend/Client) for parity
with a headless engine + separate GUI process.

Also adds a 'Copy' button next to the checkout-link fallback added in
the previous commit, per follow-up request.
Assets 2
Loading