Skip to content

fix(highlight.run): recover CSS-in-JS rules when another script unhooks rrweb - #725

Merged
Vadman97 merged 1 commit into
mainfrom
vkorolik/bump-rrweb-css-resync
Aug 13, 2026
Merged

fix(highlight.run): recover CSS-in-JS rules when another script unhooks rrweb#725
Vadman97 merged 1 commit into
mainfrom
vkorolik/bump-rrweb-css-resync

Conversation

@Vadman97

@Vadman97 Vadman97 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

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.insertRule patch. 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.run gets a patch bump, and @launchdarkly/session-replay / @launchdarkly/observability follow 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.lock is 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.insertRule hook, 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; no yarn.lock changes in the bumped range.

Reviewed by Cursor Bugbot for commit 7492160. Bugbot is set up for automated code reviews on this repo. Configure here.

…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>
@Vadman97
Vadman97 requested a review from a team as a code owner August 13, 2026 19:09
@Vadman97
Vadman97 merged commit 9faca28 into main Aug 13, 2026
25 checks passed
@Vadman97
Vadman97 deleted the vkorolik/bump-rrweb-css-resync branch August 13, 2026 21:53
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 -->
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