Skip to content

fix(analytics): distinguish timeline-only replay records - #5628

Merged
steve8708 merged 1 commit into
mainfrom
steve8708/analytics-replay-feedback-20260922
Sep 22, 2026
Merged

steve8708 merged 1 commit into
mainfrom
steve8708/analytics-replay-feedback-20260922

Conversation

@steve8708

Copy link
Copy Markdown
Contributor

Summary

  • Distinguish an empty replay payload from a timeline-only session when the player cannot construct rrweb playback.
  • Reuse the existing localized replay-unavailable message instead of claiming that no rrweb events exist.
  • Add a focused regression test and Analytics changelog entry.

Verification

  • corepack pnpm --filter analytics exec vitest --run app/pages/sessions/SessionDetailPage.spec.ts - 28 passed.
  • corepack pnpm --filter analytics typecheck - passed; the local run prints the existing missing production BETTER_AUTH_SECRET and persistent DATABASE_URL warnings.
  • corepack pnpm guards - all 77 checks passed.

Feedback handoff

Boundaries

Browser, beta, production, and authenticated live proof are not claimed in this PR.

@github-actions

github-actions Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

@github-actions
github-actions Bot temporarily deployed to pr-5628-analytics September 22, 2026 16:03 Destroyed
@github-actions
github-actions Bot temporarily deployed to pr-5628-design September 22, 2026 16:03 Destroyed

@builder-io-integration builder-io-integration Bot 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.

Builder reviewed your changes — looks good ✅

Review Details

Code Review Summary

PR #5628 makes the analytics replay error boundary explicit: an empty event payload continues to use the localized noReplayEvents message, while a non-empty payload that lacks playable rrweb events uses the existing localized replayUnavailableDescription message. The helper is small, pure, and preserves the existing playability predicate, so normal replay construction is unaffected. The focused regression test covers empty, timeline-only, and playable payloads, and the changelog entry documents the user-facing fix.

Risk assessment: Standard. Two independent balanced reviews found no confirmed bugs, security issues, or performance regressions. The PR's stated focused tests and typecheck are consistent with the changed surface. The dev server was healthy and the browser planner confirmed the relevant routes return HTTP 200 and prepared seeded empty, timeline-only, and playable recordings; however, visual execution was blocked because the browser executors had no Chrome automation tools available, so the UI states could not be observed directly.

🧪 Browser testing: Attempted, but all planned cases were blocked by unavailable browser automation tools; re-run when the tooling is available.

@steve8708
steve8708 merged commit 6f802d5 into main Sep 22, 2026
50 checks passed
@steve8708
steve8708 deleted the steve8708/analytics-replay-feedback-20260922 branch September 22, 2026 16:16

This branch was successfully deployed

No deployments
pr-5628-design 1c45970e Deployed Sep 22, 2026 by github-actions[bot]
pr-5628-analytics 1c45970e Deployed Sep 22, 2026 by github-actions[bot]
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.

1 participant