diff --git a/android/src/main/java/com/facebook/flipper/core/FlipperReceiver.java b/android/src/main/java/com/facebook/flipper/core/FlipperReceiver.java index d12ca1451..1151dc89a 100644 --- a/android/src/main/java/com/facebook/flipper/core/FlipperReceiver.java +++ b/android/src/main/java/com/facebook/flipper/core/FlipperReceiver.java @@ -17,9 +17,8 @@ public interface FlipperReceiver { * Reciver for a request sent from the Flipper desktop client. * * @param params Optional set of parameters sent with the request. - * @param responder Optional responder for request. Some requests don't warrant a response - * through. In this case the request should be made from the desktop using send() instead of - * call(). + * @param responder Responder for request, ensure to respond otherwise request will time out on + * the desktop side */ void onReceive(FlipperObject params, FlipperResponder responder) throws Exception; } diff --git a/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorFlipperPlugin.java b/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorFlipperPlugin.java index 2b0fced5b..91e8c2b50 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorFlipperPlugin.java +++ b/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorFlipperPlugin.java @@ -420,6 +420,8 @@ public class InspectorFlipperPlugin implements FlipperPlugin { } mHighlightedId = nodeId; mHighlightedAlignmentMode = isAlignmentMode; + + responder.success(); } }; diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm index 9ff368866..e6d56af5b 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.mm @@ -372,6 +372,10 @@ NSObject* flattenLayoutEditorMessage(NSObject* field) { - (void)onCallSetHighlighted:(NSString*)objectId withResponder:(id)responder { + if (objectId == nil || [objectId isKindOfClass:[NSNull class]]) { + [responder error:@{@"error" : @"parameter ObjectID was null"}]; + return; + } if (_lastHighlightedNode != nil) { id lastHighlightedObject = [_trackedObjects objectForKey:_lastHighlightedNode]; @@ -387,10 +391,6 @@ NSObject* flattenLayoutEditorMessage(NSObject* field) { _lastHighlightedNode = nil; } - if (objectId == nil || [objectId isKindOfClass:[NSNull class]]) { - return; - } - id object = [_trackedObjects objectForKey:objectId]; if (object == nil) { SKLog(@"tried to setHighlighted for untracked id, objectId: %@", objectId); @@ -402,6 +402,8 @@ NSObject* flattenLayoutEditorMessage(NSObject* field) { [descriptor setHighlighted:YES forNode:object]; _lastHighlightedNode = objectId; + + [responder success:@{}]; } - (void)onCallSetSearchActive:(BOOL)active