Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bd9eb70
fix: angular wrapped mutationobserver detection (#1597)
pauldambra Dec 6, 2024
5a78938
chore: abstract types to shared package (#1593)
daibhin Dec 6, 2024
1db7a99
Version Packages (alpha) (#1554)
github-actions[bot] Dec 6, 2024
4fd55c0
feat: add CI for publishing chrome extension (#1568)
YunFeng0817 Dec 10, 2024
52842ba
Temporarily freeze Ubuntu version in CI/Github Actions (#1621)
eoghanmurray Jan 10, 2025
dc20cd4
Fix performance of splitCssText (#1615)
eoghanmurray Jan 10, 2025
79837ac
fix: remote CSS does not get rebuilt properly (#1618)
billyvg Jan 20, 2025
24f5fd9
refactor: improved tab recording to improve stability (#1632)
YunFeng0817 Jan 20, 2025
83c66c4
Eslint camelCase (#1625)
eoghanmurray Jan 21, 2025
1f22bfc
Fix up the 'should replace the existing DOM nodes on iframe navigatio…
eoghanmurray Feb 4, 2025
fb0f8f1
[chore]: Update actions/upload-artifact to v4 (#1643)
kevinatown Feb 4, 2025
9cd28b7
Fix a code path where masking could be skipped on textareas (#1599)
eoghanmurray Feb 4, 2025
f18fead
[chore] Cache yarn packages for CI (#1646)
Juice10 Feb 4, 2025
965b0a9
Fix env puppeteer error in cross-origin-iframes.test.ts (#1629)
eoghanmurray Feb 5, 2025
a95b3e8
chore(ci): track bundle size (#1630)
pauldambra Feb 6, 2025
a6893f7
Fix adapt css with split (#1600)
eoghanmurray Feb 6, 2025
47a7c3f
Warn instead of fail on exceptions thrown from postcss (#1580)
guntherjh Feb 6, 2025
3e9e42f
Fix splitCssText again (#1640)
eoghanmurray Feb 6, 2025
88ea2d0
fix: move patch function into utils to improve bundling (#1631)
pauldambra Feb 6, 2025
dfb2991
fix: address security risks in GitHub Actions workflows (#1651)
AdnaneKhan Feb 12, 2025
6f4e691
<link> fixes re. modulepreload and fetch logic (#1614)
billyvg Feb 14, 2025
fd9d274
Testing: disable puppeteer/chrome sandbox in Github Actions for Ubunt…
eoghanmurray Mar 7, 2025
4683d7c
Merge branch 'master' into jg-merge-master-to-pendo-main
guntherjh Apr 29, 2025
62e9a1f
fix conflict in rrweb/src/utils
guntherjh Apr 29, 2025
a5671e1
Apply formatting changes
guntherjh Apr 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .changeset/blank-cherries-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/blank-dev-changset.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/dirty-pets-fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
6 changes: 6 additions & 0 deletions .changeset/efficiently-splitCssText-1603.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Improve performance of splitCssText for <style> elements with large css content - see #1603
6 changes: 6 additions & 0 deletions .changeset/efficiently-splitCssText-1640.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Improve performance of splitCssText for <style> elements with large css content - see #1603
2 changes: 2 additions & 0 deletions .changeset/eslint-camelcase-devonly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 2 additions & 0 deletions .changeset/famous-bobcats-push.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
6 changes: 6 additions & 0 deletions .changeset/fix-adapt-css.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb": patch
"rrweb-snapshot": patch
---

#1575 Fix that postcss could fall over when trying to process css content split arbitrarily
5 changes: 5 additions & 0 deletions .changeset/four-panthers-fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rrweb/web-extension": patch
---

web-extension: improve recording stability across tabs and enable session import
2 changes: 2 additions & 0 deletions .changeset/fuzzy-mugs-march.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
8 changes: 8 additions & 0 deletions .changeset/itchy-tables-compete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@rrweb/rrweb-plugin-console-record": patch
"@rrweb/record": patch
"rrweb": patch
"@rrweb/utils": patch
---

Move patch function into @rrweb/utils to improve bundling
2 changes: 2 additions & 0 deletions .changeset/lucky-donuts-hammer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
5 changes: 5 additions & 0 deletions .changeset/moody-experts-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rrweb/record": patch
---

Correctly detect when angular has wrapped mutation observer
5 changes: 5 additions & 0 deletions .changeset/odd-onions-brush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@rrweb/web-extension": patch
---

fix: remove the permission not needed and update the player style link
8 changes: 8 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"calm-bulldogs-speak",
"calm-oranges-sin",
"chatty-cherries-train",
"chilled-penguins-sin",
"clean-plants-play",
"clean-shrimps-lay",
"cold-eyes-hunt",
Expand Down Expand Up @@ -90,11 +91,13 @@
"lovely-pears-cross",
"lovely-students-boil",
"mean-tips-impress",
"metal-mugs-mate",
"mighty-ads-worry",
"mighty-bulldogs-begin",
"mighty-frogs-sparkle",
"modern-doors-watch",
"moody-dots-refuse",
"moody-experts-build",
"nasty-scissors-reply",
"nervous-buses-pump",
"nervous-kiwis-nail",
Expand All @@ -106,6 +109,7 @@
"no-neg-lookbehind",
"old-dryers-hide",
"perfect-bulldogs-punch",
"perfect-dolls-grab",
"polite-olives-wave",
"pretty-meals-flash",
"pretty-plums-rescue",
Expand All @@ -127,6 +131,8 @@
"silly-knives-chew",
"silver-pots-sit",
"silver-windows-float",
"simplifify-hover-replacement",
"single-style-capture",
"six-llamas-brush",
"sixty-impalas-laugh",
"skip-mask-check-on-leaf-elements",
Expand All @@ -137,10 +143,12 @@
"smart-geckos-cover",
"smooth-papayas-boil",
"smooth-poems-bake",
"soft-worms-tan",
"spotty-bees-destroy",
"stupid-ghosts-help",
"swift-dancers-rest",
"swift-peas-film",
"swift-pots-search",
"thin-vans-applaud",
"thirty-baboons-punch",
"three-baboons-bow",
Expand Down
5 changes: 5 additions & 0 deletions .changeset/red-peaches-explode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

This fixes an issue where inlined CSS from a remotely loaded `<link>` does not get applied properly due to object reference mutation.
6 changes: 6 additions & 0 deletions .changeset/short-hounds-confess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"rrweb-snapshot": patch
"rrweb": patch
---

Change to ignore all link[rel="modulepreload"] instead of including only those with `as="script"`
2 changes: 2 additions & 0 deletions .changeset/shy-countries-rhyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
11 changes: 11 additions & 0 deletions .changeset/soft-worms-tan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@rrweb/all": patch
"rrdom-nodejs": patch
"rrdom": patch
"rrweb-snapshot": major
"rrweb": patch
"@rrweb/rrweb-plugin-canvas-webrtc-record": patch
---

`NodeType` enum was moved from rrweb-snapshot to @rrweb/types
The following types where moved from rrweb-snapshot to @rrweb/types: `documentNode`, `documentTypeNode`, `legacyAttributes`, `textNode`, `cdataNode`, `commentNode`, `elementNode`, `serializedNode`, `serializedNodeWithId`, `serializedElementNodeWithId`, `serializedTextNodeWithId`, `IMirror`, `INode`, `mediaAttributes`, `attributes` and `DataURLOptions`
5 changes: 5 additions & 0 deletions .changeset/textarea-inner-html.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

#1596 Add masking for innerText mutations on textarea elements
3 changes: 3 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,8 @@ module.exports = {
rules: {
'tsdoc/syntax': 'warn',
'@typescript-eslint/prefer-as-const': 'warn',
'camelcase': ['error', {
allow: ['rr_.*', 'legacy_.*', 'UNSAFE_.*', '__rrweb_.*'],
}],
},
};
15 changes: 13 additions & 2 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Tests
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
Expand All @@ -19,7 +21,8 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: lts/*

cache: 'yarn'

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

Expand All @@ -33,8 +36,16 @@ jobs:
# 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: Check bundle sizes
uses: preactjs/compressed-size-action@v2
with:
install-script: "yarn install --frozen-lockfile"
build-script: "build:all"
compression: "none"
pattern: "**/dist/*.{js,cjs,mjs,css}"

- name: Upload diff images to GitHub
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: image-diff
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,17 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

# - name: Send a Slack notification if a publish happens
# if: steps.changesets.outputs.published == 'true'
# # You can do something when a publish happens.
# run: my-slack-bot send-notification --message "A new version of ${GITHUB_REPOSITORY} was published!"
- name: Build Chrome Extension
if: steps.changesets.outputs.published == 'true'
run: NODE_OPTIONS='--max-old-space-size=4096' DISABLE_WORKER_INLINING=true yarn turbo run prepublish --filter=@rrweb/web-extension

- name: Publish Chrome Extension
uses: mnao305/chrome-extension-upload@v5.0.0
if: steps.changesets.outputs.published == 'true'
with:
extension-id: 'pdaldeopoccdhlkabbkcjmecmmoninhe'
file-path: ./packages/web-extension/dist/chrome.zip
client-id: ${{ secrets.CWS_CLIENT_ID }}
client-secret: ${{ secrets.CWS_CLIENT_SECRET }}
refresh-token: ${{ secrets.CWS_REFRESH_TOKEN }}
publish: true
12 changes: 10 additions & 2 deletions .github/workflows/style-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on: [push, pull_request_target]
jobs:
eslint_check_upload:
runs-on: ubuntu-latest
permissions:
contents: read
name: ESLint Check and Report Upload

steps:
Expand All @@ -28,19 +30,21 @@ jobs:
# Continue to the next step even if this fails
continue-on-error: true
- name: Upload ESLint Report
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: eslint_report.json
path: eslint_report.json

annotation:
# Skip the annotation action in push events
if: github.event_name == 'pull_request_target'
permissions:
checks: write
needs: eslint_check_upload
runs-on: ubuntu-latest
name: ESLint Annotation
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: eslint_report.json
- name: Annotate Code Linting Results
Expand All @@ -52,6 +56,8 @@ jobs:
prettier_check:
# In the forked PR, it's hard to format code and push to the branch directly, so the action only check the format correctness.
if: github.event_name != 'push' && github.event.pull_request.head.repo.full_name != 'rrweb-io/rrweb'
permissions:
contents: read
runs-on: ubuntu-latest
name: Format Check
steps:
Expand All @@ -73,6 +79,8 @@ jobs:
# Skip the format code action in forked PRs
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == 'rrweb-io/rrweb'
runs-on: ubuntu-latest
permissions:
contents: write
name: Format Code
steps:
- uses: actions/checkout@v3
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ dist
# for vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

# bundle analysis files
*-bundle-analysis.html
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"markdownlint": "^0.25.1",
"markdownlint-cli": "^0.31.1",
"prettier": "2.8.4",
"rollup-plugin-visualizer": "^5.12.0",
"turbo": "^2.0.4",
"typescript": "^5.4.5"
},
Expand All @@ -53,8 +54,8 @@
"dev": "yarn turbo run dev --concurrency=18",
"repl": "cd packages/rrweb && npm run repl",
"live-stream": "cd packages/rrweb && yarn live-stream",
"lint": "yarn run concurrently --success=all -r -m=1 'yarn run markdownlint docs' 'yarn eslint packages/*/src --ext .ts,.tsx,.js,.jsx,.svelte'",
"lint:report": "yarn eslint --output-file eslint_report.json --format json packages/*/src --ext .ts,.tsx,.js,.jsx",
"lint": "yarn run concurrently --success=all -r -m=1 'yarn run markdownlint docs' 'ESLINT_USE_FLAT_CONFIG=false yarn eslint packages/*/src --ext .ts,.tsx,.js,.jsx,.svelte'",
"lint:report": "ESLINT_USE_FLAT_CONFIG=false yarn eslint --output-file eslint_report.json --format json packages/*/src --ext .ts,.tsx,.js,.jsx",
"release": "yarn build:all && changeset publish"
},
"resolutions": {
Expand Down
11 changes: 11 additions & 0 deletions packages/all/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @rrweb/all

## 2.0.0-alpha.18

### Patch Changes

- [#1593](https://github.com/rrweb-io/rrweb/pull/1593) [`5a78938`](https://github.com/rrweb-io/rrweb/commit/5a789385a341311ba327a768fe0e2f0f2f5002ee) Thanks [@daibhin](https://github.com/daibhin)! - `NodeType` enum was moved from rrweb-snapshot to @rrweb/types
The following types where moved from rrweb-snapshot to @rrweb/types: `documentNode`, `documentTypeNode`, `legacyAttributes`, `textNode`, `cdataNode`, `commentNode`, `elementNode`, `serializedNode`, `serializedNodeWithId`, `serializedElementNodeWithId`, `serializedTextNodeWithId`, `IMirror`, `INode`, `mediaAttributes`, `attributes` and `DataURLOptions`
- Updated dependencies [[`04ee6ed`](https://github.com/rrweb-io/rrweb/commit/04ee6eda57157f0e04f18f907d8f3e59ababc753), [`5fbb904`](https://github.com/rrweb-io/rrweb/commit/5fbb904edb653f3da17e6775ee438d81ef0bba83), [`5a78938`](https://github.com/rrweb-io/rrweb/commit/5a789385a341311ba327a768fe0e2f0f2f5002ee), [`53b83bb`](https://github.com/rrweb-io/rrweb/commit/53b83bb037f9cb30c93179548f436ed776f143ab)]:
- rrweb@2.0.0-alpha.18
- @rrweb/types@2.0.0-alpha.18
- @rrweb/packer@2.0.0-alpha.18

## 2.0.0-alpha.17

### Patch Changes
Expand Down
8 changes: 4 additions & 4 deletions packages/all/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rrweb/all",
"version": "2.0.0-alpha.17",
"version": "2.0.0-alpha.18",
"publishConfig": {
"access": "public"
},
Expand Down Expand Up @@ -56,9 +56,9 @@
"typescript": "^5.4.5"
},
"dependencies": {
"@rrweb/types": "^2.0.0-alpha.17",
"@rrweb/packer": "^2.0.0-alpha.17",
"rrweb": "^2.0.0-alpha.17"
"@rrweb/types": "^2.0.0-alpha.18",
"@rrweb/packer": "^2.0.0-alpha.18",
"rrweb": "^2.0.0-alpha.18"
},
"browserslist": [
"supports es6-class"
Expand Down
4 changes: 2 additions & 2 deletions packages/all/test/utils.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NodeType } from 'rrweb-snapshot';
import { expect } from 'vitest';
import {
NodeType,
EventType,
IncrementalSource,
eventWithTime,
Expand All @@ -24,7 +24,7 @@ export async function launchPuppeteer(
width: 1920,
height: 1080,
},
args: ['--no-sandbox'],
args: ['--no-sandbox', '--disable-setuid-sandbox'],
...options,
});
}
Expand Down
7 changes: 7 additions & 0 deletions packages/packer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @rrweb/packer

## 2.0.0-alpha.18

### Patch Changes

- Updated dependencies []:
- @rrweb/types@2.0.0-alpha.18

## 2.0.0-alpha.17

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/packer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rrweb/packer",
"version": "2.0.0-alpha.17",
"version": "2.0.0-alpha.18",
"publishConfig": {
"access": "public"
},
Expand Down Expand Up @@ -78,7 +78,7 @@
},
"dependencies": {
"fflate": "^0.4.4",
"@rrweb/types": "^2.0.0-alpha.17"
"@rrweb/types": "^2.0.0-alpha.18"
},
"browserslist": [
"supports es6-class"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @rrweb/rrweb-plugin-canvas-webrtc-record

## 2.0.0-alpha.18

### Patch Changes

- [#1593](https://github.com/rrweb-io/rrweb/pull/1593) [`5a78938`](https://github.com/rrweb-io/rrweb/commit/5a789385a341311ba327a768fe0e2f0f2f5002ee) Thanks [@daibhin](https://github.com/daibhin)! - `NodeType` enum was moved from rrweb-snapshot to @rrweb/types
The following types where moved from rrweb-snapshot to @rrweb/types: `documentNode`, `documentTypeNode`, `legacyAttributes`, `textNode`, `cdataNode`, `commentNode`, `elementNode`, `serializedNode`, `serializedNodeWithId`, `serializedElementNodeWithId`, `serializedTextNodeWithId`, `IMirror`, `INode`, `mediaAttributes`, `attributes` and `DataURLOptions`
- Updated dependencies [[`04ee6ed`](https://github.com/rrweb-io/rrweb/commit/04ee6eda57157f0e04f18f907d8f3e59ababc753), [`5fbb904`](https://github.com/rrweb-io/rrweb/commit/5fbb904edb653f3da17e6775ee438d81ef0bba83), [`5a78938`](https://github.com/rrweb-io/rrweb/commit/5a789385a341311ba327a768fe0e2f0f2f5002ee), [`53b83bb`](https://github.com/rrweb-io/rrweb/commit/53b83bb037f9cb30c93179548f436ed776f143ab)]:
- rrweb@2.0.0-alpha.18

## 2.0.0-alpha.17

### Patch Changes
Expand Down
Loading