Skip to content

Commit 7ffc130

Browse files
authored
docs(replay): Bring replay nav item to all apple platforms (#14710)
This puts Session Replay in the Nav for the Apple section, and all sub-platforms, just not on iOS anymore. Also, i moved some FAQ items from the bottom of the index page into troubleshooting.mdx. They seemed hard to find on the index page, and really seem more like Basically: - `/platforms/apple/guides/ios/session-replay/` still has all the content as before - `/platforms/apple/guides/tvos/session-replay/` is a page now! but it's mostly empty - (see first screenshots below) - `/platforms/apple/session-replay/` is a page now! it's a copy of the iOS specific page, but with the faq on the top - (see 2nd set of screenshots at end) --- **`/platforms/apple/` Nav Changes:** | Before | After | | --- | --- | <img width="285" height="779" alt="SCR-20250825-mjyo" src="https://github.com/user-attachments/assets/ca7e07bd-b28f-4600-bc60-c9a0fa5a8875" /> | <img width="299" height="819" alt="SCR-20250825-mkbs" src="https://github.com/user-attachments/assets/1e0821bc-e69c-434b-be9d-a7c30f7ea1e6" /> --- Since most of the Apple platforms are not specifically supported I put the two "Does Session Replay work with *" faq questions at the top of the index page whenever you're not looking specifically at iOS docs. Only the main Apple and iOS show the sub-pages in the nav bar, the other platform specific sections only show the FAQ stuff and no sub-pages. | Apple Overall | iOS Specific | The others | | --- | --- | --- | | <img width="1304" height="856" alt="SCR-20250825-mird" src="https://github.com/user-attachments/assets/6d498fac-8dc6-4525-ad37-87da1cd99f8b" /> | <img width="1293" height="837" alt="SCR-20250825-misb" src="https://github.com/user-attachments/assets/e6b5afe1-8de0-4bb7-9a72-3c7d3efab65a" /> | <img width="1131" height="797" alt="SCR-20250825-mlcq" src="https://github.com/user-attachments/assets/e3c839de-7a5b-4988-a3f6-b265226cbce6" />
1 parent 1797b7f commit 7ffc130

File tree

5 files changed

+89
-25
lines changed

5 files changed

+89
-25
lines changed

docs/platforms/apple/guides/ios/session-replay/customredact.mdx renamed to docs/platforms/apple/common/session-replay/customredact.mdx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
---
22
title: Using Custom Masking for Session Replay
33
sidebar_order: 5501
4-
notSupported:
54
description: "Learn how to mask parts of your app's data in Session Replay."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
819
<Alert>
920

1021
Before enabling Session Replay in production, verify your masking configuration to ensure no sensitive data is captured. Our default settings aggressively mask potentially sensitive data, but if you modify these settings or update UI frameworks or system SDKs, you must thoroughly test your application. If you find any masking issues or sensitive data that should be masked but isn't, please [create a GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) and avoid deploying to production with Session Replay enabled until the issue is resolved.
@@ -112,3 +123,5 @@ struct ContentView_Previews: PreviewProvider {
112123
}
113124
}
114125
```
126+
127+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/index.mdx renamed to docs/platforms/apple/common/session-replay/index.mdx

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@
22
title: Set Up Session Replay
33
sidebar_title: Session Replay
44
sidebar_order: 5500
5-
notSupported:
65
description: "Learn how to enable Session Replay in your mobile app."
6+
notSupported:
77
---
88

9+
<PlatformSection notSupported={["apple.ios"]}>
10+
11+
<Include name="apple-session-replay-support-alert" />
12+
13+
</PlatformSection>
14+
15+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
16+
917
<Alert level="warning">
1018

1119
Before enabling Session Replay in production, verify your masking configuration to ensure no sensitive data is captured. Our default settings aggressively mask potentially sensitive data, but if you modify these settings or update UI frameworks or system SDKs, you must thoroughly test your application. If you find any masking issues or sensitive data that should be masked but isn't, please [create a GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) and avoid deploying to production with Session Replay enabled until the issue is resolved.
@@ -105,24 +113,4 @@ Errors that happen while a replay is running will be linked to the replay, makin
105113
- The replay was deleted by a member of your org.
106114
- There were network errors and the replay wasn't saved.
107115

108-
## FAQ
109-
110-
Q: **Does Session Replay work with SwiftUI?**
111-
112-
A: Yes. It works with both UIKit and SwiftUI.
113-
114-
Q: **Why are parts of my replay not masked?**
115-
116-
A: Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
117-
118-
Q: **What's the lowest version of iOS supported?**
119-
120-
A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
121-
122-
Q: **Why is my issue missing a replay?**
123-
124-
A: An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
125-
126-
Q: **Does Session Replay work on macOS, watchOS, tvOS and visionOS?**
127-
128-
A: We don't actively prevent you from using Session Replay on these platforms, but we only officially support it on iOS. As a consequence, we can't make guarantees about its functionality and performance on other platforms.
116+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx renamed to docs/platforms/apple/common/session-replay/performance-overhead.mdx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
11
---
22
title: Performance Overhead
33
sidebar_order: 5502
4-
notSupported:
54
description: "Learn about how enabling Session Replay impacts the performance of your application."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
19+
820
If you're considering enabling Session Replay, it's important to first understand the potential performance impact to your app. While accurate metrics require realistic testing where you apply typical access patterns and correlate the results with your business metrics, to provide a baseline, we measured the overhead using the open-source [Pocket Casts](https://github.com/Automattic/pocket-casts-ios) app.
921

1022
You can learn more about the various performance overhead optimizations implemented in the iOS Replay SDK in the [Replay Performance Overhead](/product/explore/session-replay/mobile/performance-overhead/) docs.
@@ -78,3 +90,5 @@ SentrySDK.start(configureOptions: { options in
7890
The old view renderer will be deprecated and removed in a future release.
7991

8092
</Alert>
93+
94+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/troubleshooting.mdx renamed to docs/platforms/apple/common/session-replay/troubleshooting.mdx

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,52 @@
11
---
22
title: Troubleshooting
33
sidebar_order: 5503
4-
notSupported:
54
description: "Troubleshoot and resolve common issues with the iOS Session Replay."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
19+
20+
<Expandable title="Does Session Replay work with UIKit, SwiftUI or AppKit?" permalink>
21+
22+
Session Replay works with both UIKit and SwiftUI.
23+
24+
</Expandable>
25+
26+
<Expandable title="Does Session Replay work on macOS, watchOS, tvOS and visionOS?" permalink>
27+
28+
We don't actively prevent you from using Session Replay on these platforms, but we only officially [support it on iOS](/platforms/apple/guides/ios/session-replay/). As a consequence, we can't make guarantees about its functionality and performance on other platforms.
29+
30+
</Expandable>
31+
32+
<Expandable title="Why are parts of my replay not masked?" permalink>
33+
34+
Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
35+
36+
</Expandable>
37+
38+
<Expandable title="What's the lowest version of iOS supported?" permalink>
39+
40+
Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
41+
42+
</Expandable>
43+
44+
<Expandable title="Why is my issue missing a replay?" permalink>
45+
46+
An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
47+
48+
</Expandable>
49+
850
<Expandable title="AVFoundation views and layers are not rendered" permalink>
951

1052
Session Replay currently cannot capture content from AVFoundation views and layers. This includes:
@@ -87,3 +129,5 @@ final class SceneDelegate: NSObject, UIWindowSceneDelegate {
87129
```
88130

89131
</Expandable>
132+
133+
</PlatformSection>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<Alert level="info">
2+
3+
Session Replay is currently officially supported on iOS and works with both UIKit and SwiftUI. Go to the <a href="/platforms/apple/guides/ios/session-replay/">iOS specific docs</a>.
4+
5+
</Alert>

0 commit comments

Comments
 (0)