fix(highlight.run): recover CSS-in-JS rules when another script unhooks rrweb - #725
Merged
Conversation
…ks rrweb Bumps the rrweb submodule to fe8256d5, which makes recording reconcile CSSOM driven stylesheets against what it has reported rather than trusting its CSSStyleSheet.prototype.insertRule patch to stay installed. Any other script that reinstalls a previously captured insertRule -- a session replay vendor tearing its own recorder down, or a second copy of rrweb bundled into the same app -- silently unhooked us, and the replay was then stuck with whatever CSS existed at snapshot time. A production session kept 734 of 2929 emotion rules that way and replayed a MUI-heavy UI completely unstyled. Also picks up launchdarkly/rrweb#36 and #37, both replay-side and inert for the recorder bundles these packages ship. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
abelonogov-ld
approved these changes
Aug 13, 2026
Merged
Vadman97
pushed a commit
that referenced
this pull request
Aug 13, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>observability: 1.1.19</summary> ## [1.1.19](observability-1.1.18...observability-1.1.19) (2026-08-13) ### Dependencies * The following workspace dependencies were updated * dependencies * highlight.run bumped to 10.7.1 </details> <details><summary>observability-next: 0.2.4</summary> ## [0.2.4](observability-next-0.2.3...observability-next-0.2.4) (2026-08-13) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/observability bumped to 1.1.19 * @launchdarkly/session-replay bumped to 1.1.19 </details> <details><summary>session-replay: 1.1.19</summary> ## [1.1.19](session-replay-1.1.18...session-replay-1.1.19) (2026-08-13) ### Dependencies * The following workspace dependencies were updated * dependencies * highlight.run bumped to 10.7.1 </details> <details><summary>highlight.run: 10.7.1</summary> ## [10.7.1](highlight.run-10.7.0...highlight.run-10.7.1) (2026-08-13) ### Bug Fixes * **highlight.run:** recover CSS-in-JS rules when another script unhooks rrweb ([#725](#725)) ([9faca28](9faca28)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Overview** > Release Please version bump for **`highlight.run` 10.7.1**, which ships a **session replay fix**: when another script removes rrweb’s `CSSStyleSheet.prototype.insertRule` hook, **CSS-in-JS styles** (e.g. emotion, styled-components) can still be reconciled into the recording ([#725](#725)). > > **`@launchdarkly/observability` 1.1.19**, **`@launchdarkly/session-replay` 1.1.19**, and **`@launchdarkly/observability-next` 0.2.4** are updated to depend on the new **`highlight.run`** / sibling workspace versions; manifests and changelogs only—no additional code changes in this diff. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit a0f89aa. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the rrweb submodule to fe8256d5 (launchdarkly/rrweb#38) so recording recovers CSS-in-JS rules when another script on the page displaces rrweb's
CSSStyleSheet.prototype.insertRulepatch. A production session kept 734 of 2929 emotion rules that way and replayed a MUI-heavy UI completely unstyled.The README touch is what gives release-please a path inside
sdk/highlight-run/to attribute the release to — same approach as #615.highlight.rungets a patch bump, and@launchdarkly/session-replay/@launchdarkly/observabilityfollow via the node-workspace plugin.Also picks up launchdarkly/rrweb#36 and #37; both are replay-side and inert for the recorder bundles these packages ship. No dependency changes in the bumped range, so
yarn.lockis untouched.🤖 Generated with Claude Code
Note
Overview
Bumps the launchdarkly/rrweb submodule (via upstream PR #38) so session replay periodically reconciles CSS-in-JS stylesheets (emotion, styled-components) against what recording has already reported. That recovers style rules when another on-page script replaces rrweb’s
CSSStyleSheet.prototype.insertRulehook, which previously left MUI-heavy replays largely unstyled.The README adds a short note describing that behavior and gives release-please a file under
sdk/highlight-run/to attribute a patch release (same pattern as #615). Related rrweb replay-only fixes (#36, #37) ride along but do not change recorder bundles; noyarn.lockchanges in the bumped range.Reviewed by Cursor Bugbot for commit 7492160. Bugbot is set up for automated code reviews on this repo. Configure here.