Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: nested stylesheets should have absolute URLs #20

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6c70087
inlineImages: Setting of `image.crossOrigin` is not always necessary …
eoghanmurray May 23, 2024
1cce126
Return early for child same origin frames (#1295)
colingm May 29, 2024
3365014
Removing global document references (#1482)
AlfieJones Jun 4, 2024
a93e542
No neg lookbehind (#1493)
eoghanmurray Jun 5, 2024
51c9ab4
Refactor to preclude the need for a continuous raf loop (#1328)
eoghanmurray Jun 5, 2024
7b4ac05
perf(mutation): refactor parent removed detection to iterative proced…
JonasBa Jun 5, 2024
42b90b8
Chore: Migrate build to vite (#1033)
Juice10 Jun 7, 2024
95eeb4b
fix: some nested cross-origin iframes can't be recorded (#1353)
YunFeng0817 Jun 7, 2024
9979b78
Added changesets for https://github.com/rrweb-io/rrweb/pull/1033 (#1497)
Juice10 Jun 7, 2024
f00cb84
Chore: Ignore generated files from .svelte-kit for prettier & make vi…
Juice10 Jun 10, 2024
713176a
Update styleguilde.md (#1498)
eoghanmurray Jun 10, 2024
ad8f326
Chore: Fix yarn dev (#1501)
Juice10 Jun 10, 2024
054fb7f
Chore: Delete unused lerna.json file (#1506)
Juice10 Jun 12, 2024
599fd8d
fix: extension doesn't work after vite bump (#1507)
YunFeng0817 Jun 12, 2024
2bd51a3
Add option to block animation on <title> tag (#760)
eoghanmurray Jun 13, 2024
f3c5f9f
Version Packages (alpha) (#1484)
github-actions[bot] Jun 13, 2024
5fbce3a
Skip mask check on leaf elements (#1512)
eoghanmurray Jun 17, 2024
cb3fade
Assuming all jest should have been removed in #1033 (#1511)
eoghanmurray Jun 17, 2024
c7ca332
Fix async assertions in test files (#1510)
Juice10 Jun 18, 2024
52c726f
Fix maskInputFn is ignored during the creation of the full snapshot (…
ababik Jun 21, 2024
c71ebd2
Improve development tooling (#1516)
Juice10 Jun 21, 2024
799ff32
Version Packages (alpha) (#1513)
github-actions[bot] Jun 25, 2024
96af6c0
Keep all packages in sync
Juice10 Jun 26, 2024
13f9a7f
feat: add new css parser - postcss (#1458)
daibhin Jun 27, 2024
2973e4f
fix: console assert only logs when arg 0 is falsy (#1530)
pauldambra Jul 2, 2024
e6055c5
[Feature] Include takeFullSnapshot function in rrweb (#1527)
arredgroup Jul 3, 2024
fe8a7f6
chore: reduce flakey test due to '[vite] connected' message (#1525)
Juice10 Jul 5, 2024
d654223
fix: duplicate textContent for style element cause incremental style …
YunFeng0817 Jul 8, 2024
d7de502
Added support for deprecated addRule & removeRule methods (#1515)
okejminja Jul 23, 2024
8c823ae
fix: nested stylesheets should have absolute URLs (#1533)
jeffdnguyen Jul 25, 2024
00f7ac8
resolve type issue
jeffdnguyen Jul 30, 2024
588be09
remove extra variable declaration
jeffdnguyen Jul 30, 2024
77ed9b9
resolve conflict with using native RAF
jeffdnguyen Jul 30, 2024
a2a05ff
remove dupe param
jeffdnguyen Jul 30, 2024
dd4cee1
resolve conflicts with removesMap optimization
jeffdnguyen Jul 30, 2024
3c67a7e
fix: grid template is parsed incorrectly by chrome
pauldambra Jan 9, 2024
017c887
Apply formatting changes
jeffdnguyen Jul 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file added .cache/.gitkeep
Empty file.
6 changes: 6 additions & 0 deletions .changeset/beige-olives-roll.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Fix that the optional `maskInputFn` was being accidentally ignored during the creation of the full snapshot
2 changes: 2 additions & 0 deletions .changeset/bright-socks-clap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
12 changes: 11 additions & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,19 @@
"rrdom",
"rrdom-nodejs",
"rrweb-player",
"@rrweb/all",
"@rrweb/replay",
"@rrweb/record",
"@rrweb/types",
"@rrweb/packer",
"@rrweb/web-extension",
"rrvideo"
"rrvideo",
"@rrweb/rrweb-plugin-console-record",
"@rrweb/rrweb-plugin-console-replay",
"@rrweb/rrweb-plugin-sequential-id-record",
"@rrweb/rrweb-plugin-sequential-id-replay",
"@rrweb/rrweb-plugin-canvas-webrtc-record",
"@rrweb/rrweb-plugin-canvas-webrtc-replay"
]
],
"linked": [],
Expand Down
14 changes: 14 additions & 0 deletions .changeset/cool-horses-bow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
"@rrweb/rrweb-plugin-canvas-webrtc-record": patch
"@rrweb/rrweb-plugin-canvas-webrtc-replay": patch
"@rrweb/rrweb-plugin-sequential-id-record": patch
"@rrweb/rrweb-plugin-sequential-id-replay": patch
"@rrweb/rrweb-plugin-console-record": patch
"@rrweb/rrweb-plugin-console-replay": patch
"@rrweb/packer": patch
"@rrweb/record": patch
"@rrweb/replay": patch
"@rrweb/all": patch
---

Keep package version in sync with other packages
6 changes: 6 additions & 0 deletions .changeset/cuddly-bikes-fail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

fix: duplicate textContent for style elements cause incremental style mutations to be invalid
8 changes: 8 additions & 0 deletions .changeset/eighty-teachers-smash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@rrweb/rrweb-plugin-canvas-webrtc-replay": patch
"@rrweb/rrweb-plugin-sequential-id-replay": patch
"@rrweb/rrweb-plugin-console-replay": patch
"rrweb": patch
---

Export `ReplayPlugin` from rrweb directly. Previously we had to do `import type { ReplayPlugin } from 'rrweb/dist/types';` now we can do `import type { ReplayPlugin } from 'rrweb';`
2 changes: 2 additions & 0 deletions .changeset/eleven-toys-vanish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
5 changes: 5 additions & 0 deletions .changeset/giant-rats-chew.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Export takeFullSnapshot function for a recording process
5 changes: 5 additions & 0 deletions .changeset/gold-experts-type.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rrweb/rrweb-plugin-console-record": patch
---

corrects behaviour of console.assert logging to only capture logs when the provided assertion is falsey
6 changes: 6 additions & 0 deletions .changeset/great-cows-camp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@rrweb/record": patch
"rrweb": patch
---

Added support for deprecated addRule & removeRule methods
6 changes: 6 additions & 0 deletions .changeset/inlineImage-maybeNot-crossOrigin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb": patch
"rrweb-snapshot": patch
---

inlineImages: during snapshot avoid adding an event listener for inlining of same-origin images (async listener mutates the snapshot which can be problematic)
5 changes: 5 additions & 0 deletions .changeset/kind-kids-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Optimize performance of isParentRemoved by converting it to an iterative procedure
2 changes: 2 additions & 0 deletions .changeset/last-jest-to-vitest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/lovely-files-sparkle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/nasty-scissors-reply.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
6 changes: 6 additions & 0 deletions .changeset/no-neg-lookbehind.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Replay: Replace negative lookbehind in regexes from css parser as it causes issues with Safari 16
12 changes: 12 additions & 0 deletions .changeset/perfect-bulldogs-punch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@rrweb/rrweb-plugin-canvas-webrtc-record": major
"@rrweb/rrweb-plugin-canvas-webrtc-replay": major
"@rrweb/rrweb-plugin-sequential-id-record": major
"@rrweb/rrweb-plugin-sequential-id-replay": major
"@rrweb/rrweb-plugin-console-record": major
"@rrweb/rrweb-plugin-console-replay": major
"@rrweb/packer": major
"rrweb": major
---

Split plugins out of rrweb and move them into their own packages: @rrweb/packer, @rrweb/rrweb-plugin-canvas-webrtc-record, @rrweb/rrweb-plugin-canvas-webrtc-replay, @rrweb/rrweb-plugin-sequential-id-record, @rrweb/rrweb-plugin-sequential-id-replay, @rrweb/rrweb-plugin-console-record, @rrweb/rrweb-plugin-console-replay. Check out the README of each package for more information or check out https://github.com/rrweb-io/rrweb/pull/1033 to see the changes.
34 changes: 33 additions & 1 deletion .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,25 @@
"rrweb-snapshot": "2.0.0-alpha.4",
"@rrweb/types": "2.0.0-alpha.4",
"@rrweb/web-extension": "2.0.0-alpha.4",
"rrvideo": "2.0.0-alpha.6"
"rrvideo": "2.0.0-alpha.6",
"@rrweb/all": "2.0.0-alpha.14",
"@rrweb/packer": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-canvas-webrtc-record": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-canvas-webrtc-replay": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-console-record": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-console-replay": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-sequential-id-record": "2.0.0-alpha.14",
"@rrweb/rrweb-plugin-sequential-id-replay": "2.0.0-alpha.14",
"@rrweb/record": "2.0.0-alpha.14",
"@rrweb/replay": "2.0.0-alpha.14"
},
"changesets": [
"attribute-text-reductions",
"beige-olives-roll",
"brave-numbers-joke",
"breezy-cats-heal",
"breezy-mice-breathe",
"bright-socks-clap",
"calm-bulldogs-speak",
"calm-oranges-sin",
"chatty-cherries-train",
Expand All @@ -31,7 +43,9 @@
"date-now-guard",
"dirty-rules-dress",
"eight-terms-hunt",
"eighty-teachers-smash",
"eleven-bobcats-peel",
"eleven-toys-vanish",
"empty-bikes-cheer",
"event-single-wrap",
"fair-dragons-greet",
Expand All @@ -52,16 +66,20 @@
"grumpy-ways-own",
"hip-worms-relax",
"hungry-dodos-taste",
"inlineImage-maybeNot-crossOrigin",
"itchy-dryers-double",
"khaki-dots-bathe",
"kind-kids-design",
"large-ants-prove",
"last-jest-to-vitest",
"lazy-squids-draw",
"lazy-toes-confess",
"lemon-lamps-switch",
"light-fireants-exercise",
"little-radios-thank",
"little-suits-leave",
"loud-seals-raise",
"lovely-files-sparkle",
"lovely-pears-cross",
"lovely-students-boil",
"mean-tips-impress",
Expand All @@ -70,18 +88,24 @@
"mighty-frogs-sparkle",
"modern-doors-watch",
"moody-dots-refuse",
"nasty-scissors-reply",
"nervous-buses-pump",
"nervous-kiwis-nail",
"nervous-mirrors-perform",
"nervous-poets-grin",
"nervous-tables-travel",
"new-snakes-call",
"nice-pugs-reply",
"no-neg-lookbehind",
"old-dryers-hide",
"perfect-bulldogs-punch",
"polite-olives-wave",
"pretty-meals-flash",
"pretty-plums-rescue",
"pretty-schools-remember",
"proud-clocks-hope",
"proud-experts-jam",
"purple-carrots-film",
"rare-adults-sneeze",
"real-masks-explode",
"real-trains-switch",
Expand All @@ -90,9 +114,15 @@
"rich-jars-remember",
"rotten-spies-enjoy",
"serious-ants-juggle",
"serious-eggs-greet",
"shadow-dom-unbusify",
"silent-plants-perform",
"silver-pots-sit",
"silver-windows-float",
"sixty-impalas-laugh",
"skip-mask-check-on-leaf-elements",
"slimy-eagles-grow",
"small-hats-kneel",
"small-olives-arrive",
"smart-ears-refuse",
"smart-geckos-cover",
Expand All @@ -110,12 +140,14 @@
"tiny-buckets-love",
"tiny-candles-whisper",
"tiny-chairs-build",
"title-deanimate-option",
"tricky-panthers-guess",
"twenty-goats-kneel",
"twenty-lies-switch",
"twenty-planets-repeat",
"violet-melons-itch",
"violet-zebras-cry",
"wicked-lions-return",
"wise-spiders-jog",
"witty-kids-talk",
"yellow-mails-cheat",
Expand Down
20 changes: 20 additions & 0 deletions .changeset/pretty-meals-flash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
"@rrweb/all": major
"@rrweb/packer": major
"@rrweb/rrweb-plugin-canvas-webrtc-record": major
"@rrweb/rrweb-plugin-canvas-webrtc-replay": major
"@rrweb/rrweb-plugin-console-record": major
"@rrweb/rrweb-plugin-console-replay": major
"@rrweb/rrweb-plugin-sequential-id-record": major
"@rrweb/rrweb-plugin-sequential-id-replay": major
"@rrweb/record": major
"@rrweb/replay": major
"rrdom": major
"rrdom-nodejs": major
"rrweb": major
"rrweb-player": major
"rrweb-snapshot": major
"@rrweb/types": major
---

Distributed files have new filenames, paths and extensions. **Important: If you reference distributed files or types directly, you might have to update your paths/filenames. E.g. you import from `rrweb/typings/...` or `rrdom/es`. However you run `import rrweb from 'rrweb'` you won't notice a difference with this change.** If you include rrweb files directly in a script tag, you might have to update that path to include a the `.umd.cjs` files instead. All `.js` files now use ES modules which can be used in modern browsers, node.js and bundlers that support ES modules. All npm packages now also ship `.cjs` and `.umd.cjs` files. The `.umd.cjs` files are CommonJS modules that bundle all files together to make it easy to ship one file to browser environments (similar to the previous `.js` files). The `.cjs` files are CommonJS modules that can be used in older Node.js environments. Types should be better defined in `package.json` and if you need specific types they might be exported from new packages (for example `PlayerMachineState` and `SpeedMachineState` are now exported from `@rrweb/replay`). Check the `package.json`'s `main` and `exports` field for the available files.
5 changes: 5 additions & 0 deletions .changeset/proud-clocks-hope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb-snapshot": patch
---

(when `recordCanvas: true`): ensure we use doc.createElement instead of document.createElement to allow use in non-browser e.g. jsdom environments
5 changes: 5 additions & 0 deletions .changeset/purple-carrots-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Fix: some nested cross-origin iframes can't be recorded
2 changes: 2 additions & 0 deletions .changeset/serious-eggs-greet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
5 changes: 5 additions & 0 deletions .changeset/shadow-dom-unbusify.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Refactor to preclude the need for a continuous raf loop running in the background which is related to shadowDom
5 changes: 5 additions & 0 deletions .changeset/silent-plants-perform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Return early for child same origin frames
5 changes: 5 additions & 0 deletions .changeset/six-llamas-brush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb-snapshot": patch
---

Fix `url()` rewrite for nested stylesheets by rewriting during stringification instead of after
6 changes: 6 additions & 0 deletions .changeset/skip-mask-check-on-leaf-elements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

optimisation: skip mask check on leaf elements
2 changes: 2 additions & 0 deletions .changeset/slimy-eagles-grow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
8 changes: 8 additions & 0 deletions .changeset/small-hats-kneel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@rrweb/all": major
"@rrweb/record": major
"@rrweb/replay": major
"rrweb": major
---

Remove the rrweb-all.js, rrweb-record.js, and rrweb-replay.js files from `rrweb` package. Now you can use `@rrweb/all`, `@rrweb/record`, and `@rrweb/replay` packages instead. Check out the README of each package for more information or check out [PR #1033](https://github.com/rrweb-io/rrweb/pull/1033) to see the changes.
6 changes: 6 additions & 0 deletions .changeset/title-deanimate-option.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Add slimDOM option to block animation on <title> tag; enabled when the 'all' value is used for slimDOM
2 changes: 2 additions & 0 deletions .changeset/two-boats-boil.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/wicked-lions-return.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
13 changes: 13 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.DS_Store
node_modules
/build
/dist
/package
.env
.env.*
!.env.example

# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// TODO: add .eslintignore. More info: https://bobbyhadz.com/blog/typescript-parseroptions-project-has-been-set-for
module.exports = {
env: {
browser: true,
Expand All @@ -16,7 +17,7 @@ module.exports = {
ecmaVersion: 'latest',
sourceType: 'module',
tsconfigRootDir: __dirname,
project: ['./tsconfig.eslint.json', './packages/*/tsconfig.json'],
project: ['./tsconfig.eslint.json', './packages/**/tsconfig.json'],
},
plugins: ['@typescript-eslint', 'eslint-plugin-tsdoc', 'jest', 'compat'],
rules: {
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,18 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: lts/*

- name: Install Dependencies
run: yarn install --frozen-lockfile

- name: Build Project
run: NODE_OPTIONS='--max-old-space-size=4096' yarn build:all

- name: Check types
run: yarn turbo run check-types
run: yarn check-types

- name: Run tests
# run: PUPPETEER_EXECUTABLE_PATH=${{ steps.setup-chrome.outputs.chrome-path }} PUPPETEER_HEADLESS=true xvfb-run --server-args="-screen 0 1920x1080x24" yarn test
run: PUPPETEER_HEADLESS=true xvfb-run --server-args="-screen 0 1920x1080x24" yarn test

- name: Upload diff images to GitHub
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/style-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
name: ESLint Check and Report Upload

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.head_ref }}
Expand Down Expand Up @@ -93,3 +93,4 @@ jobs:
with:
commit_message: Apply formatting changes
branch: ${{ github.head_ref }}
file_pattern: ':!packages/rrweb-player/.svelte-kit/ambient.d.ts'
Loading