SDK 0.3.0: what people type is masked by default
Every AnyReplay SDK now masks what people type into form fields unless you opt out with `maskAllInputs: false`. Passwords, one-time codes and card fields stay masked either way, and new projects start with masking on.
- Breaking, and the reason to read this entry: `maskAllInputs` now defaults to `true`. A recording shows a form being filled in, with asterisks instead of what was typed — in inputs, text areas and selects, including values that were already there when the page loaded. The same goes for a React Native
TextInputand a Flutter text field. This reverses the default introduced in 0.1.3. - To keep seeing what people type, set `maskAllInputs: false`. It is one line in your
initoptions, under the same name in every SDK. A website whose snippet does not set the option follows the project's own switch: if your project already had masking off, the script-tag snippet keeps recording typed values after the new default is deployed, and so does@anyreplay/browserfrom npm once you upgrade. Until the first answer from our servers arrives, a page records masked. The React Native and Flutter SDKs do not ask the project; setmaskAllInputs: falsethere when you upgrade. - Passwords, one-time codes, payment fields and card numbers are still never recorded, with
maskAllInputs: falsetoo. Rich-text editors (contenteditable) are still recorded unless you setmaskAllTyping: trueor mark them withar-mask. - New projects start with masking on. Creating a project — in the dashboard or in the app — shows one switch, Mask what visitors type into form fields, on by default. If a project has it off, including a project created earlier that answered no to the old checkout question, the setup page now writes
maskAllInputs: falseinto the snippet, so the code you copy keeps recording typed values on any SDK version. - A masking option that is not a boolean is still ignored, and fields stay masked.
maskAllInputs: "false"— the string a tag manager variable often hands over — leaves fields masked and logs a warning in the console. - The Google Tag Manager template, the WordPress plugin and the Shopify embed now tick Mask form fields by default and send
maskAllInputs: falsewhen it is unticked. The updated versions reach their stores in their next release; until then, unticking the box there leaves fields masked. - React Native: a view that moves is replayed where it now stands. When a view moved under a new parent, or siblings changed order, 0.2.3 sent no removal, and the replay could show the view twice or in its old place. 0.3.0 sends the move. The player also repairs recordings made with older versions where it can.
- The script-tag snippet picks up the browser changes as soon as they are deployed. npm installs get them by upgrading
@anyreplay/browseror@anyreplay/react-native— and the Capacitor, Cordova, Electron and Tauri packages — to 0.3.0.