Commit Graph

1197 Commits

Author SHA1 Message Date
Yanzhen Yu
63cec44c10 format code 2026-04-01 12:00:00 +08:00
Yanzhen Yu
fe45dd1bc9 Release 0.7.2 2026-04-01 12:00:00 +08:00
Justin Halsall
d8285664dc enable sourcemaps everywhere 2026-04-01 12:00:00 +08:00
Jonithan
90f83c92a1 2 commits for optimizing chore (#53)
* fix: chore bug. Update rollup-plugin-svelte

* chore: move @tsconfig/svelte from devDependencies to dependencies, convenience for building components in other framework and typescrpit

Co-authored-by: lihanzhou <lihanzhou@tencent.com>
2026-04-01 12:00:00 +08:00
Eoghan Murray
afe6ec9dd1 Compact style mutation (#464)
* Don't store the full style attribute change, as small mutations to single style properties result in storage of a rewrite for the full style attribute, which may be very large.

Had an example of a website using http://schillmania.com/projects/snowstorm/ where many direct style changes were happening every second across many 'snowflake' elements, with each attribute change looking like:
"style":"color: rgb(255, 255, 255); position: absolute; width: 8px; height: 8px; font-family: arial, verdana; overflow: hidden; font-weight: normal; z-index: 0; display: block; bottom: auto; opacity: 1; padding: 0px; margin: 0px; font-size: 10px; line-height: 10px; text-align: center; vertical-align: baseline; left: 242.807px; top: 85.7332px;"
even though maybe just the left/top position had been changed

* More compact storage for the much more common attribute value without an `!important` flag - saves 6 chars per style attr in the json :)

* Fix bug: attributes weren't getting removed after changes to treatment of 'style' attributes
2026-04-01 12:00:00 +08:00
bachmanity1
9110664ca2 add keepIframeSrcFn option (#81)
* add allowIframe option to snapshot

* rename allowIframe to keepIframeSrcFn
2026-04-01 12:00:00 +08:00
Yanzhen Yu
4eb6c0b966 upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
5dbb182774 update rollup 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9b13829696 Release 0.6.6 2026-04-01 12:00:00 +08:00
Justin Halsall
59b7a39ce1 Buffer modifications to virtual stylesheets (#618)
* Fix sheet insertion

Restore skip duration

Use virtualStyleRulesMap to re-populate stylesheet on Flush event

Clear virtualStyleRulesMap after flush applied

* Support rule deletion in virtual processing

* Simply restoreNodeSheet with early aborts

* Encountered a bug where firstFullSnapshot was played twice because timer was immediately started and reached the snapshot before the setTimeout returned

* Ignoring a FullSnapshot needs to be a one-time only thing, as otherwise we'll ignore it after scrubbing (restarting play head at a particular time). This is a problem if mutations have altered the player state, and we try to replay those mutations, so we e.g. try to remove an element that has already been removed because we haven't reset the FullSnapshot state

* Some `npm run typings` related fixups

* add basic html snapshot functionality

* move restoreNodeSheet to it's own module

* Refactor virtual style rules to buffer changes.
Only applies changes on flush.

`virtualStyleRulesMap` now works with strings instead of CSSRules.
CSSRules can only be via made `.insertRule` on CSSStyleSheet in most browsers.
And `new CSSStyleSheet()` only works in Chrome currently.

* remove unused code

* move VirtualStyleRules from CSSRule to string in tests

* correct paths for tests

* naming

* create and restore style snapshots for virtual nodes

* update replayer snapshot

* move storeCSSRules to virtual-styles.ts

* try/catch access to .sheet in case of access errors

* clean up tests

Co-authored-by: Vladimir Milenko <vladimir.milenko@uber.com>
Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2026-04-01 12:00:00 +08:00
Yun Feng
61074a2303 style(rebuild.ts snapshot.ts): format code 2026-04-01 12:00:00 +08:00
Justin Halsall
1226a093a1 rrweb 1.0 use new getMirror api (#70)
* Fixes #69

* update rrweb to 1.0.0-beta.0
2026-04-01 12:00:00 +08:00
Justin Halsall
da0ec6fb3a remove duplicate files 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9c8b7b3c44 upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
9df2aa8e0e Add userTriggered (#495)
* add `userTriggered`

* update snapshots to add userTriggered

* add `userTriggered`

* update snapshots to add userTriggered

* update snapshot to include userTrigger

* only set userTriggered on `userTriggeredOnInput: true`

* What is user triggered?

* correct snapshot

* add second radio to demonstrate userTriggered
2026-04-01 12:00:00 +08:00
bachmanity1
5fbb459a8e fix media playback bug (#80) 2026-04-01 12:00:00 +08:00
dependabot[bot]
cf791ebca1 Bump glob-parent from 5.1.1 to 5.1.2 (#74)
Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
83686e405c Release 0.6.5 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a224fdd903 Release 1.0.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
17b79ca210 Release 1.1.4 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b25033e872 limit max scale to 1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
8b7c36be3e add release to github 2026-04-01 12:00:00 +08:00
Lucky Feng
68b39c82c4 fix: "Uncaught TypeError: Cannot read property 'insertRule' of null" caused by CSP style-src (#79) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
09f694c90a Release 0.6.4 2026-04-01 12:00:00 +08:00
Eoghan Murray
fb381a1254 Ignore firstFullSnapshot once only after initial 'poster' build (#608)
* Encountered a bug where firstFullSnapshot was played twice because timer was immediately started and reached the snapshot before the setTimeout returned

* Ignoring a FullSnapshot needs to be a one-time only thing, as otherwise we'll ignore it after scrubbing (restarting play head at a particular time). This is a problem if mutations have altered the player state, and we try to replay those mutations, so we e.g. try to remove an element that has already been removed because we haven't reset the FullSnapshot state

* Some `npm run typings` related fixups
2026-04-01 12:00:00 +08:00
Justin Halsall
1849943d48 Fixes https://github.com/rrweb-io/rrweb/issues/567 (#78) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7c9b99a7a6 upgrade rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
045e125e37 Release 1.0.0 2026-04-01 12:00:00 +08:00
mgoshorn
42273eb2e4 Updates regex used to validate tagnames to allow for tagnames that include namespace information (esp: svg tags) (#77)
Co-authored-by: Mitch Goshorn <mitch.goshorn@calmid.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
79a532a942 Release 0.6.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e7d23755a4 close #489 add v1.0.0 changelog 2026-04-01 12:00:00 +08:00
Yanzhen Yu
6e144d13b3 Release 1.1.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
1a19d471a3 upgrade rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
8c17ef02ec add plugin API recipe 2026-04-01 12:00:00 +08:00
Yanzhen Yu
41e5082c08 related to #75 mask password input by default 2026-04-01 12:00:00 +08:00
Karl-Aksel Puulmann
b06005cf40 Update rrwebPlayer types (#46)
Without this change, the following fails to compile in typescript:

```js
new rrwebPlayer({
                target: document.body,
                props: {
                    width: 900,
                    events,
                    autoPlay: true,
                },
            })
```
2026-04-01 12:00:00 +08:00
Yanzhen Yu
35c6f20164 update console recipes 2026-04-01 12:00:00 +08:00
Justin Halsall
b75140dc62 Allow password to be maskable instead of ignorable (#65)
* Add password to maskInputOptions on types

* Add password on maskInputOptions to types definition
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e3c93f261d Release 0.6.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
789533382b update roadmap and remove v1.0 warning 2026-04-01 12:00:00 +08:00
Eoghan Murray
f2c5ab096e Improve parsing of srcset according to whatwg spec (#74)
* Improve parsing of srcset according to whatwg spec; e.g. srcset="http://example.com/size400,300/img.jpg 640w"

* Trim/normalise the output in order to conform to prior version; solely to keep tests happy

* Add test case for embedded commas in a srcset url as well as support for future possible parenthesis in descriptor string

* Drop 'future proof' test as it causes an error message in test output
2026-04-01 12:00:00 +08:00
Yanzhen Yu
6ffdf28ebe export speed as props 2026-04-01 12:00:00 +08:00
Yanzhen Yu
00c568ea30 update slack channel link and core team members 2026-04-01 12:00:00 +08:00
Yanzhen Yu
628fee9292 Release 1.1.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
25432a1ef1 by pass all options to rrweb 2026-04-01 12:00:00 +08:00
Omair Nabiel
ac1b7caa2c Update pagination.md (#610)
fix: typo lool to loop
2026-04-01 12:00:00 +08:00
re-fort
89cdf67234 Enable to mask texts (#73)
* chore: reorder options

* feat: enable to mask texts

* feat: add the default mask function

* refactor: rename options to identify the difference between  mask text and mask input

* test: add tests about masking
2026-04-01 12:00:00 +08:00
Yanzhen Yu
fa31bb6139 Release 0.6.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
de16040917 Release 1.0.0-beta.2 2026-04-01 12:00:00 +08:00
Justin Halsall
74706eeac6 Speed up addHoverClass on large stylesheets (#72)
* speed up addHoverClass on large style sheets

* longer strings first to prevent accidental partial matches

* can add hover class when there is a multi selector with the same prefix

* tweak performance
2026-04-01 12:00:00 +08:00