Relogin is unrelated and will be preserved. Relogin is in a sense a "meta-error" - it isn't necessary formatted like other errors - and for that reason goes through special handling (loginRequired() entry point).
There isn't actually logic to allow transactions to be resent only once and we wouldn't really want to do that - it makes sense to periodically retry a failed connection, for example. It looks like your code is actually hitting this behavior by happenstance - it's invalid to call resendTransaction() after you've called clearTransaction(), because the behavior of clearTransaction is to:
Your code may be appearing to work because the behavior of resendTransaction() when a non-existant id is passed would be to resend the last transaction.
Most likely you want to get rid of the call to clearTransaction(), retain the call to resendTransaction(), and put in logic to retry no more than a few times, perhaps with brief delays (since we don't really know why IE throws this error) and then finally give up and isc.warn() the user about the problem or perhaps capture additional information and log it where the user can provide it to support.
There isn't actually logic to allow transactions to be resent only once and we wouldn't really want to do that - it makes sense to periodically retry a failed connection, for example. It looks like your code is actually hitting this behavior by happenstance - it's invalid to call resendTransaction() after you've called clearTransaction(), because the behavior of clearTransaction is to:
Erase all client-side record of a transaction, such that any response from the server will be ignored.
Most likely you want to get rid of the call to clearTransaction(), retain the call to resendTransaction(), and put in logic to retry no more than a few times, perhaps with brief delays (since we don't really know why IE throws this error) and then finally give up and isc.warn() the user about the problem or perhaps capture additional information and log it where the user can provide it to support.
Comment