Rebuilt repro steps
Repro steps are rebuilt: each step names the element it touched, typed input is recorded, and steps link back to the live page.

#Step labels
- Clicks resolve their visible label, accessible name, or image alt text, so an icon-only control reads as
Clicked "Apply"instead ofClicked a button. - Typing records the field and its contents:
Typed "SAVE20 " in "Discount code". Whitespace is preserved. - Paste is recorded separately from typing:
Pasted "SAVE20 " in "Discount code". - Selects, checkboxes, and radios record the chosen value:
Selected "Express" in "Shipping",Turned on "Subscribe". - Key presses record the field they landed in:
Pressed Enter in "Discount code". - Tab switches and back/forward navigations appear in the trail.
#Typed values captured by default
Values in ordinary fields are now captured and shown in the repro trail. Previously all input values were masked.
Always masked, regardless of configuration: password, telephone, and hidden inputs; payment fields (autocomplete="cc-*"); one-time codes; and anything matched by your mask selectors or existing FullStory, Hotjar, Sentry, PostHog, or LogRocket markers. Captured values are also scanned for token and secret patterns. Raw values leave the page only inside a report the reporter submits; session-storage state and automatic error captures stay masked.
Set privacy.maskAllInputs: true in the widget configuration to restore the previous behavior.
#Interactive repro trail
- Click a step to scroll to the element on the live page and highlight it. Missing elements are reported.
- Hover a step to preview its element without scrolling. Arrow keys move between steps.
- Each step exposes its CSS selector, structural attributes, and absolute timestamp on hover.
- The report screenshot marks the exact point the reporter clicked.
- A capture with no interactions shows an empty state in the Repro tab.
#Timeline consistency
- Repeated interactions collapse into single entries: a typing burst is one step, repeated reloads read
Page reloaded ×3, and duplicate blur events are removed. - The same rules apply to the timelines written into GitHub, Linear, Jira, and Asana issues, so the panel and the exported issue match.
- Generated Playwright tests receive the captured selector for every step.