Commit Graph

104 Commits

Author SHA1 Message Date
Justin Halsall
0fedb8ed19 Docs: scale sponsors by donation size (#1217)
* Scale sponsors

Gold sponsors where a bit too big. I've scaled down all sponsors to match their donation level (calculation below). Also makes the low res image of our gold sponsor less apparent.

Example:

Bronze Sponsors Calculation:
50 pixels per donation $
100$ = 5000 pixels
√5000 = +/-70
Resolution: 70*70 = +/-5000 pixels

* Create fresh-cars-impress.md
2023-05-01 22:24:14 +10:00
Yun Feng
23d01387f4 rrvideo: improve the video quality and add a progress bar for the CLI tool (#1197)
* refactor rrvideo: use playwright rather than puppeteer

* add a progress bar for the tool

* add tests for cli.ts

* fix build error

* add change log

* update readme file

* Apply a scaling method to improve the resolution of the output video
2023-05-01 14:04:38 +02:00
fukang wang
ebcbe8b0d7 perf: record processMutation (#1214)
* perf: record processMutation

* Create mean-tips-impress.md

* Apply formatting changes
2023-05-01 10:15:58 +08:00
Justin Halsall
1d169d585a Add highlight to "who's using rrweb" (#1215)
* Add highlight to "who's using rrweb"

* Create rich-crews-protect.md
2023-04-30 09:17:19 +10:00
Yun Feng
751d3c78f5 fix: all tiers of sponsors are displayed under the 'gold sponsor' level (#1210) 2023-04-24 11:35:37 +02:00
github-actions[bot]
db66eb47a6 Version Packages (alpha) (#1199) 2023-04-16 14:33:43 +08:00
Eoghan Murray
c550cfa614 Reduce verbosity/redundancy of new pointerType attribute (#1206)
* Reduce verbosity/redundancy of output of new pointerType attribute by confining it only to clicks (and to a MouseDown/MouseUp from a PointerTypes.Pen, as these don't yet have a dedicated PendDown/PenUp)

* Update how the changeset will read for the next release based on the trimming in this PR

* Prefer triple equals

* The assignment to the outer `pointerType` variable in an anonymous function was somehow missed by the `typings` check

* Apply formatting changes

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

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

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-04-16 14:28:47 +08:00
Ben White
bc84246f78 feat: Added support maskInputFn with HTMLElement (#1188) 2023-04-15 09:31:39 +02:00
Justin Halsall
944615d999 Add gold sponsors (#1207)
* Add gold sponsors

* Create empty-bikes-cheer.md
2023-04-15 09:16:45 +10:00
Eoghan Murray
f88471184c Merge pull request #1201 from eoghanmurray/pointerTypeFixups
Pointer type fixups
2023-04-13 11:25:40 +01:00
Justin Halsall
4939c00004 Create fair-dragons-greet.md 2023-04-12 23:07:16 +02:00
Eoghan Murray
41cc822f1d Merge pull request #1129 from eoghanmurray/pointerType
Record pointerType on clicks
2023-04-12 11:20:10 +01:00
Charlie Gracie
b5e30cf6cc fix: Set finished=false in goto instead of handleProgressClick (#1198)
* Reset the finished flag in goto

If the player finishes a replaying a video the `finished` boolean is set to true. This allows the video to be restarted at the beginning if the controller is toggled again. If a user clicks on the progress bar the `finished` boolean is reset so if the `toggle` API is called it starts at the right place. If a user programatically calls `goto` which is the underlying API that handling the progress click calls the next invocation of `toggle` will start the video at the beginning instead of the proper location.

* Create controller-finish-flag.md

* Update controller-finish-flag.md
2023-04-08 11:50:25 +10:00
Francesco Novy
aa79db7568 fix: Fix input.type check (#1184)
* fix: Fix input.type check

Actually I noticed that `el.type` returns `text` when type is not explicitly set, so this is slightly incorrect.

* fix linting

* Apply formatting changes
2023-04-08 00:18:22 +10:00
Yun Feng
d0fdc0f273 improve: add try catch to snapshot.ts 's masking text function (#1148)
* improve: add try catch to snapshot.ts to make it robust

* add change log
2023-04-07 19:25:22 +10:00
eoghanmurray
2114dc47d4 Apply formatting changes 2023-03-30 16:23:41 +00:00
Eoghan Murray
979d2b1847 Create little-suits-leave.md 2023-03-30 17:22:16 +01:00
github-actions[bot]
1b2855bde1 Version Packages (alpha) (#1175)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-28 19:05:18 +02:00
Yun Feng
f1f5865dcf move rrvideo to monorepo (#1181)
* first commit

* rrvideo v0.1.0

First version of rrvideo.

1. Use as a Node.JS lib.
2. Use as a CLI.

Features are implemented via puppeteer, ffmpeg and rrweb-player.

* add readme

* update publish script

* add node env in cli file and change package.json bin to same like README (#4)

Co-authored-by: Xu Yinjie <xuyinjie@xiaobangtouzi.com>

* release 0.2.0

* fix #6 avoid assign undefined to config

* Fix: Solve the inconsistency between rrvideo and the real recorded page rendering when rendering the page with a headless browser (https://github.com/rrweb-io/rrvideo/pull/26)

Author: xujiujiu <906784584@qq.com>

---------

Co-authored-by: xujiujiu <906784584@qq.com>

* refactor rrvideo

1. refactor code
2. change monorepo config
3. remove separate TS dependencies

* add changeset

* fix: eslint errors

---------

Co-authored-by: Yanzhen Yu <yanzhen@smartx.com>
Co-authored-by: xyj <593500664@qq.com>
Co-authored-by: Xu Yinjie <xuyinjie@xiaobangtouzi.com>
Co-authored-by: xujiujiu <906784584@qq.com>
2023-03-28 19:02:22 +02:00
Justin Halsall
1e6f71b3cd Fix: Trigger mouse movement & hover with mouse up/down in sync mode (#1191)
* Trigger mouse movement & hover with mouse up/down in sync mode

* Trigger touchActive and mouseDown on flush
2023-03-28 18:59:40 +02:00
Yun Feng
267e990dc0 Fix: processed-node-manager is created even in the environment that doesn't need a recorder (#1186)
* Fix: processed-node-manager is created even in the environment that doesn't need a recorder

* apply Justin's suggestion

End the RAF loop when the recorder stops
2023-03-24 17:55:22 +11:00
Francesco Novy
a225d8e141 feat: Allow to pass errorHandler as record option (#1107)
* feat: Allow to pass `errorHandler` as record option

* add docs

* Apply formatting changes
2023-03-22 10:24:36 +08:00
Francesco Novy
d2582e9a81 feat: Ensure password inputs are masked when switching type (#1170)
* feat: Ensure password inputs are masked when switching type


Apply formatting changes

use data- attribute


ref: Ensure type is always lowercased


add changeset

* extract into util

* Apply formatting changes
2023-03-20 20:13:23 +08:00
Eoghan Murray
a82a3b42b1 Extend the suppression of warnings to take into account anscestors (#1145)
* Extend the suppression of warnings to take account that a prior removal may not have been against the immediate parent of a subsequent removal, but rather some anscestor

* Create proud-experts-jam.md

* Apply formatting changes
2023-03-18 17:51:52 +11:00
fukang wang
e0f862bac7 fix: worker_thread warning (#1179)
* fix: worker_thread warning

* Create fast-chefs-smell.md

* Apply formatting changes

* Update fast-chefs-smell.md
2023-03-18 17:21:49 +11:00
sky
4cb4d0e95a improve: some websites rebuild imcomplete (#1163)
* improve: mutation.ts, loop use Set replace Array

* improve: add a try-catch to utils.ts to make it robust

* Create yellow-mails-cheat.md

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-03-13 14:29:48 +08:00
fukang wang
e7f0c808c3 fix: inline images onload (#1174)
* fix: inline images onload

* add integration test case

* Apply formatting changes

* Create small-olives-arrive.md

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-03-13 13:56:09 +08:00
github-actions[bot]
1f8e5d5675 Version Packages (alpha) (#1138) 2023-03-08 16:06:25 +08:00
Justin Halsall
4948c3006a Fix changesets patch level of PR #1159 (#1169)
* Fix changesets patch level of PR #1159

* Create twenty-planets-repeat.md

* Apply formatting changes
2023-03-08 15:53:42 +08:00
Justin Halsall
d292167997 Add tsdoc/jsdoc deprecated notice to Mirror (#1168) 2023-03-08 08:19:37 +01:00
Yun Feng
f27e545e18 Fix: Switch to real dom before rebuilding fullsnapshot (#1139) 2023-03-08 08:19:00 +01:00
Eoghan Murray
d82c5edfff Update CONTRIBUTING.md (#1165)
* Update CONTRIBUTING.md

Add info about Changesets

* Apply formatting changes
2023-03-05 08:07:36 +11:00
Francesco Novy
eac9b18bbf feat: Ignore autoplay attribute on video/audio elements (#1152)
* feat: Ignore `autoplay` attribute on video/auto elements

This element leads to weird issues when replaying, so it's better to strip this out.

* add changeset

* fix check


fix typo

* Apply formatting changes

---------

Co-authored-by: mydea <mydea@users.noreply.github.com>
2023-03-03 13:01:02 +01:00
Eoghan Murray
5e6c132a4d Set userTriggered to false on Input attribute modifications (#1159)
* Set userTriggered to false on Input attribute modifications

 - the fact we are intercepting them via hook rather than an event suggests to me that they could well be programmatic

* Create young-timers-grow.md
2023-03-03 11:35:50 +01:00
Francesco Novy
8e47ca1021 fix: Explicitly handle null attribute values (#1157)
* fix: Explicitly handle removed attributes

The attribute `value` can be null when a mutation observer triggers due to a removed attribute. This is currently not reflected by types and code.

* Apply formatting changes

* fix

* add changeset
2023-02-28 03:32:56 +08:00
Pravin Tiwari
e65465e808 fix the statement which is getting changed by Microbundle (#1156)
* fix the statement which is getting changed by microbundle

* Create chatty-cherries-train.md

* fix formatting.

* fix position of comment

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2023-02-27 08:58:15 +01:00
Eoghan Murray
c28ef5f658 Replay fix for Firefox — add <head> and <body> separately (#1133)
* Firefox fix: Allow the <head> and <body> to be added in two stages so that (presumably) stylesheet rules are ready to be applied when the body appears

The css which triggered the bug was simply

{
  margin-left: 220px;
  transition: margin-left .448s;
}

* Add a test case which can only be appreciated if you record against this file://, save the events to a html file, and then open the file in Firefox (without this PR applied)

* Apply formatting changes

* Ensure we don't apply this branch when using rrdom, where it is not necessary

* Apply formatting changes

* Rewrite insertion in order to be compatible with rrdom

Also easier to understand

* Delete transition.html

* Create grumpy-ways-own.md

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-02-22 16:45:29 +11:00
Yun Feng
3416c3a769 fix: isCheckout is not included in fullsnapshot event (#1141)
* fix: isCheckout is not included in fullsnapshot event

* add change log
2023-02-17 08:50:58 +01:00
Ben White
aaabdbdff5 fix: Recursive logging bug with console recording (#1136)
* fix: Recursive logging bug with console recording

* Create violet-melons-itch.md
2023-02-16 17:11:31 +08:00
Prateek Karnal
f6f07e9533 Fix relative path detection in stylesheet URLs (#1130)
* Fix relative path detection in stylesheet URLs

* Add a check for www.

* Update packages/rrweb-snapshot/src/snapshot.ts

* Update packages/rrweb-snapshot/src/snapshot.ts

* Create large-ants-prove.md

* Update large-ants-prove.md

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-02-15 16:42:29 +01:00
github-actions[bot]
06031a6486 Version Packages (alpha) (#1135) 2023-02-15 06:37:19 +08:00
Yun Feng
033d2d18b4 some minor changes for releasing the extension and revert failed publish PR #1123 (#1132)
* improve extension bundle

* Revert "Version Packages (alpha) (#1123)"

This reverts commit 39f8c24f1d.
2023-02-15 06:32:43 +08:00
Justin Halsall
28111c14b1 Fix broken changeset release action (#1134)
* Fix broken changeset release action

* Create mighty-frogs-sparkle.md
2023-02-15 08:39:23 +11:00
github-actions[bot]
39f8c24f1d Version Packages (alpha) (#1123)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-14 15:51:42 +01:00
Justin Halsall
f9affc9747 Chore: Bump up all package versions together whenever any one version changes (#1131)
* Bump up all package versions together whenever any one version changes.

Keeps everything in sync to make it easy to see if you have the correct dependencies.

https://github.com/changesets/changesets/blob/main/docs/fixed-packages.md

* Empty changeset as this changes nothing for the packages them selves

* Bring @rrweb/web-extension version inline with other packages

* separate the extension version from package.json's to avoid errors

---------

Co-authored-by: Yun Feng <yun.feng0817@gmail.com>
2023-02-14 11:54:59 +01:00
Yun Feng
3cc4323094 improve rrdom performance (#1127)
* add more check to rrdom to make diff algorithm more robust

* fix: selector match in iframe is case-insensitive

add try catch to some fragile points

* test: increase timeout value for Jest

* improve code style

* fix: failed to execute insertBefore on Node in the diff function

this happens when ids of doctype or html element are changed in the virtual dom

also improve the code quality

* refactor diff function to make the code cleaner

* fix: virtual nodes are passed to plugin's onBuild function

* refactor the diff function and adjust the order of diff work.

* call afterAppend hook in a consistent traversal order

* improve the performance of the "contains" function

reduce the complexity from O(n) to O(logn)
a specific benchmark is needed to add further

* add a real events for benchmark

* refactor: change the data structure of childNodes from array to linked list

* remove legacy code in rrweb package

* update unit tests

* update change log
2023-02-14 11:54:30 +01:00
Yun Feng
282c8fa415 rrweb extension implementation (#1044)
* feat: add rrweb web-extension package

* refactor: make the extension suitable for manifest v3

* update tsconfig.json

* use version_name rather than recorder_version in manifest.json

* update manifest.json

* enable to keep recording after changing tabs

* enable to record between tabs and urls

* fix CI error

* try to fix CI error

* feat: add pause and resume buttons

* feat: add a link to new session after recording

* improve session list

* refactor: migrate session storage from chrome local storage to indexedDB

* feat: add pagination to session list

* fix: multiple recorders are started after pausing and resuming process

* fix: can't stop recording on firefox browser

* update type import of 'eventWithTime'

* fix CI error

* doc: add readme

* Apply suggestions from Justin's code review

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

* refactor: make use of webNavigation API to implement recording consistent during page navigation

* fix firefox compatibility issue and add title to pages

* add mouseleave listener to enhance the recording liability

* fix firefox compatibility issue and improve the experience of recording resume after closing tabs

* update tsconfig

* upgrade vite-plugin-web-extension config to fix some bugs on facebook web page

* update import links

* refactor: cross tab recording mechanism

apply Justin's suggestion

* refactor: slipt util/index.ts into multiple files

* implement cross-origin iframe recording

* fix: regression of issue: ShadowHost can't be a string (issue 941)

* refactor shadow dom recording to make tests cover key code

* Apply formatting changes

* increase the node memory limitation to avoid CI failure

* Create lovely-pears-cross.md

* Apply formatting changes

* Update packages/web-extension/package.json

* Update .changeset/lovely-pears-cross.md

* update change logs

* delete duplicated property

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
2023-02-14 07:15:34 +08:00
Yun Feng
227d43abb9 refine change logs (#1126) 2023-02-12 14:47:51 +01:00
Yun Feng
1385f7acc0 fix duplicated shadow dom (#1095)
* fix: duplicated elements in shadow doms

clean observers before taking new full snapshots

* add checker for replayer to make it stable when data has duplicated nodes

* apply review suggestions

* add change log

* Apply formatting changes

* update prettier to fit the master branch

---------

Co-authored-by: Mark-Fenng <Mark-Fenng@users.noreply.github.com>
2023-02-12 14:00:18 +01:00
Justin Halsall
2946f102ff Add needed dependency for changeset formatter (#1125) 2023-02-12 13:50:28 +01:00