diff --git a/web/grpc/identity-service-context-provider.react.js b/web/grpc/identity-service-context-provider.react.js --- a/web/grpc/identity-service-context-provider.react.js +++ b/web/grpc/identity-service-context-provider.react.js @@ -103,6 +103,14 @@ const message = getMessageForException(e); if (message === 'bad_credentials') { void invalidTokenLogOut(); + } else if ( + // These come from grpc-web: + // - http status code: 0 is added when XmlHttpRequest request fails + // - DEADLINE_EXCEEDED is gRPC-web timeout error + message?.includes('http status code: 0') || + message?.includes('DEADLINE_EXCEEDED') + ) { + throw new Error('network_error'); } throw e; }