Comment by ~singpolyma on ~singpolyma/soprani.ca
REPORTED
RESOLVED CLOSEDComment by ~singpolyma on ~singpolyma/soprani.ca
REPORTED
RESOLVED IMPLEMENTEDcheogram-android added by ~singpolyma on ~singpolyma/soprani.ca
Ticket created by ~singpolyma on ~singpolyma/soprani.ca
Comment by ~singpolyma on ~singpolyma/soprani.ca
So the issue is that we assume the bandwidth number order is effectively instant. We poll for it as bandwidth's API demands, but usually it is done in seconds and so it isn't a big deal.
However, if it takes long enough the command in the bot can actually time out. Or they could have a network interruption, or get bored and leave the app, all kinds of crazy things. In this case sgx-jmp is still in process of buying their number, but when then run register again it doesn't know that since nothing has been recorded yet (until the order completes).
So we need to maybe stop doing the inline poll (especially if it goes past some time limit) and instead save the order id to redis and let them poll it by pushing "next" over and over like we do with snikket instance launch. If we enter register flow and this key exists, jump right to that step and let them keep polling instead of letting them buy a new number when there is an order in progress.
jmp-register removed by ~singpolyma on ~singpolyma/soprani.ca
cheogram-android removed by ~singpolyma on ~singpolyma/soprani.ca
Comment by ~singpolyma on ~singpolyma/soprani.ca
I think we've hit a point where we should consider having the webhook just queue the address for checks, and do everything async.
Comment by ~singpolyma on ~singpolyma/soprani.ca
REPORTED
RESOLVED CLOSEDComment by ~singpolyma on ~singpolyma/soprani.ca
REPORTED
RESOLVED IMPLEMENTED