Commit Graph

180 Commits

Author SHA1 Message Date
Yanzhen Yu
07d661f3a2 Release 0.9.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
6ba84ee5d0 Release 0.9.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
cd5720644f close #300 upgrade rrweb-snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4bf7bb9bb1 close #303 use a fork version of smooth scroll polyfill
The forked version support customize target window and document,
so we can polyfill it to the iframe.
2026-04-01 12:00:00 +08:00
yz-yu
6fad7f642c record canvas mutations (#296)
* record canvas mutations

close #60, #261

This patch implements the canvas mutation observer.
It consists of both the record and the replay side changes.

In the record side, we add a `recordCanvas` flag to indicate
whether to record canvas elements and the flag defaults to false.
Different from our other observers, the canvas observer was
disabled by default. Because some applications with heavy canvas
usage may emit a lot of data as canvas changed, especially the
scenarios that use a lot of `drawImage` API.
So the behavior should be audited by users and only record canvas
when the flag was set to true.

In the replay side, we add a `UNSAFE_replayCanvas` flag to indicate
whether to replay canvas mutations.
Similar to the `recordCanvas` flag, `UNSAFE_replayCanvas` defaults
to false. But unlike the record canvas implementation is stable and
safe, the replay canvas implementation is UNSAFE.
It's unsafe because we need to add `allow-scripts` to the replay
sandbox, which may cause some unexpected script execution. Currently,
users should be aware of this implementation detail and enable this
feature carefully.

* update canvas integration test
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e1c0631eeb Release 0.9.0 2026-04-01 12:00:00 +08:00
Yanzhen Yu
fc66a7eb79 Release 0.8.5 2026-04-01 12:00:00 +08:00
Yanzhen Yu
cf272f65ef Release 0.8.4 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c8cc397418 Release 0.8.3 2026-04-01 12:00:00 +08:00
yz-yu
8bb1c791f5 mask input options and sampling options (#252)
* part of #80, support mask input options

* close #188 enhance sampling options
Use a more general sampling strategy interface to describe the
configuration of sampling events collection.

Implemented mousmove, mouse interaction, scroll and input sampling
strategy.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
9c7e00a6b1 Release 0.8.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9a5873005f hotfix: fix es module entry path 2026-04-01 12:00:00 +08:00
Yanzhen Yu
90a42a31da Release 0.8.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
42a205e4c5 update typings entry 2026-04-01 12:00:00 +08:00
Yanzhen Yu
ccb2dd0562 Release 0.8.0 2026-04-01 12:00:00 +08:00
Yanzhen Yu
191908aa1d continue #199: redesign the bundled file structure
According to @eoghanmurray's suggestion, we can support three
main scenarios:
1. record only
2. replay only
3. all in one

Since we have implemented the packer feature, which has a big
influence in bundle size, we provide another three bundles:
1. record and pack
2. replay and unpack
3. all in one with pack and unpack
2026-04-01 12:00:00 +08:00
Yanzhen Yu
6b10e1c4ee update typescript to 3.9.5 2026-04-01 12:00:00 +08:00
yz-yu
2a6e2e0ef9 Live mode 2 (#226)
* refactoring play, pause, resume, load style sheet to subscribe style code

* support live mode in state machine

* 1. upgrade @xstate/fsm
2. add toggle interact methods to the player
2026-04-01 12:00:00 +08:00
Yanzhen Yu
2a323da123 close #205
1. upgrade rollup postcss plugin
2. fix postcss plugins for bundles
2026-04-01 12:00:00 +08:00
yz-yu
1efc9ad30b Bundles (#199)
* provide more bundle outputs

* update commonJS and es module entry to boot file
2026-04-01 12:00:00 +08:00
yz-yu
bfc0c43aa7 impl basic player state machine (#198) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a7d857c9e4 update rollup terser plugin 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b8366ebf2d Release 0.7.33 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0a62fd730c upgrade TS 2026-04-01 12:00:00 +08:00
Yanzhen Yu
bc78468ef4 Release 0.7.32 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4209ea7fe8 Update rollup
With rollup's preserveModules option and the sideEffects flag in
package.json, now we have the power of tree shaking.
2026-04-01 12:00:00 +08:00
yz-yu
dcad6ff922 Packer (#172)
* introduce pako and add general packer interface

* add tests for packer

* use function API instead of class API for better tree shaking support

* refcatoring the rollup bundle config
2026-04-01 12:00:00 +08:00
Yanzhen Yu
f1adef4693 Release 0.7.31 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f8b20530d3 Release 0.7.30 2026-04-01 12:00:00 +08:00
Yanzhen Yu
ca2b074743 update rrweb-snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
91064d48cb Release 0.7.29 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9035a8f814 Release 0.7.28 2026-04-01 12:00:00 +08:00
Yanzhen Yu
268a0df040 update rrweb-snapshot 2026-04-01 12:00:00 +08:00
David Cramer
3a0e829884 Add observers for stylesheet mutations (#177)
* hack together stylesheet observer

* Add test coverage for insertRule/deleteRule on stylesheets

* Add new observers

* update patch based on changes to master

* Functioning event recording

* Remove print statements

* Fix ID usage and mark add vs remove

* Correct type

Co-authored-by: Jon Perl <perl.jonathan@gmail.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
c7140ea8c6 fix dependency path 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5bfc2c704a impl media interactions recording
close #159
close #72
listen to HTMLMediaElement's play/pause events, and replay them
by programmatically play and pause the target element.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e1d025a1fd close #152
update rrweb-snapshot which contains the fix
2026-04-01 12:00:00 +08:00
Yanzhen Yu
fb13d24a86 Release 0.7.27 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9f1f31fb85 Release 0.7.26 2026-04-01 12:00:00 +08:00
Yanzhen Yu
cd12816638 close #140 transform mutated attributes 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4d813fff39 close #138 change source map into a single file 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b26132dc3c Release 0.7.25 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a91399046b Release 0.7.24 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5319a028ae update rrweb-snapshot to fix #129 2026-04-01 12:00:00 +08:00
Yanzhen Yu
dd6bba8ddc Release 0.7.23 2026-04-01 12:00:00 +08:00
Yanzhen Yu
bd6474cae5 Release 0.7.22 2026-04-01 12:00:00 +08:00
Yanzhen Yu
3d3a51b3de Fix #93 update rrweb-snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
21e90a0c7d hotfix throttle function args 2026-04-01 12:00:00 +08:00
Yanzhen Yu
ee5554c890 Release 0.7.20 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c47f8781e5 update rrweb-snapshot for css parse fault tolerance 2026-04-01 12:00:00 +08:00