Skip to main content
Everything the SDK throws is an SDKException, wrapping a proto-backed error so the same code and category cross every language binding.

Codes worth handling

unsupportedCapability

Errors in streams

On React Native, in-flight failures are thrown into the consumer, so the for await loop throws. On the Web SDK they arrive as a failed event instead. A shared error helper between the two will miss failures on one of them.

Cancellation

Breaking out of the loop cancels the request and is not an error. Track unmount so a late event does not set state on a gone component:

Errors are not always the SDK

Several failures on a phone look like SDK errors and are not:

Reporting

Rethrow what you did not recognise.