I agree that WS replay could be very powerful, but I'm not sure it's straightforward. Once you get out of the realm of request/response and you are dealing with subscriptions, connection multiplexing, or frankly any other sort of pushed data that is triggered by whatever is on the other end, knowing how and when to play that back against new sessions is very hard. It seems very application specific on face value.
But I agree that it would enable replay for a lot of very interesting, complex projects. I've worked on some FX trading UIs that have been challenging to test without standing up a lot of backend services.
Both rrweb and OpenReplay are very solid projects. I've spent the last year or so building a session recording tool, and I've scrutinised their code quite heavily. Conceptually, session recording is quite simple, but there are so many edge cases, security models (CSP, feature policies) and performances issues to overcome.
Performance is probably the area I've spent the most time thinking about: if you want to measure performance regressions in a page, instrumenting it with a session recorder is definitely a way to skew the results (for example, checking scroll position of elements during snapshotting will trigger a reflow).
I've been looking forward to this launch for a while; I've spent a lot of time experimenting with session recording and how it can work for regression testing, reproducing bugs, measuring performance, sharing feedback during development - there is so much potential here.
> We're actively discussing open sourcing the record+replay code.
I think open source is a good call - supporting an option to self-host would make a lot of sense, since session recording will inevitably slurp up PII or sensitive data which could put off some users.
I don't have a demo video to hand (I will make one soon!), but this is an example of a saved recording: https://share.repro.dev/ZESo4eZ7ZUf279k7RazOZ/#GLsenWjJJPxXY.... If you click the "Devtools" tab in the header, you are taken to an inspector view when you can interact with the recorded DOM.
Mine are ANGST, PERKY, CHILD and JUMBO. It's interesting how many sets of 4 words with disjoint letters are out there. It took me quite a while to come up with my set, somehow I didn't realize there would be so many other sets that work equally well.
But I agree that it would enable replay for a lot of very interesting, complex projects. I've worked on some FX trading UIs that have been challenging to test without standing up a lot of backend services.