Skip to content

fix(session-replay-debug-properties): follow capture's property precedence - #155

Merged
turnipdabeets merged 1 commit into
mainfrom
fix/replay-debug-property-precedence
Oct 28, 2026
Merged

turnipdabeets merged 1 commit into
mainfrom
fix/replay-debug-property-precedence

Conversation

@turnipdabeets

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #143. That PR gave client SDKs one property order with no exceptions (SDK-set, then registered, then caller, then before_send), and named the replay debug properties among the keys that move under it. But session-replay-debug-properties still says SDK-computed $recording_status and $sdk_debug_* values win over a registered or caller property and that the debug map is merged last, so the two specs disagree. The PostHog review bot flagged the conflict on PostHog/posthog-ios#938.

Changes

  • Session, queue, hold-reason, trigger, and mode keys: the debug keys follow capture's Caller-supplied event properties take precedence. A registered property overrides the SDK-computed value, a caller property overrides both, before_send can change any of them, and the override applies to that event only.
  • "Debug values win over same-named caller or registered properties" is replaced by three scenarios: a registered override, a caller override, and the next event carrying the SDK-computed value again.
  • The posthog-ios references drop the 3.x merge that let the debug map win, and its covering test, and cite the 4.0 test instead.

openspec validate --specs --strict passes (67/67). No acceptance feature covers these keys.

Impact

🤖 Generated with Claude Code

…dence

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@turnipdabeets
turnipdabeets requested a review from a team as a code owner October 28, 2026 16:02

@dustinbyrne dustinbyrne left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This aligns replay-debug property precedence with capture’s existing contract, with synchronized archived requirements and scenarios for registered, caller, and event-local overrides. No actionable findings.

AI-assisted review.

@turnipdabeets
turnipdabeets merged commit acab131 into main Oct 28, 2026
10 checks passed
@turnipdabeets
turnipdabeets deleted the fix/replay-debug-property-precedence branch October 28, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants