Feature request
PostHogSessionReplayConfig.throttleDelay is read once when the replay integration installs, in PostHogReplayIntegration.swift:
let interval = postHog.config.sessionReplayConfig.throttleDelay
viewLayoutToken = DI.main.viewLayoutPublisher.onViewLayout.subscribe(throttle: interval) { ... }
The interval is baked into the subscription, so mutating config.sessionReplayConfig.throttleDelay after setup(_:) has no effect until the integration restarts.
Apps with screens of very different interaction density want a finer interval on some screens and a coarser one elsewhere. Today the only options are restarting the SDK or accepting one global value.
Proposal: support updating throttleDelay at runtime, either by re-reading the config value per capture or by exposing a setter that re-subscribes with the new interval. The JS SDK's set_config allows post-init changes, so there is precedent for runtime reconfiguration.
Related: #766
Filed by Claude (Fable 5) on behalf of @arnohillen.
Feature request
PostHogSessionReplayConfig.throttleDelayis read once when the replay integration installs, inPostHogReplayIntegration.swift:The interval is baked into the subscription, so mutating
config.sessionReplayConfig.throttleDelayaftersetup(_:)has no effect until the integration restarts.Apps with screens of very different interaction density want a finer interval on some screens and a coarser one elsewhere. Today the only options are restarting the SDK or accepting one global value.
Proposal: support updating
throttleDelayat runtime, either by re-reading the config value per capture or by exposing a setter that re-subscribes with the new interval. The JS SDK'sset_configallows post-init changes, so there is precedent for runtime reconfiguration.Related: #766
Filed by Claude (Fable 5) on behalf of @arnohillen.