Prevents the SDK entering the error state when a request is aborted. An aborted request doesn't indicate that there's an error, only that a new request has superseded the previous one.
An example of the current behavior:
Application starts up <- starts in initializing state
Request for flags A
Context updated with userId
Request for flags B
Request for flags A cancelled <- transitions to error state
Request for flags B completed <- transitions to healthy state
Expected behavior:
Application starts up <- starts in initializing state
Request for flags A
Context updated with userId
Request for flags B
Request for flags A cancelled <- remains in initializing state
Request for flags B completed <- transitions to healthy state
I noticed this because in our case Sentry captures console.error messages, and we are seeing a lot of Sentry issues due to the console.error in the catch handler.
About the changes
Prevents the SDK entering the error state when a request is aborted. An aborted request doesn't indicate that there's an error, only that a new request has superseded the previous one.
An example of the current behavior:
initializing
stateflags A
userId
flags B
flags A
cancelled <- transitions toerror
stateflags B
completed <- transitions tohealthy
stateExpected behavior:
initializing
stateflags A
userId
flags B
flags A
cancelled <- remains ininitializing
stateflags B
completed <- transitions tohealthy
stateI noticed this because in our case Sentry captures
console.error
messages, and we are seeing a lot of Sentry issues due to theconsole.error
in the catch handler.