getsentry / getsentry/sentry-java
Configurable maxReplayDuration for Android Session Replay
- Dominant language
- Kotlin
- Stars
- 1.4k
- Forks
- 478
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 67
Description
### Problem Statement
The Android Session Replay SDK currently has a fixed maximum session duration of 60 minutes with no way to configure a lower limit. The JavaScript SDK already supports a maxReplayDuration option, but no equivalent exists for Android.
Use cases where a configurable max duration would be helpful:
Reducing storage/resource usage by capping replays at a shorter duration (e.g. 15 or 30 minutes)
Limiting post-error recording to a shorter window when using onErrorSampleRate
Aligning Android replay behavior with the JavaScript SDK for consistency
### Solution Brainstorm
Add a maxReplayDuration option to SessionReplayOptions, similar to what is already available in the JavaScript SDK:
SentryAndroid.init(context) { options ->
options.sessionReplay.maxReplayDuration = 30 * 60 * 1000L // 30 minutes in ms
}
This would mirror the existing JavaScript SDK option:
replayIntegration({
maxReplayDuration: 30 * 60 * 1000, // 30 minutes in ms
})
Contributor guide
Research direction
Start with SessionReplayOptions and the Android Session Replay initialization shown through SentryAndroid.init; compare the existing JavaScript maxReplayDuration behavior. Trace where the fixed 60-minute limit is applied, then verify that configuring a lower duration works without changing the default behavior and run the relevant Android tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100