The good news is that the latest Cubicast recorder release no longer modifies any of your HTML elements. Other than adding the necessary elements for it to function properly, the rest of the DOM is left intact.

The new approach solves two problems, with the first one being obvious. Some clients complained about the recorder adding custom attributes to their elements. This is no longer the case.

The second one, and possibly the most important, was the scenario of capturing with our extension a website that already has our recorder script added, which could lead to unexpected results on both recordings because of conflicting element identifiers.

Now, each recorder instance keeps a separate map of elements with their custom attributes. A WeakMap comes in handy for this type of use case.