You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Respect Sentry’s HTTP 429 `Retry-After` header, or, if the SDK supports multiple payload types (e.g. errors and transactions), the `X-Sentry-Rate-Limits` header. Outgoing SDK requests should be dropped during the backoff period.
69
+
Respect Sentry's HTTP 429 `Retry-After` header, or, if the SDK supports multiple payload types (e.g. errors and transactions), the `X-Sentry-Rate-Limits` header. Outgoing SDK requests should be dropped during the backoff period.
70
70
71
71
See <Linkto="/sdk/expected-features/rate-limiting">Rate Limiting</Link> for details.
72
72
@@ -104,7 +104,7 @@ So users can easily spot errors during development, the SDK can automatically en
104
104
105
105
## In-App frames
106
106
107
-
Stack parsing can tell which frames should be identified as part of the user’s application (as opposed to part of the language, a library, or a framework), either automatically or by user configuration at startup, often declared as a package/module prefix.
107
+
Stack parsing can tell which frames should be identified as part of the user's application (as opposed to part of the language, a library, or a framework), either automatically or by user configuration at startup, often declared as a package/module prefix.
108
108
109
109
## Surrounding Source in Stack Trace
110
110
@@ -153,6 +153,16 @@ implement the `onCrashedLastRun` callback on the options. This callback gets cal
153
153
terminated with a crash. The SDK should execute the callback only once during the entire run of the program to avoid multiple callbacks if there are multiple
154
154
crash events to send.
155
155
156
+
#### Session Replay Integration with Feedback Widgets
157
+
158
+
When a feedback widget is added to an application and Session Replay's `onErrorSampleRate` is greater than 0, the SDK must sample the replay when the widget **opens**, not when the feedback is submitted. This timing is critical because:
159
+
160
+
- Sampling when the widget opens captures the user's session leading up to the feedback moment
161
+
- Sampling only when feedback is submitted would result in the replay buffer primarily showing the user typing their message, which provides minimal debugging context
162
+
- The replay buffer should contain the user's actions and application state prior to encountering the issue they're reporting
163
+
164
+
SDKs should trigger replay sampling and flushing as soon as the feedback widget becomes visible to the user, ensuring the complete context is captured regardless of whether the user ultimately submits the feedback.
165
+
156
166
### Backend Platforms
157
167
158
168
On backend platforms, SDKs should document how to use the [last event ID](#retrieve-last-event-id) to prompt the user for feedback themselves.
Copy file name to clipboardExpand all lines: develop-docs/sdk/telemetry/feedbacks.mdx
+11-1Lines changed: 11 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ SDKs should implement a `beforeSendFeedback` callback to allow users to modify t
114
114
115
115
### Scope Data and Event Processors
116
116
117
-
The scope is applied to the feedbacks, including tags, user, trace and contexts. The scope’s _event processors_ are invoked, too.
117
+
The scope is applied to the feedbacks, including tags, user, trace and contexts. The scope's _event processors_ are invoked, too.
118
118
119
119
### Rate Limiting
120
120
@@ -127,3 +127,13 @@ There is no sample rate for feedbacks, as they are always sampled. However, a fe
127
127
### Session Replay Integration
128
128
129
129
When sending feedback, SDKs are expected to flush the current Session Replay, if running. This ensures a meaningful replay recording exists and can be included in the `replay_id` attribute of the feedback context.
130
+
131
+
#### Timing of Replay Sampling with Feedback Widgets
132
+
133
+
For feedback widgets specifically, when Session Replay's `onErrorSampleRate` is greater than 0, SDKs must sample and flush the replay when the widget **opens**, not when the user submits the feedback. This timing is critical because:
134
+
135
+
- The replay buffer captures the user's session leading up to opening the feedback widget, providing context about what the user experienced before deciding to provide feedback
136
+
- If sampling only occurs on submission, the buffer would primarily contain the user's interactions with the feedback form itself (typing their message), which provides minimal debugging value
137
+
- Early sampling ensures the complete user context is preserved regardless of whether the user ultimately submits the feedback
138
+
139
+
This behavior ensures that developers receive meaningful session replay data that shows the user's experience prior to the feedback moment, rather than just their interaction with the feedback widget itself.
0 commit comments