Skip to content

Conversation

philprime
Copy link
Member

📜 Description

Ignores the decoration view used in SwiftUI from the redaction algorithm.

💡 Motivation and Context

One screen of the dogfooding app Flinky had the following masking issue in a screen where a Grid and a List are inside a VStack, where the entire top half was unmasked:

image

Further analysis using (lldb) po view.value(forKey: "recursiveDescription")! surfaced that the SwiftUI.List is implemented as a SwiftUI.UpdateCoalescingCollectionView, a subclass of UICollectionView, which uses a _UICollectionViewListLayoutSectionBackgroundColorDecorationView to display its background color.

This background view massively overextends the list bounds with it's frame of (-20 -1135.33; 442 2336) and causes calculation issues in the clipping.

The easiest solution for now was simply ignoring the view from the redaction algorithm.

(lldb) po view.value(forKey: "recursiveDescription")!
<UIWindow: 0x105343a90; frame = (0 0; 402 874); gestureRecognizers = <NSArray: 0x600000c6ebb0>; layer = <UIWindowLayer: 0x600000c6f600>>
   | <UITransitionView: 0x105218500; frame = (0 0; 402 874); autoresize = W+H; layer = <CALayer: 0x60000027b7a0>>
   |    | <UIDropShadowView: 0x10381e640; frame = (0 0; 402 874); autoresize = W+H; layer = <CALayer: 0x600000274f00>>
   |    |    | <_TtGC7SwiftUI14_UIHostingViewGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier__: 0x10540c400; frame = (0 0; 402 874); autoresize = W+H; gestureRecognizers = <NSArray: 0x600000011a40>; backgroundColor = <UIDynamicSystemColor: 0x6000017192c0; name = systemBackgroundColor>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x60000027aee0>> 1 1; layer = <CALayer: 0x6000002c0ce0>>
   |    |    |    |    | <UILayoutContainerView: 0x103835e10; frame = (0 0; 402 874); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x60000003c2c0>; layer = <CALayer: 0x6000002c0d80>>
   |    |    |    |    |    | <UINavigationTransitionView: 0x1038361c0; frame = (0 0; 402 874); autoresize = W+H; layer = <CALayer: 0x6000002c0e20>>
   |    |    |    |    |    |    | <UIViewControllerWrapperView: 0x10523efc0; frame = (0 0; 402 874); layer = <CALayer: 0x6000002c8060>>
   |    |    |    |    |    |    |    | <_TtCGC7SwiftUI32NavigationStackHostingControllerVS_7AnyView_P10$1d43225f411HostingView: 0x10352a610; frame = (0 0; 402 874); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x600000ca11d0>; backgroundColor = <UIDynamicSystemColor: 0x6000017192c0; name = systemBackgroundColor>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x60000027ed60>>
   |    |    |    |    |    |    |    |    | <SwiftUI._UIGraphicsView: 0x10350c0f0; frame = (0 0; 402 874); anchorPoint = (0, 0); autoresizesSubviews = NO; backgroundColor = UIExtendedSRGBColorSpace 0.94902 0.94902 0.968628 1; layer = <CALayer: 0x6000002cd000>>
   |    |    |    |    |    |    |    |    | <_TtC7SwiftUIP33_5DAB09131F46EF4FA69B417F7F09D60321PortalGroupMarkerView: 0x103540120; frame = (16 204.333; 179 86); anchorPoint = (0, 0); layer = <CALayer: 0x6000002cd140>>
   |    |    |    |    |    |    |    |    |    | <SwiftUI._UIInheritedView: 0x103540a60; frame = (0 0; 179 86); anchorPoint = (0, 0); autoresizesSubviews = NO; layer = <CALayer: 0x6000002cd240>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI._UIGraphicsView: 0x103541040; frame = (0 0; 179 86); anchorPoint = (0, 0); clipsToBounds = YES; autoresizesSubviews = NO; backgroundColor = UIExtendedSRGBColorSpace 1 1 1 1; layer = <CALayer: 0x6000002cd2c0>>
   |    |    |    |    |    |    |    |    |    |    | <_TtC7SwiftUIP33_A34643117F00277B93DEBAB70EC0697122_UIShapeHitTestingView: 0x1035414f0; frame = (14 18.6667; 24.3333 23); anchorPoint = (0, 0); autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_E19F490D25D5E0EC8A24903AF958E34115ColorShapeLayer: 0x6000002cd3a0>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x103541b00; frame = (156.333 17; 10.6667 26.3333); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000265b480>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x1035422d0; frame = (12 56; 62 18); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x600002660000>>
   |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI16PlatformViewHostGVS_P10$1d43289e817ListRepresentableGVS_28CollectionViewListDataSourceOs5Never_GOS_19SelectionManagerBoxS3____: 0x105248090; baseClass = _UIConstraintBasedLayoutHostingView; frame = (0 306.333; 402 567.667); anchorPoint = (0, 0); tintColor = UIExtendedSRGBColorSpace 0 0.478431 1 1; layer = <CALayer: 0x6000002acfe0>>
   |    |    |    |    |    |    |    |    |    | <SwiftUI.UpdateCoalescingCollectionView: 0x105871000; baseClass = UICollectionView; frame = (0 0; 402 567.667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600000ca3240>; backgroundColor = <UIDynamicSystemColor: 0x600001786780; name = systemGroupedBackgroundColor>; layer = <CALayer: 0x6000002ab800>; contentOffset: {0, 0}; contentSize: {402, 65.333333333333343}; adjustedContentInset: {0, 0, 83.000000000000114, 0}; layout: <UICollectionViewCompositionalLayout: 0x10352a2e0>; dataSource: <_TtGC7SwiftUI31UICollectionViewListCoordinatorGVS_28CollectionViewListDataSourceOs5Never_GOS_19SelectionManagerBoxS2___: 0x103529f30>>
   |    |    |    |    |    |    |    |    |    |    | <_UICollectionViewListLayoutSectionBackgroundColorDecorationView: 0x10354bb40; frame = (-20 -1135.33; 442 2336); userInteractionEnabled = NO; backgroundColor = <UIDynamicSystemColor: 0x600001786780; name = systemGroupedBackgroundColor>; layer = <CALayer: 0x6000002dd4a0>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.ListCollectionViewCell: 0x105950c00; baseClass = UICollectionViewListCell; frame = (20 0; 362 45.3333); layer = <CALayer: 0x6000002dd080>>
   |    |    |    |    |    |    |    |    |    |    |    | <_UISystemBackgroundView: 0x103545440; frame = (0 0; 362 45.3333); layer = <CALayer: 0x6000002dd180>; configuration = <UIBackgroundConfiguration: 0x6000039de560; Base Style = List Grouped Header/Footer; cornerRadius = 10>>
   |    |    |    |    |    |    |    |    |    |    |    | <_UICollectionViewListCellContentView: 0x10354a890; frame = (0 0; 362 45.3333); gestureRecognizers = <NSArray: 0x60000003d6c0>; layer = <CALayer: 0x6000002dc0c0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI15CellHostingViewGVS_15ModifiedContentVS_14_ViewList_ViewVS_26CollectionViewCellModifier__: 0x105958e00; frame = (0 0; 362 45.3333); autoresize = W+H; gestureRecognizers = <NSArray: 0x60000003d7b0>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x6000002ddc80>>
   |    |    |    |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x105388f90; frame = (20 8; 85.3333 26.3333); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000265d140>>
   |    |    |    |    |    |    |    |    |    |    | <_UIScrollViewScrollIndicator: 0x103543070; frame = (396 474.667; 3 7); alpha = 0; autoresize = LM; layer = <CALayer: 0x6000002cda60>>
   |    |    |    |    |    |    |    |    |    |    |    | <UIView: 0x103543220; frame = (0 0; 3 7); backgroundColor = UIExtendedGrayColorSpace 0 0.35; layer = <CALayer: 0x6000002cda80>>
   |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI16PlatformViewHostGVS_P10$1d432ddac32PlatformViewRepresentableAdaptorV13SentrySwiftUI23SentryReplayPreviewView__: 0x103534ed0; baseClass = _UIConstraintBasedLayoutHostingView; frame = (0 204.333; 402 586.667); anchorPoint = (0, 0); userInteractionEnabled = NO; tintColor = UIExtendedSRGBColorSpace 0 0.478431 1 1; layer = <CALayer: 0x6000002b97a0>>
   |    |    |    |    |    |    |    |    |    | <SentrySwiftUI.SentryReplayMaskPreviewUIView: 0x103533200; frame = (0 0; 402 586.667); autoresize = W+H; layer = <CALayer: 0x6000002b9740>>
   |    |    |    |    |    | <SwiftUI.UIKitNavigationBar: 0x10352de70; baseClass = UINavigationBar; frame = (0 56.3333; 402 148); opaque = NO; autoresize = W; layer = <CALayer: 0x60000027f3a0>> delegate=0x105847400
   |    |    |    |    |    |    | <_UIBarBackground: 0x10352e2d0; frame = (0 -62; 402 210); userInteractionEnabled = NO; layer = <CALayer: 0x60000027f560>>
   |    |    |    |    |    |    |    | <UIVisualEffectView: 0x103841760; frame = (0 0; 402 210); alpha = 0; layer = <CALayer: 0x6000002c30e0>> effect=none
   |    |    |    |    |    |    |    |    | <_UIVisualEffectBackdropView: 0x103519d80; frame = (0 0; 402 210); autoresize = W+H; userInteractionEnabled = NO; layer = <UICABackdropLayer: 0x600000c82580>>
   |    |    |    |    |    |    |    | <_UIBarBackgroundShadowView: 0x10353a4f0; frame = (0 210; 402 0.333333); layer = <CALayer: 0x6000002b8cc0>> clientRequestedContentView effect=none
   |    |    |    |    |    |    |    |    | <_UIBarBackgroundShadowContentImageView: 0x103841b60; frame = (0 0; 402 0.333333); alpha = 0; autoresize = W+H; userInteractionEnabled = NO; backgroundColor = <UIDynamicSystemColor: 0x6000017ac640; name = _systemChromeShadowColor>; image = <(null):0x0 (null) anonymous; (0 0)@0>; layer = <CALayer: 0x6000002c3660>>
   |    |    |    |    |    |    | <SwiftUI.UIKitSearchBar: 0x105257f10; baseClass = UISearchBar; frame = (0 96; 402 52); text = ''; gestureRecognizers = <NSArray: 0x600000012ac0>; layer = <CALayer: 0x6000002c86e0>>
   |    |    |    |    |    |    |    | <UIView: 0x105242ac0; frame = (0 0; 402 52); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6000002c88a0>>
   |    |    |    |    |    |    |    |    | <UISearchBarBackground: 0x105258ab0; frame = (0 0; 402 52); opaque = NO; userInteractionEnabled = NO; image = <(null):0x0 (null) anonymous; (0 0)@0>; layer = <CALayer: 0x6000002c8920>>
   |    |    |    |    |    |    |    |    | <_UISearchBarSearchContainerView: 0x105242e50; frame = (0 0; 402 52); autoresize = W; layer = <CALayer: 0x6000002c8a60>>
   |    |    |    |    |    |    |    |    |    | <UISearchBarTextField: 0x10787ea00; frame = (16 1; 370 36); text = ''; opaque = NO; gestureRecognizers = <NSArray: 0x600000ca31b0>; placeholder = Search lists and links; borderStyle = RoundedRect; background = <_UITextFieldSystemBackgroundProvider: 0x6000002c6080: backgroundView=<_UISearchBarSearchFieldBackgroundView: 0x10384c320; frame = (0 0; 370 36); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6000002c61c0>>, fillColor=(null), textfield=<UISearchBarTextField: 0x10787ea00>>; layer = <CALayer: 0x6000002c43c0>>
   |    |    |    |    |    |    |    |    |    |    | <_UISearchBarSearchFieldBackgroundView: 0x10384c320; frame = (0 0; 370 36); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6000002c61c0>>
   |    |    |    |    |    |    |    |    |    |    |    | <_UISearchBarSearchFieldBackgroundView: 0x10384c990; frame = (0 0; 370 36); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; backgroundColor = <UIDynamicSystemColor: 0x6000017aeb80; name = tertiarySystemFillColor>; layer = <CALayer: 0x6000002c62c0>>
   |    |    |    |    |    |    |    |    |    |    | <_UITouchPassthroughView: 0x1035451b0; frame = (0 0; 331.667 32); layer = <CALayer: 0x6000002ce560>>
   |    |    |    |    |    |    |    |    |    |    | <UIImageView: 0x10384ba70; frame = (6 8.33333; 20.3333 18.6667); opaque = NO; userInteractionEnabled = NO; tintColor = <UIDynamicCatalogSystemColor: 0x60000178b540; name = secondaryLabelColor>; image = <UIImage:0x600003003600 symbol "magnifyingglass"; (20 19)@3{2}>; layer = <CALayer: 0x6000002c5e00>>
   |    |    |    |    |    |    |    |    |    |    | <UISearchBarTextFieldLabel: 0x105412a70; frame = (31.3333 8; 159 20.3333); text = 'Search lists and links'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x60000295fb80>>
   |    |    |    |    |    |    |    |    |    |    | <_UITextLayoutCanvasView: 0x103823f10; frame = (31.3333 2; 331.667 32); layer = <CALayer: 0x6000002c5020>>
   |    |    |    |    |    |    |    |    |    |    |    | <_UITextLayoutFragmentView: 0x10538d030; frame = (0 6; 0 21); opaque = NO; layer = <CALayer: 0x6000002da840>>
   |    |    |    |    |    |    | <_UINavigationBarLargeTitleView: 0x10352f980; frame = (0 44; 402 52); clipsToBounds = YES; layer = <CALayer: 0x600000271d80>>
   |    |    |    |    |    |    |    | <UILabel: 0x10352fd70; frame = (16 3.66667; 93.6667 40.6667); text = 'Flinky'; userInteractionEnabled = NO; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <_UILabelLayer: 0x600002959ce0>>
   |    |    |    |    |    |    | <_UINavigationBarContentView: 0x10352e6c0; frame = (0 0; 402 44); layer = <CALayer: 0x60000027fe60>> layout=0x10352ebd0
   |    |    |    |    |    |    |    | <_UIButtonBarStackView: 0x10383d950; frame = (348.667 0; 37.3333 44); layer = <CALayer: 0x6000002c2260>> axis=horiz distribution=fill alignment=center layoutMarginsRelative buttonBar=0x600003e1e000
   |    |    |    |    |    |    |    |    | <_UITAMICAdaptorView: 0x10382f100; frame = (0 8; 37.3333 28.3333); autoresizesSubviews = NO; layer = <CALayer: 0x6000002c50e0>>
   |    |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI16UIKitBarItemHostVS_11BarItemView_: 0x105417630; frame = (0 0; 37.3333 28.3333); gestureRecognizers = <NSArray: 0x600000019750>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x6000002d0340>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x103852370; frame = (8 4; 29.3333 20.3333); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000264ed00>>
   |    |    |    |    |    |    |    | <_UINavigationBarTitleControl: 0x103839570; frame = (177.667 11.6667; 47 20.3333); layer = <CALayer: 0x6000002c1d80>>
   |    |    |    |    |    |    |    |    | <UIView: 0x1038399f0; frame = (0 0; 47 20.3333); alpha = 0; layer = <CALayer: 0x6000002c1da0>>
   |    |    |    |    |    |    |    |    |    | <UILabel: 0x103839b70; frame = (0 0; 47 20.3333); text = 'Flinky'; userInteractionEnabled = NO; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <_UILabelLayer: 0x600002950000>>
   |    |    |    |    |    |    | <_UIPointerInteractionAssistantEffectContainerView: 0x103838670; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x6000002c1b00>>
   |    |    |    |    |    | <SwiftUI.UIKitToolbar: 0x105388b60; baseClass = UIToolbar; frame = (0 791; 402 49); autoresize = W+TM; layer = <CALayer: 0x6000002d8600>> standardAppearance=0x6000017c0c40
   |    |    |    |    |    |    | <_UIBarBackground: 0x105389fb0; frame = (0 0; 402 83); userInteractionEnabled = NO; layer = <CALayer: 0x6000002d8c80>>
   |    |    |    |    |    |    |    | <UIVisualEffectView: 0x10538a1a0; frame = (0 0; 402 83); alpha = 0; layer = <CALayer: 0x6000002d8d00>> effect=none
   |    |    |    |    |    |    |    |    | <_UIVisualEffectBackdropView: 0x10538a5a0; frame = (0 0; 402 83); autoresize = W+H; userInteractionEnabled = NO; layer = <UICABackdropLayer: 0x600000caa0a0>>
   |    |    |    |    |    |    |    | <_UIBarBackgroundShadowView: 0x10538a3a0; frame = (0 -0.333333; 402 0.333333); layer = <CALayer: 0x6000002d8dc0>> clientRequestedContentView effect=none
   |    |    |    |    |    |    |    |    | <_UIBarBackgroundShadowContentImageView: 0x10538a950; frame = (0 0; 402 0.333333); autoresize = W+H; userInteractionEnabled = NO; tintColor = UIExtendedGrayColorSpace 0 0; image = <(null):0x0 (null) anonymous; (0 0)@0>; layer = <CALayer: 0x6000002d8f80>>
   |    |    |    |    |    |    | <_UIToolbarContentView: 0x105388d80; frame = (0 0; 402 49); layer = <CALayer: 0x6000002d8820>>
   |    |    |    |    |    |    |    | <_UIButtonBarStackView: 0x1053854f0; frame = (16 0; 370 49); layer = <CALayer: 0x6000002d88a0>> axis=horiz distribution=fill alignment=center layoutMarginsRelative buttonBar=0x600003e02f00
   |    |    |    |    |    |    |    |    | <_UITAMICAdaptorView: 0x10538ad50; frame = (0 13.6667; 125.333 27); autoresizesSubviews = NO; layer = <CALayer: 0x6000002d9480>>
   |    |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI16UIKitBarItemHostVS_11BarItemView_: 0x10530ff80; frame = (0 0; 125.333 27); gestureRecognizers = <NSArray: 0x600000015380>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x6000002b1260>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x10538c780; frame = (1 2; 24 23); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000265dec0>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x10537e390; frame = (34.6667 3; 90.6667 20.3333); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000265e040>>
   |    |    |    |    |    |    |    |    | <UIView: 0x105340eb0; frame = (125.333 27; 162.333 0); layer = <CALayer: 0x6000002d9500>>
   |    |    |    |    |    |    |    |    | <_UITAMICAdaptorView: 0x10538b110; frame = (287.667 17; 82.3333 20.3333); autoresizesSubviews = NO; layer = <CALayer: 0x6000002d9520>>
   |    |    |    |    |    |    |    |    |    | <_TtGC7SwiftUI16UIKitBarItemHostVS_11BarItemView_: 0x1053812d0; frame = (0 0; 82.3333 20.3333); gestureRecognizers = <NSArray: 0x600000014af0>; layer = <SwiftUI.UIHostingViewDebugLayer: 0x6000002d7620>>
   |    |    |    |    |    |    |    |    |    |    | <SwiftUI.CGDrawingView: 0x105381860; frame = (0 0; 82.3333 20.3333); anchorPoint = (0, 0); opaque = NO; autoresizesSubviews = NO; layer = <_TtC7SwiftUIP33_65A81BD07F0108B0485D2E15DE104A7514CGDrawingLayer: 0x60000265cd80>>
   |    |    |    |    |    |    |    | <_UIPointerInteractionAssistantEffectContainerView: 0x10533c5b0; frame = (16 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x6000002d8be0>>
   | <Sentry.SentryMaskingPreviewView: 0x103534550; frame = (0 0; 402 874); alpha = 0.5; userInteractionEnabled = NO; layer = <CALayer: 0x6000002b96a0>>
   |    | <UIImageView: 0x1035346f0; frame = (0 0; 402 874); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; image = <UIImage:0x6000030122e0 CGImage anonymous; (402 874)@1>; layer = <CALayer: 0x6000002b94a0>>

💚 How did you test it?

I used the Flinky project with a locally checked out Sentry Cocoa SDK repo and directly compiled it. After running the app I checked the replay in Sentry.

📝 Checklist

You have to check all boxes before merging:

  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

@philprime philprime self-assigned this Sep 26, 2025
Copy link

codecov bot commented Sep 26, 2025

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
3970 4 3966 14
View the top 3 failed test(s) by shortest run time
iOS_SwiftUI_UITests.FeedbackUITests::testWidgetDisplayInSwiftUIApp
Stack Traces | 0s run time
.../iOS-SwiftUI/iOS-SwiftUI-UITests/FeedbackUITests.swift:11 - Failed to get background assertion for target app with pid 6078: Timed out while acquiring background assertion.
iOS_SwiftUI_UITests.LaunchUITests::testNoNewTransactionForSecondCallToBody
Stack Traces | 0s run time
.../iOS-SwiftUI/iOS-SwiftUI-UITests/LaunchUITests.swift:81 - Failed to get background assertion for target app with pid 6150: Timed out while acquiring background assertion.
iOS_SwiftUI_UITests.LaunchUITests::testTTID_TTFD
Stack Traces | 0s run time
.../iOS-SwiftUI/iOS-SwiftUI-UITests/LaunchUITests.swift:81 - Failed to get background assertion for target app with pid 6372: Timed out while acquiring background assertion.
iOS_SwiftUI_UITests.LaunchUITests::testTransactionSpan
Stack Traces | 0s run time
.../iOS-SwiftUI/iOS-SwiftUI-UITests/LaunchUITests.swift:81 - Failed to get background assertion for target app with pid 6205: Timed out while acquiring background assertion.
iOS_Swift_UITests.LaunchUITests::testBreadcrumbData
Stack Traces | 0s run time
.../iOS-Swift/iOS-Swift-UITests/UITestHelpers.swift:5 - XCTAssertTrue failed - Breadcrumb label not found.
View the full list of 1 ❄️ flaky test(s)
SentryTests.SentrySDKInternalTests::testResumeAndPauseAppHangTracking

Flake rate in main: 14.00% (Passed 43 times, Failed 7 times)

Stack Traces | 0s run time
.../Tests/SentryTests/SentrySDKInternalTests.swift:633 - XCTAssertEqual failed: ("1") is not equal to ("0") - The SDK should capture an AppHang after resuming the tracking, but it didn't.

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link
Contributor

github-actions bot commented Sep 26, 2025

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1238.80 ms 1262.08 ms 23.29 ms
Size 23.75 KiB 994.81 KiB 971.06 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
6502818 1229.08 ms 1245.46 ms 16.37 ms
ed85746 1231.79 ms 1248.55 ms 16.75 ms
daeb716 1215.41 ms 1246.52 ms 31.11 ms
331dad6 1210.40 ms 1242.06 ms 31.67 ms
cda95fc 1231.42 ms 1247.18 ms 15.77 ms
2b02431 1229.63 ms 1248.98 ms 19.35 ms
bc0a04c 1226.83 ms 1255.04 ms 28.21 ms
aa0b738 1236.78 ms 1253.08 ms 16.31 ms
e8da57d 1203.77 ms 1234.85 ms 31.08 ms
3b373bb 1218.19 ms 1250.57 ms 32.38 ms

App size

Revision Plain With Sentry Diff
6502818 23.75 KiB 959.45 KiB 935.70 KiB
ed85746 23.75 KiB 920.83 KiB 897.08 KiB
daeb716 23.75 KiB 928.16 KiB 904.41 KiB
331dad6 23.75 KiB 928.12 KiB 904.37 KiB
cda95fc 23.75 KiB 912.77 KiB 889.02 KiB
2b02431 23.75 KiB 850.73 KiB 826.98 KiB
bc0a04c 23.75 KiB 933.32 KiB 909.57 KiB
aa0b738 23.74 KiB 872.75 KiB 849.00 KiB
e8da57d 23.75 KiB 919.69 KiB 895.94 KiB
3b373bb 23.75 KiB 947.72 KiB 923.97 KiB

Previous results on branch: philprime/fix-masking

Startup times

Revision Plain With Sentry Diff
8d1f930 1241.27 ms 1263.71 ms 22.44 ms

App size

Revision Plain With Sentry Diff
8d1f930 23.75 KiB 981.78 KiB 958.03 KiB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant