Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve mutation processing performance #1652

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
db3b05b
Iterate over the added nodes in 'one pass' so that we don't need to b…
eoghanmurray Feb 10, 2025
883531e
Test changes, rearrangement of mutations
eoghanmurray Feb 10, 2025
953759a
Add some ids as I'm interested in tracing these nodes through pushAdd…
eoghanmurray Feb 10, 2025
89ba55d
Do away with the second pass as we can handle shadow DOM in the first…
eoghanmurray Feb 10, 2025
edbd403
This is needed on latest ubuntu
eoghanmurray Feb 10, 2025
4babf3c
Performance oriented refactor focusing on scenario where a large numb…
eoghanmurray Feb 11, 2025
79e0f7c
Satisfy typescript which could be smarter here ... we can guarantee t…
eoghanmurray Feb 11, 2025
0154a93
Utilize `lastChild` to avoid possibly crawling through hundreds of nodes
eoghanmurray Feb 11, 2025
1ca52e1
We've already got `nextSibling` here so can skip a step and avoid the…
eoghanmurray Feb 11, 2025
1d3dc2f
Test rearrangements in the adds array due to new algorithm; should be…
eoghanmurray Feb 11, 2025
7623008
We were calling `inDom` in all cases, so don't do the other ancestor …
eoghanmurray Feb 11, 2025
40b3a7a
Don't think we're explicitly looking at the slimdom stuff in relation…
eoghanmurray Feb 11, 2025
7fa60c0
Add changeset
eoghanmurray Feb 11, 2025
6335929
Don't think `main` subfolder was ever used as an output target; this …
eoghanmurray Feb 11, 2025
5e5ba4f
Placate eslint (`while(true)` is a Pythonism rather than do..while) -…
eoghanmurray Feb 11, 2025
0608946
Forgot to add the mutation.html file - also add doctype
eoghanmurray Feb 11, 2025
53550a2
Simplify the parentId check, doesn't need to ever by null
eoghanmurray Feb 11, 2025
74f9b2d
Move mutation tests into their own files to demonstrate an idea which…
eoghanmurray Feb 12, 2025
5d4e837
Apply formatting changes
eoghanmurray Feb 12, 2025
b5e9fb9
Some inconsequential tests to cover blocking scenarios
eoghanmurray Feb 12, 2025
bb695f2
Was trying to 'catch out' the mutation handling by having siblings pr…
eoghanmurray Feb 12, 2025
d281080
fixup! Move mutation tests into their own files to demonstrate an ide…
eoghanmurray Feb 12, 2025
1149d3a
I can't recreate a scenario for this case in testing, so add a warnin…
eoghanmurray Feb 12, 2025
9a16cce
Put each snap file in it's own folder and shorten names
eoghanmurray Feb 12, 2025
7fde788
Satisfy eslint
eoghanmurray Feb 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/refactor-mutation-pushadd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rrweb": patch
---

Improvements in efficiency of mutation handling; has been identified as a problem numerous times by mdellanoce, JonasBa and others
Loading
Loading