|
1 | 1 | <p align="center"> |
2 | | - <img width="100px" height="100px" src="https://www.rrweb.io/favicon.png"> |
3 | | -</p> |
4 | | -<p align="center"> |
5 | | - <a href="https://www.rrweb.io/" style="font-weight: bold">Try rrweb</a> |
| 2 | + <a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank"> |
| 3 | + <img src="https://sentry-brand.storage.googleapis.com/sentry-wordmark-dark-280x84.png" alt="Sentry" width="280" height="84"> |
| 4 | + </a> |
6 | 5 | </p> |
7 | 6 |
|
8 | | -# rrweb |
9 | | - |
10 | | -**[The rrweb documentary (in Chinese, with English subtitles)](https://www.bilibili.com/video/BV1wL4y1B7wN?share_source=copy_web)** |
11 | | - |
12 | | -[](https://join.slack.com/t/rrweb/shared_invite/zt-siwoc6hx-uWay3s2wyG8t5GpZVb8rWg) |
13 | | -[](https://twitter.com/rrweb_io) |
14 | | - |
15 | | - |
16 | | -[](https://www.jsdelivr.com/package/npm/rrweb) |
17 | | - |
18 | | -[中文文档](./README.zh_CN.md) |
19 | | - |
20 | | -> I have joined Github Sponsors and highly appreciate your sponsorship. |
21 | | -
|
22 | | -rrweb refers to 'record and replay the web', which is a tool for recording and replaying users' interactions on the web. |
23 | | - |
24 | | -## Guide |
25 | | - |
26 | | -[**📚 Read the rrweb guide here. 📚**](./guide.md) |
27 | | - |
28 | | -[**🍳 Recipes 🍳**](./docs/recipes/index.md) |
29 | | - |
30 | | -## Project Structure |
31 | | - |
32 | | -rrweb is mainly composed of 3 parts: |
33 | | - |
34 | | -- **[rrweb-snapshot](https://github.com/rrweb-io/rrweb/tree/master/packages/rrweb-snapshot/)**, including both snapshot and rebuilding features. The snapshot is used to convert the DOM and its state into a serializable data structure with a unique identifier; the rebuilding feature is to rebuild the snapshot into corresponding DOM. |
35 | | -- **[rrweb](https://github.com/rrweb-io/rrweb)**, including two functions, record and replay. The record function is used to record all the mutations in the DOM; the replay is to replay the recorded mutations one by one according to the corresponding timestamp. |
36 | | -- **[rrweb-player](https://github.com/rrweb-io/rrweb/tree/master/packages/rrweb-player/)**, is a player UI for rrweb, providing GUI-based functions like pause, fast-forward, drag and drop to play at any time. |
37 | | - |
38 | | -## Roadmap |
39 | | - |
40 | | -- rrdom: an ad-hoc DOM for rrweb session data [#419](https://github.com/rrweb-io/rrweb/issues/419) |
41 | | -- storage engine: do deduplication on a large number of rrweb sessions |
42 | | -- more end-to-end tests |
43 | | -- compact mutation data in common patterns |
44 | | -- provide plugins via the new plugin API, including: |
45 | | - - XHR plugin |
46 | | - - fetch plugin |
47 | | - - GraphQL plugin |
48 | | - - ... |
| 7 | +# Sentry rrweb Fork |
49 | 8 |
|
50 | | -## Internal Design |
| 9 | +This repo is a fork of [rrweb](https://github.com/rrweb-io/rrweb). The purpose is to apply patches and bugfixes to rrweb and release Sentry-internal packages with our patches included. All credits and attribution for rrweb go to the original creators of the library and all its contributors. |
51 | 10 |
|
52 | | -- [serialization](./docs/serialization.md) |
53 | | -- [incremental snapshot](./docs/observer.md) |
54 | | -- [replay](./docs/replay.md) |
55 | | -- [sandbox](./docs/sandbox.md) |
| 11 | +From this monorepo, Sentry maintains and publishes the following NPM packages: |
56 | 12 |
|
57 | | -## Contribute Guide |
| 13 | +- `@sentry-internal/rrweb` (corresponds to the [original `rrweb` package](https://www.npmjs.com/package/rrweb)) |
| 14 | +- `@sentry-internal/rrdom` (corresponds to the [original `rrdom` package](https://www.npmjs.com/package/rrdom)) |
| 15 | +- `@sentry-internal/rrweb-player` (corresponds to the [original `rrweb-player` package](https://www.npmjs.com/package/rrweb-player)) |
| 16 | +- `@sentry-internal/rrweb-snapshot` (corresponds to the [original `rrweb-snapshot` package](https://www.npmjs.com/package/rrweb-snapshot)) |
58 | 17 |
|
59 | | -Since we want the record and replay sides to share a strongly typed data structure, rrweb is developed with typescript which provides stronger type support. |
60 | | - |
61 | | -[Typescript handbook](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html) |
62 | | - |
63 | | -1. Fork this repository. |
64 | | -2. Run `yarn install` in the root to install required dependencies for all sub-packages (note: `npm install` is _not_ recommended). |
65 | | -3. Run `yarn dev` in the root to get auto-building for all the sub-packages whenever you modify anything. |
66 | | -4. Navigate to one of the sub-packages (in the `packages` folder) where you'd like to make a change. |
67 | | -5. Patch the code and run `yarn test` to run the tests, make sure they pass before you commit anything. |
68 | | -6. Push the code and create a pull request. |
69 | | - |
70 | | -Protip: You can run `yarn test` in the root folder to run all the tests. |
71 | | - |
72 | | -In addition to adding integration tests and unit tests, rrweb also provides a REPL testing tool. |
73 | | - |
74 | | -[Using the REPL tool](./guide.md#REPL-tool) |
75 | | - |
76 | | -## Core Team Members |
77 | | - |
78 | | -<table> |
79 | | - <tr> |
80 | | - <td align="center"> |
81 | | - <a href="https://github.com/Yuyz0112"> |
82 | | - <img |
83 | | - src="https://avatars.githubusercontent.com/u/13651389?s=100" |
84 | | - width="100px;" |
85 | | - alt="" |
86 | | - /> |
87 | | - <br /><sub><b>Yuyz0112</b></sub> |
88 | | - </a> |
89 | | - </td> |
90 | | - <td align="center"> |
91 | | - <a href="https://github.com/Mark-Fenng"> |
92 | | - <img |
93 | | - src="https://avatars.githubusercontent.com/u/27533910?s=100" |
94 | | - width="100px;" |
95 | | - alt="" |
96 | | - /> |
97 | | - <br /><sub><b>Mark-Fenng</b></sub> |
98 | | - </a> |
99 | | - </td> |
100 | | - <td align="center"> |
101 | | - <a href="https://github.com/eoghanmurray"> |
102 | | - <img |
103 | | - src="https://avatars.githubusercontent.com/u/156780?s=100" |
104 | | - width="100px;" |
105 | | - alt="" |
106 | | - /> |
107 | | - <br /><sub><b>eoghanmurray</b></sub> |
108 | | - </a> |
109 | | - </td> |
110 | | - <td align="center"> |
111 | | - <a href="https://github.com/Juice10"> |
112 | | - <img |
113 | | - src="https://avatars.githubusercontent.com/u/4106?s=100" |
114 | | - width="100px;" |
115 | | - alt="" |
116 | | - /> |
117 | | - <br /><sub><b>Juice10</b></sub> |
118 | | - </a> |
119 | | - </td> |
120 | | - </tr> |
121 | | -</table> |
122 | | - |
123 | | -## Who's using rrweb |
| 18 | +# rrweb |
124 | 19 |
|
125 | | -<table> |
126 | | - <tr> |
127 | | - <td align="center"> |
128 | | - <a href="http://www.smartx.com/" target="_blank"> |
129 | | - <img width="195px" src="https://www.rrweb.io/logos/smartx.png"> |
130 | | - </a> |
131 | | - </td> |
132 | | - <td align="center"> |
133 | | - <a href="https://posthog.com?utm_source=rrweb&utm_medium=sponsorship&utm_campaign=open-source-sponsorship" target="_blank"> |
134 | | - <img width="195px" src="https://www.rrweb.io/logos/posthog.png"> |
135 | | - </a> |
136 | | - </td> |
137 | | - <td align="center"> |
138 | | - <a href="https://statcounter.com/session-replay/" target="_blank"> |
139 | | - <img width="195px" src="https://statcounter.com/images/logo-statcounter-arc-blue.svg"> |
140 | | - </a> |
141 | | - </td> |
142 | | - <td align="center"> |
143 | | - <a href="https://cux.io" target="_blank"> |
144 | | - <img style="padding: 8px" alt="The first ever UX automation tool" width="195px" src="https://static.cux.io/logo.svg"> |
145 | | - </a> |
146 | | - </td> |
147 | | - </tr> |
148 | | - <tr> |
149 | | - <td align="center"> |
150 | | - <a href="https://recordonce.com/" target="_blank"> |
151 | | - <img width="195px" src="https://uploads-ssl.webflow.com/5f3d133183156245630d4446/5f3d1940abe8db8612c23521_Record-Once-logo-554x80px.svg"> |
152 | | - </a> |
153 | | - </td> |
154 | | - <td align="center"> |
155 | | - <a href="https://remsupp.com" target="_blank"> |
156 | | - <img style="padding: 8px" alt="Remote Access & Co-Browsing" width="195px" src="https://remsupp.com/images/logo.png"> |
157 | | - </a> |
158 | | - </td> |
159 | | - </tr> |
160 | | -</table> |
| 20 | +<p align="center"> |
| 21 | + <img width="100px" height="100px" src="https://www.rrweb.io/favicon.png"> |
| 22 | +</p> |
| 23 | +<p align="center"> |
| 24 | + <a href="https://github.com/rrweb-io/rrweb" style="font-weight: bold">Check out the original rrweb Repo</a> |
| 25 | +</p> |
| 26 | +<p align="center"> |
| 27 | + <a href="https://rrweb.io" style="font-weight: bold">rrweb.io</a> |
| 28 | +</p> |
0 commit comments