From 3e1b0c7e0db6d123064949ccb8a196eb4ba681a6 Mon Sep 17 00:00:00 2001 From: Radek Czemerys Date: Fri, 16 Oct 2026 13:05:04 +0300 Subject: [PATCH 1/2] [iOS] Keep button children in mount order behind the underlay layer `RNGestureHandlerButton` keeps its underlay `CALayer` at sublayer index 0, and `-[UIView insertSubview:atIndex:]` counts every sublayer. A child mounted into a button after the first render was therefore inserted one position too low, below the sibling it should cover. With view flattening that hides swapped content (e.g. a label replaced by an `ActivityIndicator`) behind a background-only View. Insert relative to the sibling subview instead, which ignores the underlay. Adds a "Button child order" test screen and an Argent flow that compares its opacity row against screenshot baselines. --- ...y-row-off__ios-1206x2622-crop-35b450c0.png | Bin 0 -> 29001 bytes ...ty-row-on__ios-1206x2622-crop-35b450c0.png | Bin 0 -> 27947 bytes .argent/flows/button-child-order-test.yaml | 26 ++++ apps/common-app/src/new_api/index.tsx | 2 + .../new_api/tests/buttonChildOrder/index.tsx | 113 ++++++++++++++++++ .../RNGestureHandlerButtonComponentView.mm | 18 +++ 6 files changed, 159 insertions(+) create mode 100644 .argent/flows/__baselines__/button-child-order-test/opacity-row-off__ios-1206x2622-crop-35b450c0.png create mode 100644 .argent/flows/__baselines__/button-child-order-test/opacity-row-on__ios-1206x2622-crop-35b450c0.png create mode 100644 .argent/flows/button-child-order-test.yaml create mode 100644 apps/common-app/src/new_api/tests/buttonChildOrder/index.tsx diff --git a/.argent/flows/__baselines__/button-child-order-test/opacity-row-off__ios-1206x2622-crop-35b450c0.png b/.argent/flows/__baselines__/button-child-order-test/opacity-row-off__ios-1206x2622-crop-35b450c0.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca7b01ef040777d0d29362889a50cbfae061467 GIT binary patch literal 29001 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 literal 0 HcmV?d00001 diff --git a/.argent/flows/__baselines__/button-child-order-test/opacity-row-on__ios-1206x2622-crop-35b450c0.png b/.argent/flows/__baselines__/button-child-order-test/opacity-row-on__ios-1206x2622-crop-35b450c0.png new file mode 100644 index 0000000000000000000000000000000000000000..9676ec6147540fa8ce8dfc2f88a98faed479ffb7 GIT binary patch literal 27947 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 }[] = [ + { + name: 'BaseButton', + Wrapper: ({ children }) => {children}, + }, + { + name: 'RectButton', + Wrapper: ({ children }) => {children}, + }, + { + name: 'Touchable', + Wrapper: ({ children }) => {children}, + }, + { + name: 'View', + Wrapper: ({ children }) => {children}, + }, +]; + +export default function ButtonChildOrderExample() { + const [toggled, setToggled] = useState(false); + + return ( + + setToggled((value) => !value)}> + Toggle ({toggled ? 'on' : 'off'}) + + + Swap label and ActivityIndicator + + {COLUMNS.map(({ name, Wrapper }) => ( + + + + {toggled ? ( + + ) : ( + Label + )} + + + {name} + + ))} + + + Toggle a child's opacity (1 and 0.5) + + {COLUMNS.map(({ name, Wrapper }) => ( + + + + + Label + + + + {name} + + ))} + + + ); +} + +const styles = StyleSheet.create({ + container: { flex: 1, paddingTop: 16 }, + toggle: { + marginHorizontal: 16, + padding: 12, + alignItems: 'center', + borderRadius: 8, + backgroundColor: COLORS.GRAY, + }, + title: { marginHorizontal: 16, marginTop: 24, fontWeight: '600' }, + row: { flexDirection: 'row', paddingHorizontal: 12, marginTop: 8 }, + cell: { flex: 1, paddingHorizontal: 4 }, + frame: { + height: 48, + borderRadius: 8, + backgroundColor: COLORS.DARK_PURPLE, + alignItems: 'center', + justifyContent: 'center', + }, + label: { color: 'white', fontWeight: '600' }, + caption: { fontSize: 11, marginTop: 4, textAlign: 'center' }, +}); diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandlerButtonComponentView.mm b/packages/react-native-gesture-handler/apple/RNGestureHandlerButtonComponentView.mm index fb0ff7ecb7..37b902ad9a 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandlerButtonComponentView.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandlerButtonComponentView.mm @@ -151,7 +151,25 @@ - (void)prepareForRecycle - (void)mountChildComponentView:(RNGHUIView *)childComponentView index:(NSInteger)index { +#if !TARGET_OS_OSX + // Same check as the default `UIView` implementation this replaces. + react_native_assert(childComponentView.superview == nil && "Attempt to mount already mounted component view"); + + // `_buttonView.layer` keeps the underlay layer at sublayer index 0, and + // `-[UIView insertSubview:atIndex:]` counts every sublayer, not only those + // backing subviews. Inserting at Fabric's index would therefore place the + // child one position too low, i.e. *below* the sibling it should cover (e.g. + // a label hoisted out of a flattened background View ends up behind it). + // Insert relative to the sibling subview instead, which ignores the underlay. + NSArray *subviews = _buttonView.subviews; + if (index < (NSInteger)subviews.count) { + [_buttonView insertSubview:childComponentView belowSubview:subviews[index]]; + } else { + [_buttonView addSubview:childComponentView]; + } +#else [_buttonView mountChildComponentView:childComponentView index:index]; +#endif } - (void)unmountChildComponentView:(RNGHUIView *)childComponentView From f785d6c6acf01a8095acaf46adc0b627e19a3530 Mon Sep 17 00:00:00 2001 From: Radek Czemerys Date: Fri, 16 Oct 2026 16:45:57 +0300 Subject: [PATCH 2/2] Run the button child order snapshots on iOS only The Android e2e job runs every flow too, and there are no Android baselines, so the snapshot step failed with "no baseline". The bug is iOS-only, so gate the two snapshots with `when: { platform: ios }`, like the Android-only steps in native-intercept-cancellation-test. --- .argent/flows/button-child-order-test.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.argent/flows/button-child-order-test.yaml b/.argent/flows/button-child-order-test.yaml index dddb615d3b..8893a9e72d 100644 --- a/.argent/flows/button-child-order-test.yaml +++ b/.argent/flows/button-child-order-test.yaml @@ -1,3 +1,5 @@ +# The snapshots run on iOS only: the bug was iOS-specific (the button's +# underlay layer shifted Fabric's mount index), so baselines exist for iOS only. steps: - echo: Launching Expo Example - launch: com.example.ExpoExample @@ -14,13 +16,17 @@ steps: - tap: { id: "button-child-order-toggle" } - await: { visible: { text: "Toggle (on)" } } - await: { idle: true } - - echo: "Every button column must still show its label, like the View column" - - snapshot: - { name: opacity-row-on, cropOn: { id: "button-child-order-opacity-row" } } + - when: { platform: ios } + steps: + - echo: "Every button column must still show its label, like the View column" + - snapshot: + { name: opacity-row-on, cropOn: { id: "button-child-order-opacity-row" } } - echo: "Toggle off - the labels are remounted again" - tap: { id: "button-child-order-toggle" } - await: { visible: { text: "Toggle (off)" } } - await: { idle: true } - - snapshot: - { name: opacity-row-off, cropOn: { id: "button-child-order-opacity-row" } } + - when: { platform: ios } + steps: + - snapshot: + { name: opacity-row-off, cropOn: { id: "button-child-order-opacity-row" } }