getsentry / getsentry/sentry-java

Configurable maxReplayDuration for Android Session Replay

Open
#5,958 2 comments 0 reactions 0 assignees View on GitHub
Android Feature Platform: Java Replays
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.