Many of our screens have a SafeAreaView at the top level to ensure content is rendered in the safe area bounds. After updating from 16.9.2 to 17.x.x many tests are failing with a RCTSafeAreaView is visible at window point error.
Provide the steps necessary to reproduce the issue. If you are seeing a regression, try to provide the last known version where the issue did not reproduce.
toBeVisible().The component is visible on the screen with a valid identifier, in this instance the test should pass.
Here is a snapshot of the bottom half of the screen. You can see Add to Cart is visible.

But test fails with the error
Error: Test Failed: Failed expectation: TOBEVISIBLE WITH MATCHER(identifier: == âbuttonTextâ && (text == âAdd to Cartâ && (class â âUITextViewâ || class â âUITextFieldâ || class â âUILabelâ || class â âRCTTextViewâ))) AT INDEX(0), Another view â<RCTSafeAreaView: 0x7fa585f44270>â is visible at window point â{"x":259,"y":323.25}â
TIP: To print view hierarchy on failed actions/matches, use loglevel verbose and above.
npm install)npm install log below:--loglevel trace argument and am providing the verbose log below:detox[46124] INFO: [DetoxServer.js] server listening on localhost:8099...
detox[46124] DEBUG: [DetoxServer.js/LOGIN] role=tester, sessionId=Testing
detox[46124] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=tester, sessionId=Testing
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=Testing)
detox[46124] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=Testing)
detox[46124] DEBUG: [DetoxServer.js/LOGIN] role=testee, sessionId=Testing
detox[46124] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=testee, sessionId=Testing
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=waitForActive (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=waitForActiveDone (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=reactNativeReload (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=reactNativeReload (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=invokeResult (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=testFailed (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=testFailed (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=tester action=cleanup (sessionId=Testing)
detox[46124] TRACE: [DetoxServer.js/MESSAGE] role=testee action=cleanupDone (sessionId=Testing)
detox[46124] DEBUG: [DetoxServer.js/DISCONNECT] role=tester, sessionId=Testing
Please post log as requested with --loglevel trace, so that the view hierarchy is shown.
We're using Cucumber which doesn't work that well with the cli. Every time I try to use the cli it looks for mocha in my node_modules and bombs out. I got this hierarchy from XCode, will this suffice? If not I can fail the test intentionally on 16.9.2 which would print the hierarchy by default. The element selected is the red 'Add to Cart' button that you can see is visible in the screenshot.

I need the hierarchy at the failure of the test, so I can see the pointer it complains about. You should find a way to pass the trace log level to Detox.
That wasn't too difficult to figure out, but the hierarchy is huge so I saved it as a gist. Tested with 17.3.1.
https://gist.github.com/AlexK777/77862568eb1e5d3e536e3b917e01a10d
The hierarchy is too big. Which text field are you trying to match? There are several with "Add to Cart" text, and identifiers are not printed in the hierarchy.
I _think_ I was able to trim it down to just the screen in question. The second to last line with text: Add to Cart is what I am trying to assert is visible.
We have the same issue.
It works on 16.9.*, but not on 17.4.4.
After logging in, we check for the whole screen before checking other stuff.

_Terminal looking for rooms-list-view and the simulator on the view_
I tried removing SafeAreaView from that screen, but the error happens anyway.
Btw we're using: https://github.com/th3rdwave/react-native-safe-area-context
This is the hierarchy:
Error: Test Failed: Timed out while waiting for expectation: TOBEVISIBLE WITH MATCHER(identifier: == ârooms-list-viewâ) TIMEOUT(10s)
View Hierarchy:
<UIWindow: 0x7fb679613200; frame = (0 0; 375 812); autoresize = W+H; gestureRecognizers = <NSArray: 0x6000014ac330>; layer = <UIWindowLayer: 0x600001c57040>>
| <UITransitionView: 0x7fb67943eb40; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x600001c9d6e0>>
| | <UIDropShadowView: 0x7fb6794400e0; frame = (0 0; 375 812); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x600001c9d760>>
| | | <RCTRootView: 0x7fb67a822c60; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x600001cac4c0>>
| | | | <RCTRootContentView: 0x7fb67972f8f0; reactTag: 1; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x6000014a81e0>; layer = <CALayer: 0x600001a135c0>>
| | | | | <RCTView: 0x7fb67966e230; reactTag: 23; frame = (0 0; 375 812); layer = <CALayer: 0x600001d7b720>>
| | | | | | <RCTView: 0x7fb67966df90; reactTag: 19; frame = (0 0; 375 812); layer = <CALayer: 0x600001d7b660>>
| | | | | | | <RNCSafeAreaProvider: 0x7fb67966daa0; reactTag: 17; frame = (0 0; 375 812); layer = <CALayer: 0x600001d7b6a0>>
| | | | | | | | <RNCAppearanceProvider: 0x7fb67966d5f0; reactTag: 15; frame = (0 0; 375 812); layer = <CALayer: 0x600001d7b300>>
| | | | | | | | | <RCTView: 0x7fb67976b390; reactTag: 175; frame = (0 0; 375 812); layer = <CALayer: 0x600001d605e0>>
| | | | | | | | | | <RCTView: 0x7fb67976ae50; reactTag: 169; frame = (0 0; 375 812); layer = <CALayer: 0x600001d605a0>>
| | | | | | | | | | | <RCTView: 0x7fb6797b0ad0; reactTag: 903; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56d40>>
| | | | | | | | | | | | <RCTView: 0x7fb67a8bdef0; reactTag: 639; frame = (0 0; 375 0); layer = <CALayer: 0x600001da1320>>
| | | | | | | | | | | | <RCTView: 0x7fb6794d5c70; reactTag: 899; frame = (0 0; 375 812); layer = <CALayer: 0x600001daa5e0>>
| | | | | | | | | | | | | <RCTView: 0x7fb67a8c5650; reactTag: 897; frame = (0 0; 375 812); layer = <CALayer: 0x600001da2720>>
| | | | | | | | | | | | | | <RCTView: 0x7fb67a8c53b0; reactTag: 895; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x60000163a1f0>; layer = <CALayer: 0x600001da2700>>
| | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c5110; reactTag: 893; frame = (0 0; 375 812); clipsToBounds = YES; layer = <CALayer: 0x600001da26e0>>
| | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c4e70; reactTag: 889; frame = (0 0; 375 812); layer = <CALayer: 0x600001da26c0>>
| | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c4bd0; reactTag: 887; frame = (0 0; 375 812); layer = <CALayer: 0x600001da26a0>>
| | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c4930; reactTag: 885; frame = (0 0; 375 812); layer = <CALayer: 0x600001da2680>>
| | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797b0830; reactTag: 883; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56c60>>
| | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797b0180; reactTag: 879; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56c80>>
| | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797accc0; reactTag: 643; frame = (0 0; 375 0); layer = <CALayer: 0x600001d54700>>
| | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797afee0; reactTag: 877; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56d00>>
| | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c33b0; reactTag: 645; frame = (0 0; 375 812); layer = <CALayer: 0x600001dac1c0>>
| | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797afc40; reactTag: 875; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56ce0>>
| | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797af9a0; reactTag: 873; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x60000160c0c0>; layer = <CALayer: 0x600001d56ca0>>
| | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797af700; reactTag: 869; frame = (0 0; 375 812); clipsToBounds = YES; layer = <CALayer: 0x600001d56d80>>
| | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797af150; reactTag: 867; frame = (0 0; 375 812); layer = <CALayer: 0x600001d56ba0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794e5750; reactTag: 863; frame = (0 0; 375 812); layer = <CALayer: 0x600001daa480>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794e54b0; reactTag: 859; frame = (0 0; 375 812); layer = <CALayer: 0x600001daa360>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794e5210; reactTag: 857; frame = (0 0; 375 812); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x600001607ed0>; layer = <CALayer: 0x600001da8cc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c9a30; reactTag: 719; frame = (0 0; 375 812); layer = <CALayer: 0x600001da2000>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67978efe0; reactTag: 715; frame = (0 0; 375 812); layer = <CALayer: 0x600001d553c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNSScreenContainerView: 0x7fb6797ada00; frame = (0 0; 375 812); layer = <CALayer: 0x600001d553e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb679788e80; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x600001d55420>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNSScreenView: 0x7fb67979dc00; reactTag: 709; frame = (0 0; 375 812); layer = <CALayer: 0x600001d55380>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794e1c30; reactTag: 707; frame = (0 0; 375 812); layer = <CALayer: 0x600001da9d80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c2630; reactTag: 669; frame = (0 0; 375 88); layer = <CALayer: 0x600001dac100>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979d450; reactTag: 667; frame = (0 0; 375 88); layer = <CALayer: 0x600001d55180>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c38f0; reactTag: 649; frame = (0 0; 375 88); layer = <CALayer: 0x600001dac300>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c3650; reactTag: 647; frame = (0 0; 375 88); layer = <CALayer: 0x600001dad8c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92fd00; reactTag: 665; frame = (0 0; 375 88); layer = <CALayer: 0x600001d7bba0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c3b90; reactTag: 653; frame = (0 0; 375 44); userInteractionEnabled = NO; layer = <CALayer: 0x600001dadb40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92fa60; reactTag: 663; frame = (0 44; 375 44); layer = <CALayer: 0x600001d7a840>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c0d70; reactTag: 917; frame = (0 0; 39 44); layer = <CALayer: 0x600001da8720>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a872930; reactTag: 915; frame = (4 10.3333; 35 23.3333); layer = <CALayer: 0x600001da29a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a88ae20; reactTag: 913; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001da2900>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a85c150; reactTag: 909; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001da2880>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a8a2750; reactTag: 907; text: î„ frame = (6 0; 23.3333 23.3333); opaque = NO; layer = <CALayer: 0x600001da27c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a9311a0; reactTag: 659; frame = (60 3.66667; 235 36.6667); layer = <CALayer: 0x600001d7a7e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796b3d20; reactTag: 939; frame = (0 0; 235 36.6667); layer = <CALayer: 0x600001dada60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796985d0; reactTag: 937; frame = (0 0; 235 36.6667); layer = <CALayer: 0x600001dad040>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67976d240; reactTag: 929; frame = (0 0; 235 19.6667); layer = <CALayer: 0x600001d56e80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6796b8ee0; reactTag: 923; text: Rocket.Chat frame = (0 0; 92.6667 19.6667); opaque = NO; layer = <CALayer: 0x600001dad1a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6796445e0; reactTag: 927; text:  frame = (92.3333 0.666667; 19.3333 18.3333); opaque = NO; layer = <CALayer: 0x600001dad020>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6797a23c0; reactTag: 935; text: mobile.rocket.chat frame = (0 19.3333; 235 17.3333); opaque = NO; layer = <CALayer: 0x600001d56ee0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8619e0; reactTag: 975; frame = (265 0; 110 44); layer = <CALayer: 0x600001da2a20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a860d50; reactTag: 973; frame = (0 10.3333; 105 23.3333); layer = <CALayer: 0x600001da2aa0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796ab770; reactTag: 949; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001dacc60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679697990; reactTag: 947; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001dad3a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67976ba30; reactTag: 945; text:  frame = (6 0; 23.3333 23.3333); opaque = NO; layer = <CALayer: 0x600001d551e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa277d0; reactTag: 959; frame = (35 0; 35 23.3333); layer = <CALayer: 0x600001d12820>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679778db0; reactTag: 957; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001d55da0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a8725f0; reactTag: 955; text: îŠ frame = (6 0; 23.3333 23.3333); opaque = NO; layer = <CALayer: 0x600001da29e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8a37d0; reactTag: 969; frame = (70 0; 35 23.3333); layer = <CALayer: 0x600001da2a80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a866eb0; reactTag: 967; frame = (0 0; 35 23.3333); layer = <CALayer: 0x600001da2a60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa207e0; reactTag: 965; text: î€ș frame = (6 0; 23.6667 23.3333); opaque = NO; layer = <CALayer: 0x600001d135c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794da4f0; reactTag: 705; frame = (0 88; 375 724); layer = <CALayer: 0x600001da9da0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796a76b0; reactTag: 703; frame = (0 0; 375 724); layer = <CALayer: 0x600001dae0c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92ffa0; reactTag: 673; frame = (0 0; 375 0); layer = <CALayer: 0x600001d7a860>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796aaa70; reactTag: 699; frame = (0 0; 375 724); layer = <CALayer: 0x600001dae0a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796c28d0; reactTag: 677; frame = (0 0; 375 724); layer = <CALayer: 0x600001dacee0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979d6f0; reactTag: 675; frame = (0 0; 375 724); alpha = 0.07; userInteractionEnabled = NO; layer = <CALayer: 0x600001d550e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c4a70; reactTag: 697; frame = (0 0; 375 724); layer = <CALayer: 0x600001da9de0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c4f10; reactTag: 695; frame = (0 0; 375 724); gestureRecognizers = <NSArray: 0x6000015e4e70>; layer = <CALayer: 0x600001da9e00>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794bd2e0; reactTag: 693; frame = (0 0; 375 724); clipsToBounds = YES; layer = <CALayer: 0x600001da8320>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794d5870; reactTag: 689; frame = (0 0; 375 724); layer = <CALayer: 0x600001da9c80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794b2c50; reactTag: 687; frame = (0 0; 375 724); layer = <CALayer: 0x600001da93e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794e7ec0; reactTag: 685; frame = (0 0; 375 724); layer = <CALayer: 0x600001da8460>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTScrollView: 0x7fb67aa38150; reactTag: 1003; frame = (0 0; 375 724); clipsToBounds = YES; layer = <CALayer: 0x600001d0c720>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTCustomScrollView: 0x7fb67c057600; baseClass = UIScrollView; frame = (0 0; 375 724); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600001608360>; layer = <CALayer: 0x600001d0d0e0>; contentOffset: {0, 0}; contentSize: {375, 191}; adjustedContentInset: {0, 0, 0, 0}>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTRefreshControl: 0x7fb67aa32590; baseClass = UIRefreshControl; frame = (0 -30; 375 60); autoresize = W; layer = <CALayer: 0x600001d0f6c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIRefreshControlModernContentView: 0x7fb67a874290; frame = (0 0; 375 60); hidden = YES; autoresize = W; layer = <CALayer: 0x600001d57d80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb6797aeae0; frame = (137.5 -20; 100 100); layer = <CALayer: 0x600001d686e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIRefreshControlModernReplicatorView: 0x7fb67977c580; frame = (0 0; 100 100); animations = { instanceCount=<CABasicAnimation: 0x600001d6a880>; opacity=<CABasicAnimation: 0x600001d0fce0>; }; layer = <CAReplicatorLayer: 0x600001d6bfa0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb679791a80; frame = (49 36.3333; 2 7.66667); layer = <CALayer: 0x600001d6bfc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UILabel: 0x7fb67a856a10; frame = (10 48.6667; 355 0); alpha = 0; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x6000039a14a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UILabelContentLayer: 0x600001d6b660> (layer)
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTScrollContentView: 0x7fb67aa37eb0; reactTag: 999; frame = (0 0; 375 191); layer = <CALayer: 0x600001d0c1a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa228e0; reactTag: 997; frame = (0 0; 375 41); layer = <CALayer: 0x600001d0cf20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67aa22720; baseClass = UIControl; frame = (0 0; 375 41); clipsToBounds = YES; layer = <CALayer: 0x600001d0cc00>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa1fa00; reactTag: 979; frame = (0 0; 375 41); alpha = 0; layer = <CALayer: 0x600001d0f6a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa21fa0; reactTag: 993; frame = (0 0; 375 41); layer = <CALayer: 0x600001d0d020>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa36c30; reactTag: 985; text: îŠ frame = (12 9.33333; 22 22); opaque = NO; layer = <CALayer: 0x600001d0f080>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa1ffd0; reactTag: 989; text: Sorting by activity frame = (46 10.3333; 329 20); opaque = NO; layer = <CALayer: 0x600001d0e9a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac32530; reactTag: 1113; frame = (0 41; 375 75); layer = <CALayer: 0x600001d4c700>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac3d300; reactTag: 1109; frame = (0 0; 375 75); gestureRecognizers = <NSArray: 0x6000015ad1d0>; layer = <CALayer: 0x600001d4dc80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab33bf0; reactTag: 1025; frame = (0 0; 375 75); layer = <CALayer: 0x600001a19640>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab33950; reactTag: 1023; frame = (-375 0; 375 75); transform = [1, 0, 0, 1, -80, 0]; layer = <CALayer: 0x600001a19880>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab1c170; reactTag: 1019; frame = (295 0; 80 75); layer = <CALayer: 0x600001a1c260>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67ab363e0; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001a93200>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92a2b0; reactTag: 1005; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001d63080>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa294e0; reactTag: 1009; text: î„ frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d31820>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ab27300; reactTag: 1015; text: Unread frame = (13.6667 40.3333; 52.6667 18.3333); opaque = NO; layer = <CALayer: 0x600001c46980>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac2e080; reactTag: 1063; frame = (0 0; 375 75); layer = <CALayer: 0x600001d4d980>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab36da0; reactTag: 1043; frame = (375 0; 375 75); transform = [1, 0, 0, 1, 375, 0]; layer = <CALayer: 0x600001a26b60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67ab34e80; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001c5b860>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab33e90; reactTag: 1027; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001a06440>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ab342a0; reactTag: 1033; text: îŠ frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001a01ba0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ab34820; reactTag: 1037; text: Favorite frame = (11 40.3333; 58 18.3333); opaque = NO; layer = <CALayer: 0x600001a278e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a9285e0; reactTag: 1059; frame = (375 0; 375 75); transform = [1, 0, 0, 1, 375, 0]; layer = <CALayer: 0x600001d608e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67a92bcd0; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001d626c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab37040; reactTag: 1045; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001c53f40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a909990; reactTag: 1049; text:  frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d61e60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a9335b0; reactTag: 1055; text: Hide frame = (23 40.3333; 34 18.3333); opaque = NO; layer = <CALayer: 0x600001d61ae0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac410c0; reactTag: 1107; frame = (0 0; 375 75); layer = <CALayer: 0x600001d4cfc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67ac355b0; baseClass = UIControl; frame = (0 0; 375 75); clipsToBounds = YES; layer = <CALayer: 0x600001d4d220>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac06220; reactTag: 1065; frame = (0 0; 375 75); alpha = 0; layer = <CALayer: 0x600001d4f040>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa203d0; reactTag: 1103; frame = (0 0; 375 75); layer = <CALayer: 0x600001d31ba0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac36cf0; reactTag: 1073; frame = (14 13.6667; 48 48); layer = <CALayer: 0x600001d4ed20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac2ead0; reactTag: 1069; frame = (0 0; 48 48); clipsToBounds = YES; layer = <CALayer: 0x600001d4e860>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <FFFastImageView: 0x7fb67ac3af30; baseClass = UIImageView; frame = (0 0; 48 48); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x600001d4f080>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa3afa0; reactTag: 1099; frame = (72 0; 303 75); layer = <CALayer: 0x600001d32220>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac2ef30; reactTag: 1089; frame = (0 10; 289 20); layer = <CALayer: 0x600001d4d280>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac320e0; reactTag: 1077; text:  frame = (0 3.33333; 16.3333 16.3333); opaque = NO; layer = <CALayer: 0x600001d4e420>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac2f420; reactTag: 1083; text: detox-private-xbvksgjazmmhbkaevkuh frame = (20 0; 265 20.3333); opaque = NO; layer = <CALayer: 0x600001d4dd20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa21d60; reactTag: 1087; text: frame = (288.667 3; 0.333313 14.3333); opaque = NO; layer = <CALayer: 0x600001d33b40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa3ad00; reactTag: 1097; frame = (0 30; 289 34.6667); layer = <CALayer: 0x600001d31660>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6794bd580; reactTag: 1095; text: No Message frame = (0 0; 289 17.3333); opaque = NO; layer = <CALayer: 0x600001d33d20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a930e10; reactTag: 1229; frame = (0 116; 375 75); layer = <CALayer: 0x600001d628c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a930b70; reactTag: 1227; frame = (0 0; 375 75); gestureRecognizers = <NSArray: 0x60000158fcf0>; layer = <CALayer: 0x600001d619a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa22f80; reactTag: 1135; frame = (0 0; 375 75); layer = <CALayer: 0x600001d33fe0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679789b60; reactTag: 1133; frame = (-375 0; 375 75); transform = [1, 0, 0, 1, -80, 0]; layer = <CALayer: 0x600001d6b4e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a934880; reactTag: 1129; frame = (295 0; 80 75); layer = <CALayer: 0x600001d62ce0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67a9342a0; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001d62d20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac327d0; reactTag: 1115; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001d4d140>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac3d5a0; reactTag: 1119; text:  frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d4ec40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac3a880; reactTag: 1125; text: Read frame = (21.6667 40.3333; 36.6667 18.3333); opaque = NO; layer = <CALayer: 0x600001da80a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac40c90; reactTag: 1173; frame = (0 0; 375 75); layer = <CALayer: 0x600001d4e980>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a934e40; reactTag: 1153; frame = (375 0; 375 75); transform = [1, 0, 0, 1, 375, 0]; layer = <CALayer: 0x600001d63a00>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67a934b20; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001d61b80>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa30c30; reactTag: 1137; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001d321e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa23220; reactTag: 1143; text: îŠ frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d33540>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb679484e50; reactTag: 1147; text: Favorite frame = (11 40.3333; 58 18.3333); opaque = NO; layer = <CALayer: 0x600001daadc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac3a490; reactTag: 1169; frame = (375 0; 375 75); transform = [1, 0, 0, 1, 375, 0]; layer = <CALayer: 0x600001d4c760>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67ac2fb60; baseClass = UIControl; frame = (0 0; 80 75); clipsToBounds = YES; layer = <CALayer: 0x600001d4dae0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a871ca0; reactTag: 1155; frame = (0 0; 80 75); alpha = 0; layer = <CALayer: 0x600001d55c20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6797ab490; reactTag: 1159; text:  frame = (29.6667 16.3333; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d6a900>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac2c670; reactTag: 1165; text: Hide frame = (23 40.3333; 34 18.3333); opaque = NO; layer = <CALayer: 0x600001d4fe60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a935580; reactTag: 1225; frame = (0 0; 375 75); layer = <CALayer: 0x600001d61160>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67a92e6c0; baseClass = UIControl; frame = (0 0; 375 75); clipsToBounds = YES; layer = <CALayer: 0x600001d610a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac2ca60; reactTag: 1175; frame = (0 0; 375 75); alpha = 0; layer = <CALayer: 0x600001d4ddc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a933f10; reactTag: 1219; frame = (0 0; 375 75); layer = <CALayer: 0x600001d63980>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac3aa40; reactTag: 1183; frame = (14 13.6667; 48 48); layer = <CALayer: 0x600001d4efc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ac2ff20; reactTag: 1179; frame = (0 0; 48 48); clipsToBounds = YES; layer = <CALayer: 0x600001d4eb20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <FFFastImageView: 0x7fb67ac31e50; baseClass = UIImageView; frame = (0 0; 48 48); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x600001d4d7e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab34460; reactTag: 1217; frame = (72 0; 303 75); layer = <CALayer: 0x600001c55ae0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679671a80; reactTag: 1199; frame = (0 10; 289 20); layer = <CALayer: 0x600001dad0a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac381e0; reactTag: 1187; text:  frame = (0 3.33333; 16.3333 16.3333); opaque = NO; layer = <CALayer: 0x600001d4ffa0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac30a20; reactTag: 1193; text: general frame = (20 0; 227.667 20.3333); opaque = NO; layer = <CALayer: 0x600001d4de60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac2d380; reactTag: 1197; text: Jul 31 frame = (251.333 2; 37.6667 16); opaque = NO; layer = <CALayer: 0x600001d4ce20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92a8e0; reactTag: 1215; frame = (0 30; 289 34.6667); layer = <CALayer: 0x600001d619e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac2d7c0; reactTag: 1205; text: diego.mello2: Hey frame = (0 0; 258 17.3333); opaque = NO; layer = <CALayer: 0x600001d4fb40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797bb490; reactTag: 1213; frame = (268 0; 21 21); layer = <CALayer: 0x600001d69f60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67aa3b7d0; reactTag: 1209; text: 1 frame = (6.66667 2.66667; 7.66666 15.3333); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x600001d57740>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIScrollViewScrollIndicator: 0x7fb67a8930e0; frame = (369 682.667; 3 7); alpha = 0; autoresize = LM; layer = <CALayer: 0x600001d545c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb67a869dd0; frame = (0 0; 3 7); layer = <CALayer: 0x600001d56300>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIScrollViewScrollIndicator: 0x7fb67ac05a90; frame = (34.3333 718; 306.333 3); alpha = 0; autoresize = TM; layer = <CALayer: 0x600001d4d940>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb67ac2a0a0; frame = (0 0; 306.333 3); layer = <CALayer: 0x600001d4da60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c9790; reactTag: 717; frame = (0 0; 375 812); alpha = -0.0526316; gestureRecognizers = <NSArray: 0x6000016078d0>; layer = <CALayer: 0x600001da1fc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67978d7d0; reactTag: 855; frame = (0 0; 280 812); layer = <CALayer: 0x600001d56d60>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNCSafeAreaView: 0x7fb67978d4f0; reactTag: 853; frame = (0 0; 280 812); layer = <CALayer: 0x600001d56aa0>; RNCSafeAreaInsets = {44, 0, 34, 0}; appliedRNCSafeAreaInsets = {44, 0, 34, 0}>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTScrollView: 0x7fb6796bfbf0; reactTag: 849; frame = (0 44; 280 734); clipsToBounds = YES; layer = <CALayer: 0x600001dae420>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTCustomScrollView: 0x7fb67a11d000; baseClass = UIScrollView; frame = (0 0; 280 734); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600001592c40>; layer = <CALayer: 0x600001dae540>; contentOffset: {0, 0}; contentSize: {280, 287}; adjustedContentInset: {0, 0, 0, 0}>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTScrollContentView: 0x7fb6796bf950; reactTag: 847; frame = (0 0; 280 287); layer = <CALayer: 0x600001dae440>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979b9c0; reactTag: 745; frame = (0 0; 280 66); layer = <CALayer: 0x600001d55660>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679459160; reactTag: 727; frame = (10 18; 30 30); layer = <CALayer: 0x600001da8640>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794dfef0; reactTag: 725; frame = (0 0; 30 30); clipsToBounds = YES; layer = <CALayer: 0x600001da9000>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <FFFastImageView: 0x7fb6794e0490; baseClass = UIImageView; frame = (0 0; 30 30); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x600001da87a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979b4c0; reactTag: 743; frame = (50 16; 230 34); layer = <CALayer: 0x600001d55aa0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a92dc80; reactTag: 735; frame = (0 0; 216 17); layer = <CALayer: 0x600001d78e20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6794c5380; reactTag: 733; text: useronexbvksgjazmmhbkaevkuh frame = (0 0; 216.333 17.3333); opaque = NO; layer = <CALayer: 0x600001da8fa0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a931440; reactTag: 739; text: Rocket.Chat frame = (0 17; 82.6667 17.3333); opaque = NO; layer = <CALayer: 0x600001d7a9e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979bc60; reactTag: 747; frame = (0 70; 280 0.333328); layer = <CALayer: 0x600001d558c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67979a630; baseClass = UIControl; frame = (0 74.3333; 280 49); clipsToBounds = YES; layer = <CALayer: 0x600001d56a00>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679791c40; reactTag: 749; frame = (0 0; 280 49); alpha = 0; layer = <CALayer: 0x600001d55be0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67aa2e450; reactTag: 755; frame = (10 18.6667; 30 12); layer = <CALayer: 0x600001d12900>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab2fa60; reactTag: 753; frame = (6.66667 0; 12 12); layer = <CALayer: 0x600001d23900>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679791ee0; reactTag: 763; frame = (50 0; 180 49); layer = <CALayer: 0x600001d567c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67a931870; reactTag: 759; text: Edit Status frame = (0 16; 180 17.3333); opaque = NO; layer = <CALayer: 0x600001d79860>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67979a390; reactTag: 769; frame = (240 14.6667; 30 20); layer = <CALayer: 0x600001d56a40>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb679792180; reactTag: 767; text:  frame = (4.66667 0; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001d567e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797946b0; reactTag: 775; frame = (0 127.333; 280 0.333336); layer = <CALayer: 0x600001d569c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb67ab30a60; baseClass = UIControl; frame = (0 131.667; 280 49); clipsToBounds = YES; layer = <CALayer: 0x600001d235c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679794950; reactTag: 777; frame = (0 0; 280 49); alpha = 0; layer = <CALayer: 0x600001d56920>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab30650; reactTag: 785; frame = (10 14.6667; 30 20); layer = <CALayer: 0x600001d23bc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6796b9530; reactTag: 783; text:  frame = (4.66667 0; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001dac020>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796bc9b0; reactTag: 793; frame = (50 0; 180 49); layer = <CALayer: 0x600001dae720>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6796bc7f0; reactTag: 789; text: Chats frame = (0 16; 180 17.3333); opaque = NO; layer = <CALayer: 0x600001dae320>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8ca150; reactTag: 795; frame = (240 24.6667; 30 0); layer = <CALayer: 0x600001da20a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb6796bd190; baseClass = UIControl; frame = (0 180.667; 280 49); clipsToBounds = YES; layer = <CALayer: 0x600001dae380>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67ab30c20; reactTag: 799; frame = (0 0; 280 49); alpha = 0; layer = <CALayer: 0x600001cd3dc0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c3790; reactTag: 807; frame = (10 14.6667; 30 20); layer = <CALayer: 0x600001daa080>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6794c35d0; reactTag: 805; text:  frame = (4.66667 0; 20.6667 20.3333); opaque = NO; layer = <CALayer: 0x600001da8240>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796bcc50; reactTag: 815; frame = (50 0; 180 49); layer = <CALayer: 0x600001dadfe0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6794c3a30; reactTag: 813; text: Profile frame = (0 16; 180 17.3333); opaque = NO; layer = <CALayer: 0x600001daa000>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6796bcef0; reactTag: 817; frame = (240 24.6667; 30 0); layer = <CALayer: 0x600001dae1e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RNGestureHandlerButton: 0x7fb6794d1670; baseClass = UIControl; frame = (0 229.667; 280 49); clipsToBounds = YES; layer = <CALayer: 0x600001daa0a0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb67a8c1b40; reactTag: 823; frame = (0 0; 280 49); alpha = 0; layer = <CALayer: 0x600001da20c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c3bf0; reactTag: 829; frame = (10 14.6667; 30 20); layer = <CALayer: 0x600001daa020>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb67ac3f2f0; reactTag: 827; text: î€ frame = (4.66667 0; 20.6667 20.3334); opaque = NO; layer = <CALayer: 0x600001d4de20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c4050; reactTag: 837; frame = (50 0; 180 49); layer = <CALayer: 0x600001daa200>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTTextView: 0x7fb6794c3e90; reactTag: 835; text: Settings frame = (0 16; 180 17.3333); opaque = NO; layer = <CALayer: 0x600001daa0e0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6794c42f0; reactTag: 839; frame = (240 24.6667; 30 0); layer = <CALayer: 0x600001daa160>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb679476520; reactTag: 845; frame = (0 282.667; 280 0.333344); layer = <CALayer: 0x600001daa1c0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIScrollViewScrollIndicator: 0x7fb67a8b1950; frame = (274 450; 3 281); alpha = 0; autoresize = LM; layer = <CALayer: 0x600001da2d20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb67a8b1c40; frame = (0 0; 3 281); layer = <CALayer: 0x600001da2f20>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <_UIScrollViewScrollIndicator: 0x7fb67a8b1510; frame = (3 728; 274 3); alpha = 0; autoresize = TM; layer = <CALayer: 0x600001da1260>>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <UIView: 0x7fb67a8b16b0; frame = (0 0; 274 3); layer = <CALayer: 0x600001da0de0>>
| | | | | | | | | | | | | | | | | | | | | | | | | | <RCTView: 0x7fb6797aeeb0; reactTag: 865; frame = (0 0; 375 0); layer = <CALayer: 0x600001d56b80>>
| | | | | | | | | | <RCTView: 0x7fb67976b0f0; reactTag: 173; frame = (0 0; 375 0); layer = <CALayer: 0x600001d605c0>>
| | | | | | | | | <RCTView: 0x7fb67966d350; reactTag: 13; frame = (0 -1000; 375 74); transform = [1, 0, 0, 1, 0, -1000]; gestureRecognizers = <NSArray: 0x600001547000>; layer = <CALayer: 0x600001d7b700>>
| | | | | | | | | | <RCTView: 0x7fb67a856770; reactTag: 9; frame = (0 0; 375 74); layer = <CALayer: 0x600001d3fb40>>
| | | | | | | | | | | <RCTSafeAreaView: 0x7fb67a855c90; reactTag: 7; frame = (0 0; 375 74); layer = <CALayer: 0x600001d3fee0>; safeAreaInsets = {0, 0, 0, 0}; appliedSafeAreaInsets = {44, 0, 0, 0}>
| | | | | | | | | | | | <RCTView: 0x7fb67a8559f0; reactTag: 5; frame = (10 54; 355 20); layer = <CALayer: 0x600001d3ff40>>
| | | | | | | | | | | | | <RCTView: 0x7fb679469f00; reactTag: 3; frame = (15 10; 325 0); layer = <CALayer: 0x600001d674e0>>
Let me know if I can help sorting this.
Thanks! :)
Iâm sorry, but these huge hierarchy dumps are not helpful. Is the view you are actually looking for in the hierarchy? @diegolmello Use Xcode to debug your hierarchy and see if itâs there. In your case, you had Detox wait for 10 seconds to find it, and it still couldnât. If you verify itâs there in the hierarchy, please change the test to be without timeout so I can see the underlying visibility failure reason. Thanks
Interesting.
@LeoNatan check this out:

Xcode thinks the sidebar is opened, but it isn't.
I changed from toBeVisible() to toExist() and the test has passed :)
I'm going to check all toBeVisible usage.
Btw the 75% visible error from v16 would help on this case.
I'll keep you posted.
Thanks! đ
Hi @diegolmello,
did you find any solution? I have the same problem. Thanks!
Nope.
It was kind of a mess to get it working on the new version.
We delayed this upgrade for now.
Please try the latest Detox version. Iâm working on further improvements which will land soon.
Along with @diegolmello, I have just delayed the upgrade. I am still seeing the failure on latest (17.5.6)
@diegolmello I checked your repo. Your drawer type is back and mine too. I changed the drawer type to front. All test work. But drawer animation changed.
@LeoNatan I am using detox last version. Thank you for your improvements.
Please test with Detox 17.7.1, many changes in that build.
If you still get visibility issues, let me know. There is now a new mechanism for debugging visibility.
@LeoNatan I'm going to take a look next week. Thanks!
The test I originally filed this issue on is still failing for a visibility issue on the same element, but the error message is slightly different and no longer mentions SafeAreaView. The new debugging feature is cool. I have attached a screenshot of the output and a gif of the transition from a list of products to a single product. For some reason detox is seeing the list of products that exist behind the modal, and that is causing the visibility failure for the red Add to Cart button.


Please add
"artifacts": {
"plugins": {
"uiHierarchy": "enabled"
}
},
and reproduce. Once the test fails, provide the .viewhierarchy file. Thanks
If whatever framework you are using is setting the zPosition of layers, Iâm not sure weâll support it.
When I run the test there are 3 .viewhierarchy files created, I attached each.
I'm not sure which I should look at. I only the need the one that is at the time of failure.
I would imagine that is the first one, but they all have the same timestamp so I cannot be positive.
I've modified the algorithm to take into account zPosition. Once the test suite passes, I will merge and create a release. Let's hope it fixes that issue.