diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp index d10f8f295e58..6fffe6cb9fe4 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp @@ -30,6 +30,9 @@ JCxxInspectorPackagerConnectionDelegateImpl::connectWebSocket( "connectWebSocket"); auto jWebSocket = method( self(), url, make_global(JWebSocketDelegate::newObjectCxxArgs(delegate))); + if (!jWebSocket) { + return nullptr; + } return jWebSocket->wrapInUniquePtr(); } diff --git a/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp b/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp index 4edf6e0c6e88..71f53d2e8bd5 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp @@ -341,9 +341,12 @@ void InspectorPackagerConnection::Impl::connect() { webSocket_ = delegate_->connectWebSocket(url_, weak_from_this()); } catch (const std::exception& e) { LOG(ERROR) << "Failed to create WebSocket connection: " << e.what(); - reconnect(); + webSocket_.reset(); } catch (...) { LOG(ERROR) << "Failed to create WebSocket connection: unknown error"; + webSocket_.reset(); + } + if (!webSocket_ && !closed_) { reconnect(); } }