Commit Graph

1307 Commits

Author SHA1 Message Date
Justin Halsall
dab8c29da8 Fix typo in turbo.json 2026-02-16 12:03:22 +01:00
Eoghan Murray
33e01f5f00 Umd folder (#1704)
* Don't allow video autoplay to automatically unfreeze page. If it's a 'real' playback, there should be a mount or a keyboard event which will serve to unfreeze the page. Also add other non-user events to the list (we really should have an `isUserEvent` function)

* Apply formatting changes

* Create a new `umd` folder alongside `dist` for output of UMD files with a plain `.js` instead of `.cjs` extension, as the latter won't be served with the correct mime type by jsdelivr

 - #1687 (just rename `.cjs` to `.js`) was rejected due to the the 'dual package hazard' [1], and produces a warning when run through publint.dev (which was the original motivation for changing to \.cjs)
 - jsdelivr won't be serving `.cjs` with the correct mime type: https://github.com/jsdelivr/jsdelivr/issues/18584

[1] https://nodejs.org/en/learn/modules/publishing-a-package#the-dual-package-hazard

* Update to point to alpha.19 as presumably that's when the umd folder will be available after the changes in this PR

* Apply formatting changes

* Don't try to create the same directory twice (was failing on packages/packer/umd)

* Create thirty-shirts-grow.md

* Revert something that shouldn't have gotten into the UMD branch folder

* Apply formatting changes

* Update vite.config.default.ts

* Apply formatting changes

* build: include umd builds in published packages

Add umd directory to the files array in package.json for all packages to include UMD builds in npm publications. Also update .gitignore to exclude
umd folders from version control.

* Docs: point to correct file

* Remove unused code

* docs: update rrweb cdn urls to umd bundles

Align README and guide examples with published UMD file locations for
rrweb, @rrweb/record, and @rrweb/replay.

Update versioned rrweb script examples from 2.0.0-alpha.19 to
2.0.0-alpha.21 in both English and Chinese guides.

* build(all): include umd folder in package files

---------

Co-authored-by: eoghanmurray <eoghanmurray@users.noreply.github.com>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2026-02-13 15:03:23 +01:00
Eoghan Murray
f0d25990c7 Update filesize badges (might need further evolution before 2.0.0) (#1787)
* Update filesize badges (might need further evolution before 2.0.0)

* Don't run full CI/CD when only .md docs have changed in the PR

 - move eslint checks into their own file so they can also ignore .md changes
 - prettier checks don't need the same perms as eslint, so we can demote pull_request_target -> pull_request

* Add empty changeset

* Implement the bundle size change originally originally added in #1784 - adding here also to show how the conflicts would resolve

* Update .github/workflows/eslint-check.yml

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2026-02-13 11:37:08 +01:00
Justin Halsall
22bc4c334e Migrates to vite@6 to drop base64 inlined worker source from all bundles (#1762)
* chore: maintain CSS output file name in vite@6.0.1

Without this change, build would fail because the produced stylesheet assumes
the `package.json['name']` i.e., `styles/rrweb.css`. To maintain the existing
behavior, these changes are required.

See https://vite.dev/guide/migration.html#customize-css-output-file-name-in-library-mode
* build(rrvideo): upgrade playwright from 1.32.1 to 1.56.1

Update playwright dependency to latest version and refactor test execution options to use a shared configuration with increased timeout for stability.

* debug(rrvideo): add comprehensive logging to video transformation process

Add detailed console.log statements throughout the transformToVideo function to track execution flow and debug potential issues. Logging covers browser launch, context creation, page navigation, replay progress, and video file operations.

* ci(rrvideo): install playwright browsers and improve test output visibility

- Add Playwright Chromium installation step to CI workflow
- Change test execution stdio from 'pipe' to 'inherit' for better debugging

* fix(rrvideo): prevent autoplay and manually start playback after event listeners

Set autoPlay to false in replayer configuration and manually call play() after all event listeners are attached. This ensures event handlers are properly registered before playback begins, preventing potential race conditions.

Also refactor test execution options to separate stdio configuration from timeout settings for better control over test output visibility.

* fix(rrvideo): add timeout and error handling to replay process

Add comprehensive error handling to prevent hanging during video transformation:
- Add 2-minute timeout for replay finish event
- Add console and error listeners for better debugging
- Improve promise chain with proper error catching
- Clear timeout on successful completion or error

This prevents the process from hanging indefinitely when the replay finish event never fires.

* fix(rrvideo): add error handling and restructure replayer initialization

Wrap replayer initialization in try-catch block to handle potential errors gracefully. Restructure Player instantiation to use rrwebPlayer directly instead of rrwebPlayer.Player, and move width/height into props object for correct API usage. On error, log to console and trigger onReplayFinish callback to prevent hanging state.

* build(umd): rename record and replay globals

Update UMD build globals for recorder and replayer and
refresh documentation accordingly.

BREAKING CHANGE: UMD global names changed to rrwebRecord
and rrwebReplay.

* fix(rrvideo): adjust replay timeout to duration

* docs: update rrweb-player CDN script path

* Update vite.config.default.ts

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>

---------

Co-authored-by: Rui <rui@conti.sh>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2026-02-06 15:11:36 +01:00
Alailson
ad5ac17422 fix: ensure empty string replace/replaceSync clears stylesheets (#1774)
* fix: ensure empty string replace/replaceSync clears stylesheets

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 11:43:30 +01:00
Alailson
b149cf31ed fix: improve nested CSS rule handling and add related tests (#1775)
* fix: improve nested CSS rule handling and add related tests
* fix: enhance null safety for nested CSS rules and add related tests
* Improve nested CSS rule handling and replayer handling

Updated the fix message to include replayer handling of missing rules.

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2026-02-06 10:49:52 +01:00
Christopher Arredondo
3b8daa6034 fix: Validate if WebGLRenderingContext exists before capturing it (#1777)
* Update webgl.ts

---------

Co-authored-by: Paul D'Ambra <paul.dambra@gmail.com>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2026-02-06 10:04:09 +01:00
Justin Halsall
0fe7dfb0e1 Add Reddit community link to project documentation (#1782)
* docs: add r/rrweb subreddit badge to README files

Add Reddit community badge linking to https://www.reddit.com/r/rrweb
to the main README.md, Chinese README.zh_CN.md, and the
rrweb-snapshot package README.md to promote community engagement.

https://claude.ai/code/session_01RUhZVWQGCVhsh5NAzv5C6X

* Add empty changeset

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-06 09:08:53 +01:00
github-actions[bot]
77e208076b Version Packages (alpha) (#1780)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-03 14:20:05 +01:00
Justin Halsall
d427226175 Add permissions for contents and pull-requests for release workflow (#1779) 2026-02-03 14:15:38 +01:00
fukang wang
6388fb5a46 fix: wujie shadow root (#1763)
* Fix wujie monkeypatches ownerDocument

---------

Co-authored-by: wfk007 <wfk007@users.noreply.github.com>
2026-01-04 08:40:52 +01:00
Justin Halsall
fa7c3e5a88 build(rrvideo): upgrade playwright from 1.32.1 to 1.56.1 (#1761)
* build(rrvideo): upgrade playwright from 1.32.1 to 1.56.1

Update playwright dependency to latest version and refactor test execution options to use a shared configuration with increased timeout for stability.
2026-01-02 11:15:05 +01:00
github-actions[bot]
c059dbf41d Version Packages (alpha) (#1605)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-21 00:50:38 +01:00
Copilot
d17011b638 Fix Vitest hanging indefinitely with Vite 6 by using forks pool (#1760)
* Fix vitest hanging by using forks instead of threads pool

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Juice10 <4106+Juice10@users.noreply.github.com>
2025-11-21 00:23:23 +01:00
Eoghan Murray
34c68b5ef8 Slim dom defaults refactor (#1758)
* Prefer `includes` formulation for brevity and as it composes better (easier to understand) in longer boolean expressions with &&

* Noticed two different interpretations of `headMetaAuthorship` under slimDOMOptions; take the opportunity to cleanup and merge code
2025-11-19 16:39:27 +01:00
Eoghan Murray
76df9799ec Fix missing import after #1705 (#1731)
* Fix missing import after #1705; probably was there before I requested changes
2025-09-05 16:13:52 +02:00
Meg Boehlert
f2419f2513 Use node.baseURI for stringifying stylesheet hrefs (#1705) 2025-09-05 11:12:27 +02:00
Rotem Reiss
0bceef6a15 Create SECURITY.md (#1719)
* Create SECURITY.md

* Format fix

* Update SECURITY.md

* Update SECURITY.md

* Update SECURITY.md

Co-authored-by: Paul D'Ambra <paul.dambra@gmail.com>

* Update SECURITY.md

mention the google group is private

* Update SECURITY.md

* Update SECURITY.md

formatting

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
Co-authored-by: Paul D'Ambra <paul.dambra@gmail.com>
Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2025-08-05 01:28:23 -07:00
Yun Feng
fc390a954c fix: rrweb recorder may throw error when stopping recording after an iframe becomes cross-origin (#1695)
* fix: rrweb recorder may throw error when stopping recording after an iframe becomes cross-origin

* add change set

* add failure message check

* Update packages/rrweb/src/record/index.ts

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>

* remove settimeout

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2025-08-05 00:45:57 -07:00
Yun Feng
4db9782d12 fix: CI hangs forever in the yarn [4/4] Building fresh packages... (#1696)
* fix: CI hang forever in the yarn [4/4] Building fresh packages...
2025-06-06 14:23:27 +02:00
Eoghan Murray
fd9d2747c6 Testing: disable puppeteer/chrome sandbox in Github Actions for Ubuntu 24.04 (#1657)
--disable-setuid-sandbox deemed acceptable by Yun as it's for Github Actions only
2025-03-07 12:48:48 +00:00
Billy Vong
6f4e691f39 <link> fixes re. modulepreload and fetch logic (#1614)
* `link[rel="modulepreload"]` doesn't require `as="script"` which is tied to rel="preload" only
* extract file extension properly when examining `rel="prefetch"` to disregard URL parameters correctly

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2025-02-14 23:31:17 +00:00
Adnan Khan
dfb2991055 fix: address security risks in GitHub Actions workflows (#1651)
* Remove cache consumption in release workflow.

* Tighten style-check.yml permissions

* Tighten permissions in test workflow that consumes cache.

* Use stricter permissions where possible

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2025-02-12 13:34:42 +01:00
Paul D'Ambra
88ea2d05c1 fix: move patch function into utils to improve bundling (#1631)
* fix: move patch function into utils to improve bundling

---------

Co-authored-by: pauldambra <pauldambra@users.noreply.github.com>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2025-02-06 16:10:50 +01:00
Eoghan Murray
3e9e42fdfd Fix splitCssText again (#1640)
Fixes a browser 'lock up' at record time due to a presence of large amounts of css in <style> elements, which are split over multiple text nodes, which triggers the new code added in #1437 (see that PR for full explanation of why this all exists).  #1437 was not written with performance in mind as it was believed to be an edge case, but things like Grammarly browser extension (#1603) among other scenarios were triggering pathological behavior, some of which was solved in #1615.
See also https://github.com/rrweb-io/rrweb/pull/1640#issuecomment-2633505804 for further discussion.

* Fix the case when there are multiple matches and we end up not finding a unique one - just go with the best guess when there are many splits by looking at the previous chunk's size
* Also add '0px' -> '0' stylesheet normalization, which also fixes the sample problem in a different way
* Add new test and modify it so that it can trigger a failure in the absence of the '0px' normalization; there may be other unknown ways of triggering a similar bug, so ensure that the primary 'best guess' method doesn't suffer a regression
* Leverage the 'best guess' method so that we can quit after 100 iterations trying to find a unique substring; hopefully this bit along with the `iterLimit` already added will prevent any future pathological cases.

Failing example extracted from large files identified by Paul D'Ambra (Posthog) ... see comment from MartinWorkfully: https://github.com/PostHog/posthog-js/issues/1668
2025-02-06 13:46:46 +00:00
John Henry Gunther
47a7c3faa6 Warn instead of fail on exceptions thrown from postcss (#1580)
* postcss was introduced in #1458 for use within adaptCssForReplay
* #1600 fixes the main case where invalid css could be introduced when if valid css from the output of `sheet.cssRules` was split according to how it was split across text nodes of the <style>
* the guard introduced here is still useful as we likely in future will switch to capturing the raw stylesheet contents (both <style> and <link>), at which point we will be much less confident of getting valid css
2025-02-06 13:33:12 +00:00
Eoghan Murray
a6893f73ab Fix adapt css with split (#1600)
Fix for #1575 where postcss was raising an exception

* adapt the entire CSS as a whole in one pass with postcss, rather than adapting each split part separately
* break up the postcss output again and assign to individual text nodes (kind of inverse of splitCssText at record side)
* impose an upper bound of 30 iterations on the substring searches to preempt possible pathological behavior
* add tests to demonstrate the scenario and prevent regression

More technical details:
* Fix algorithm; checks against `ix_end` within loop were incorrect when `ix_start` was bigger than zero.  
* Fix that length check against wrong array was causing 'should record style mutations with multiple child nodes and replay them correctly' test to fail. 
Note on last point: I haven't looked into things more deeply than that the test was complaining about missing .length after `replayer.pause(1000);`
2025-02-06 13:17:34 +00:00
Paul D'Ambra
a95b3e8e7f chore(ci): track bundle size (#1630)
* chore(ci): track bundle size

---------

Co-authored-by: pauldambra <pauldambra@users.noreply.github.com>
2025-02-06 11:17:43 +01:00
Eoghan Murray
965b0a9836 Fix env puppeteer error in cross-origin-iframes.test.ts (#1629) 2025-02-05 16:23:46 +01:00
Justin Halsall
f18fead64e [chore] Cache yarn packages for CI (#1646)
* [chore] Cache yarn packages for CI

* Cache yarn in release.yml

* [chore] Update deprecated download artifact on CI (#1647)

* I'm merging even though ESLint is stlll failing in Github Actions as I believe it's running actions _without_ this PR applied yet
2025-02-04 18:49:01 +01:00
Eoghan Murray
9cd28b703e Fix a code path where masking could be skipped on textareas (#1599)
* Fixes #1596
2025-02-04 14:15:15 +00:00
Kevin Townsend
fb0f8f1d7d [chore]: Update actions/upload-artifact to v4 (#1643)
* update actions/upload-artifact to v4

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2025-02-04 15:05:00 +01:00
Eoghan Murray
1f22bfc14d Fix up the 'should replace the existing DOM nodes on iframe navigation with isAttachIframe' test (#1636)
- it was working for me when the test was run in isolation (`-t` option), but when the entire cross-origin-iframes test was run, the change of iframe contents didn't seem to happen in time
2025-02-04 14:53:50 +01:00
Eoghan Murray
83c66c4124 Eslint camelCase (#1625)
* Add eslint rule to flag up me forgetting to camelCase - I'd say I introduced all the snake_cases that are fixed here
* Allow some dubious snake cases for now; we could examine again whether they can be converted to `camelCase['snake_var']` if we need to maintain backwards compatibility of output
* add ESLINT_USE_FLAT_CONFIG against eslint v8.57.0 in order to continue using the deprecated .eslintrc.js method
2025-01-21 15:49:09 +00:00
Yun Feng
24f5fd99ba refactor: improved tab recording to improve stability (#1632)
* refactor: improved tab recording to improve stability

* feat: enable to import session

* improve stability

* feat: enable to edit session name

* prevent duplicate rrweb player in the dev mode
2025-01-20 13:07:04 -08:00
Billy Vong
79837ac8f2 fix: remote CSS does not get rebuilt properly (#1618)
* fix: remote CSS does not get rebuilt properly

This fixes an issue where inlined CSS from a remotely loaded `<link>` does not get applied properly due to object reference mutation.

* add changeset

* ci-cd on ubuntu-22.04 instead of latest

* keep mirror meta synced
2025-01-20 12:40:09 -08:00
Eoghan Murray
dc20cd45cc Fix performance of splitCssText (#1615)
- Fix bug where the right split point was not being picked for the 3rd section onwards
- Fix that it wasn't able to find a split when both halves were identical
- Add test to put splitCssText through it's paces with a large file
- Introduce a limit on the iteration which causes the 'efficiently' test to fail
- Fix poor 'crawling' performance in the 'matching' algorithm for large css texts - e.g. for a (doubled) benchmark.css, we were running `normalizeCssText` 9480 times before `k` got to the right place
- Further algorithm efficiency: need to take larger jumps; use the scaling factor to make better guess at how big a jump to make
2025-01-10 18:27:13 +00:00
Eoghan Murray
52842ba09a Temporarily freeze Ubuntu version in CI/Github Actions (#1621) 2025-01-10 16:57:37 +01:00
Yun Feng
4fd55c0669 feat: add CI for publishing chrome extension (#1568)
* fix: remove the permission not needed and update the player style link

* fix: change the way of importing worker script

* improve the extension version

* build: add process env to disable inline worker import

* improve style file

* upgrade svelte2tsx

* disable eslint check for that line

* merge the extension-release action into release action

---------

Co-authored-by: YunFeng0817 <YunFeng0817@users.noreply.github.com>
2024-12-10 10:44:26 +01:00
github-actions[bot]
1db7a99ff3 Version Packages (alpha) (#1554)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-06 15:05:09 +01:00
David Newell
5a789385a3 chore: abstract types to shared package (#1593)
* chore: update types

* small typing change

* fix typing issue

* typed node

* add extra lint skip

* add changeset

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2024-12-06 14:17:24 +01:00
Paul D'Ambra
bd9eb70629 fix: angular wrapped mutationobserver detection (#1597)
* fix: angular wrapped mutationobserver detection

* add change set

* fix

* prettier

* following posthog prod

* manually prettier

* Update .changeset/moody-experts-build.md

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2024-12-06 09:50:53 +01:00
Jonas
53b83bb037 ref: isParentRemoved to cache subtree (#1543)
* ref: isParentRemoved to cache subtree
* ref: cache at insertion too
* ref: remove wrapper function

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2024-10-04 11:31:01 +02:00
Billy Vong
02cc62dd44 fix(snapshot): dimensions for blocked element not being applied (#1331)
fix for replay of a blocked element when using 'fast forward' (rrdom)

 - Dimensions were not being properly applied when you seek to a position in the replay. Need to use `setProperty` rather than trying to set the width/height directly
2024-09-20 16:21:32 +01:00
Billy Vong
8e55c455ff fix(rrdom): Ignore invalid DOM attributes when diffing (#1561)
* fix(rrdom): Ignore invalid DOM attributes when diffing (#213)

We encountered an issue where replays with invalid attributes (e.g.
`@click`) would break rendering the replay after seeking. The exception
bubbles up to
[here](62093d4385/packages/rrweb/src/replay/index.ts (L270-L279)),
which means the replay will continue to play, but the replay mirror will
be incomplete.

Closes https://github.com/getsentry/team-replay/issues/458

* add changeset
2024-09-13 01:20:46 -07:00
Riadh Mouamnia
61ab209a4f fix some typos in optimize-storage.md (#1565)
* fix some typos in optimize-storage.md

* Update docs/recipes/optimize-storage.md

* Create metal-mugs-mate.md

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2024-09-13 01:18:04 -07:00
Eoghan Murray
04ee6eda57 Simplify the hover replacement function (#1535)
Simplify the hover replacement function, which has been borrowed from postcss-pseudo-classes

Note: 'parses nested commas in selectors correctly' was failing after this PR, however I don't think that the previous behaviour was desirable, so have added a new test to formalize this expectation
2024-09-13 08:56:49 +01:00
Eoghan Murray
5fbb904edb Single style capture (#1437)
Support a contrived/rare case where a <style> element has multiple text node children (this is usually only possible to recreate via javascript append) ... this PR fixes cases where there are subsequent text mutations to these nodes; previously these would have been lost

* In this scenario, a new CSS comment may now be inserted into the captured `_cssText` for a <style> element to show where it should be broken up into text elements upon replay: `/* rr_split */`
* The new 'can record and replay style mutations' test is the principal way to the problematic scenarios, and is a detailed 'catch-all' test with many checks to cover most of the ways things can fail
* There are new tests for splitting/rebuilding the css using the rr_split marker
* The prior 'dynamic stylesheet' route is now the main route for serializing a stylesheet; dynamic stylesheet were missed out in #1533 but that case is now covered with this PR

This PR was originally extracted from #1475 so the  initial motivation was to change the approach on stringifying <style> elements to do so in a single place.  This is also the motivating factor for always serializing <style> elements via the `_cssText` attribute rather than in it's childNodes; in #1475 we will be delaying populating `_cssText` for performance and instead recorrding them as assets.

Thanks for the detailed review to  Justin Halsall <Juice10@users.noreply.github.com> & Yun Feng <https://github.com/YunFeng0817>
2024-08-06 13:09:06 +01:00
github-actions[bot]
8837fe39aa Version Packages (alpha) (#1526)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-02 13:30:46 +02:00
Justin Halsall
be6bf52c24 Reverse monkey patch built in methods to support LWC (#1509)
* Get around monkey patched Nodes

* inlineImages: Setting of `image.crossOrigin` is not always necessary (#1468)

Setting of the `crossorigin` attribute is not necessary for same-origin images, and causes an immediate image reload (albeit from cache) necessitating the use of a load event listener which subsequently mutates the snapshot.  This change allows us to  avoid the mutation of the snapshot for the same-origin case.

* Modify inlineImages test to remove delay and show that we can inline images without mutation

* Add an explicit test for when the `image.crossOrigin = 'anonymous';` method is necessary.  Uses a combination of about:blank and our test server to simulate a cross-origin context

* Other test changes: there were some spurious rrweb mutations being generated by the addition of the crossorigin attribute that are now elimnated from the rrweb/__snapshots__/integration.test.ts.snap after this PR - this is good

* Move `childNodes` to @rrweb/utils

* Use non-monkey patched versions of the `childNodes`, `parentNode` `parentElement` `textContent` accessors

* Add getRootNode and contains, and add comprehensive todo list

* chore: Update turbo.json tasks for better build process

* Update caniuse-lite

* chore: Update eslint-plugin-compat to version 5.0.0

* chore: Bump @rrweb/utils version to 2.0.0-alpha.15

* delete unused yarn.lock files

* Set correct @rrweb/utils version in package.json

* Migrate over some accessors to reverse-monkey-patched version

* Add missing functions

* Fix illegal invocation error

* Revert closer to what it was.

This feels incorrect to me (Justin Halsall), but some of the tests break without it so I'm restoring this to be closer to its original here:
cfd686d488/packages/rrweb-snapshot/src/snapshot.ts (L1011)

* Reverse monkey patch all methods LWC hijacks

* Make tests more stable

* Safely handle rrdom nodes in hasShadowRoot

* Remove duplicated test

* Use variable `serverURL` in test

* Use monorepo default browserlist

* Fix typing issue for new typescript

* Remove unused package

* Remove unused code

* Add prefix to reverse-monkey-patched methods to make them more explicit

* Add default exports to @rrweb/utils

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2024-08-02 10:55:05 +02:00