Commit Graph

162 Commits

Author SHA1 Message Date
Yanzhen Yu
1251091d64 Release 0.8.3 2020-10-04 20:49:17 +08:00
Yanzhen Yu
57a124ff74 update typings 2020-10-04 20:48:51 +08:00
Eoghan Murray
8b0bc7c505 Preserve url quotes (#47)
* Preserve original quotes when rewriting CSS url() paths - important for inline SVG files which often have spaces

* Found an example in the wild with the 'charset=' part left off. This is supported by https://css-tricks.com/lodge/svg/09-svg-data-uris/ ... not sure why we aren't just testing for the 'data:' prefix here?

* Not sure why this is now coming back with a double quote after recent changes here; it's supposed to preserve the single quote from style.css??
2020-10-04 20:46:57 +08:00
Eoghan Murray
6728d12b3c Add a slimDOM option to strip out unnecessary parts of the DOM (#36)
* Add a `slimDOM` option to strip out unnecessary parts of the DOM in terms of replay

 - <script> tags in the <head> take up unnecessary storage space and are often injected semi randomly to become a source of unnecessary variation between recordings of the same thing
 - comment tags can be stripped out without affecting display
 - future: this option could also turn on more aggressive stripping, e.g. elements that are hidden by CSS (assuming we can handle them becoming visible after mutation events)

* Mark nodes ignored due to slimDOM option, so that they can also be ignored by the mutation observer in rrweb

* Introducing the `ignored` attribute violates the `serializedNodeWithId` type

* slimDOM: Strip out whitespace nodes from <head> element as they have no effect but take up space

 - these would otherwise have to be merged after <script> elements are removed; for statcounter usecase, removing
   <script> elements is no good if there is still a trace of their presence due to the white space (and hence a variant <head> node is still produced)
 - I explored a more radical stripping of all white space nodes, but there is a problem if parent node is <pre> or otherwise rendered with `white-space: pre` and similar.
   detecting applied styles with getComputedStyle would be very expensive (I haven't measured it though)

* Export IGNORED_NODE as a constant instead of relying on the hard-to-grok `-2`

* Remove <link rel=preload as=script> which are similarly as useless as <script> tags

* Make slimDOM configurable with the expecations that `slimDOMOptions: true` will only enable non-destructive options (so not all options may be turned on)

* Expand slimDOM to add options to remove more elements from the <head> that should not be necessary in the replayer context
2020-09-20 13:00:44 +08:00
Yanzhen Yu
fd285ed2c4 Release 0.8.2 2020-09-06 19:15:44 +08:00
Yanzhen Yu
8565b0d692 close #42 fallback to html when doctype is invalid 2020-09-06 16:59:03 +08:00
Yanzhen Yu
9d58205bf8 Release 0.8.1 2020-08-22 15:50:28 +08:00
Yanzhen Yu
94ea611790 add an option to enable/disable take canvas snapshot 2020-08-22 15:49:55 +08:00
Yanzhen Yu
3c406bd49f rename visit to visitSnapshot 2020-08-22 15:43:50 +08:00
Yanzhen Yu
9bf1ced656 add visit function for snapshot 2020-08-22 15:43:50 +08:00
Yanzhen Yu
e54218be19 provide a general visit function to modify rebuilt id node map 2020-08-22 15:43:50 +08:00
Eoghan Murray
ae476d25a9 Expand what is considered to be a valid tag name to include underscores: (#41)
- was making this change for <wix-image> on Wix websites, but discovered after that this has already been done in e4593ff76d
 - have tested document.createElement('wix-image') and document.createElement('foo_bar'), but can't find a canonical source for what is allowed in tag names.
 - this restriction was originally introduced in #150 to prevent document.createElement('alt=""') i.e. a very malformed tag name
2020-08-21 23:35:17 +08:00
Jason Barry
db28bc4428 Fixes missing space when converting srcset to use absolute URLs (#40)
* Fixes missing space when converting srcset to use absolute URLs

* Fix integration snapshot
2020-08-05 10:09:59 +08:00
吴泽康
f7d43f5fee Add nested scroll support (#31) 2020-07-25 15:05:45 +08:00
Yanzhen Yu
785ff391b9 add textarea and select to default options 2020-07-18 14:08:36 +08:00
Yanzhen Yu
4199e55da1 Release 0.8.0 2020-07-18 13:58:27 +08:00
Yanzhen Yu
9ea534505f support mask select fields 2020-07-18 13:58:09 +08:00
Yanzhen Yu
f6781fda04 Release 0.7.29 2020-07-18 13:52:42 +08:00
Yanzhen Yu
3ebdcbdf03 fix mask textarea 2020-07-18 13:50:47 +08:00
Yanzhen Yu
c206e100f1 Release 0.7.28 2020-07-18 13:32:36 +08:00
Yanzhen Yu
e4593ff76d part of rrweb #80, support configure mask input types 2020-07-18 13:31:32 +08:00
Eoghan Murray
63c3bd744e Don't obscure text of form buttons under maskAllInputs (more modern style would be a <button>) (#35) 2020-07-17 23:17:07 +08:00
Yanzhen Yu
647e314179 Release 0.7.27 2020-06-15 17:11:21 +08:00
Maxim Postautov
341b1858b9 add '-' to symbolAndNumberRegex (#34) 2020-06-06 21:14:09 +08:00
Eoghan Murray
c14242e932 Avoid more common causes of 'blocked script execution' console.error messages in Chrome which are not exceptions (but look like them): (#30)
'Blocked script execution in '<page>' because the document's frame is sandboxed and the 'allow-scripts' permission is not set'
2020-03-26 23:15:41 +08:00
Yanzhen Yu
6245bee7bd Release 0.7.26 2020-03-14 14:48:41 +08:00
Yanzhen Yu
89445f3c50 close #29 add MIT license 2020-03-14 14:46:56 +08:00
James Bradley
86cf78822d H tags (#28)
* Failing test

* Allow numbers in el name tests

* Allow numbers in el names
2020-03-10 22:33:23 +08:00
Yanzhen Yu
4118d32601 Release 0.7.25 2020-02-26 09:56:49 +08:00
Fizer Khan (பைசர் கான்)
7da67ec182 fix null issue. (#27) 2020-02-25 15:52:38 +08:00
Yanzhen Yu
b5e9b40f4d close #24 css text can be null 2020-01-26 20:08:52 +08:00
Yanzhen Yu
7c01ec3c27 Release 0.7.24 2020-01-12 18:02:12 +08:00
Yanzhen Yu
a7a3a76af1 add media state check 2020-01-12 18:01:37 +08:00
Yanzhen Yu
388ec6c30c Release 0.7.23 2019-11-30 17:56:52 +08:00
Yanzhen Yu
98fc939c9e allow release on not committed working dir 2019-11-30 17:56:32 +08:00
Yanzhen Yu
cdf7495cf7 update release it config 2019-11-30 17:52:05 +08:00
Yanzhen Yu
a739c0fbc6 Release 0.7.22 2019-11-30 17:50:48 +08:00
Filip Slatinac
f1cae2f68c added cssText check (#23)
* added cssText check

* added testing
2019-11-27 14:17:00 +08:00
Filip Slatinac
acb53f2ef1 replacing invalid tag names by div (#22) 2019-11-25 21:28:20 +08:00
Yanzhen Yu
a0dc9481b2 Release 0.7.21 2019-11-09 15:28:17 +08:00
Yanzhen Yu
2af6e7af7f export the transform attribute method 2019-11-09 15:28:04 +08:00
Yanzhen Yu
0b3b630c60 format code 2019-11-09 15:21:36 +08:00
吴泽康
358d5e0d50 Add canvas image content support (#20)
* Add canvas image content support

* use rr_dataURL as the key so we know its a rrweb-added attribute.

* fix canvas rr_dataURL rebuild
2019-10-12 17:02:24 +08:00
Yanzhen Yu
cd9de42b6d add picture tag test 2019-10-12 16:54:41 +08:00
Yanzhen Yu
a58a118f2c Release 0.7.20 2019-10-04 23:13:58 +08:00
Filip Slatinac
30bbd9e21d Added srcset support (#18)
* added src set as a parsed attribute

* added tests

* changed to /a

* added multiple attribute handling

* added better comment

* made snapshot ignore invalid input as if it is invalid input in the original DOM, it should stay invalid in the recreated DOM

* added extra absolute test case

* code style

* addressed comments
2019-10-01 11:32:50 +08:00
Yanzhen Yu
7203517d15 Release 0.7.19 2019-09-19 12:41:12 +08:00
Yanzhen Yu
7ab5456b3e export add hover class method 2019-09-19 12:40:51 +08:00
Yanzhen Yu
44bdf69a1d Release 0.7.18 2019-08-31 16:13:32 +08:00
Yanzhen Yu
a69791b7f5 fix data url regexp 2019-08-31 16:13:02 +08:00