Guides
  1. At which point does the session start and when does it end?

Q: When does a session start and what conditions cause it to end? Is there an inactivity period or does the session end when the website is closed?

A: The session starts as soon as the page loads and the WebSDK begins recording. There is no inactivity period per se; however, if there is no incoming data from the client for 3 minutes, the session is considered finished, and the recording is uploaded. A lack of incoming data can be due to various reasons, such as no internet connection, the OS being suspended, or the browser/tab being closed.

  1. Can events be sent directly from the script?

Q: How can I send events directly from the script? I understand that events can be triggered based on actions like button clicks or form submissions, but how can this be done directly within the script?

A: While clicks are captured as gestures by default, you can send custom events directly from the script by adding event listeners. For example:

<button id="mybtn">Click me</button>

<script>
const button = document.querySelector('#mybtn');
button.addEventListener('click', () => uxc.event('my_btn_clicked'));
</script>

In this example, when the button with the ID mybtn is clicked, a custom event named my_btn_clicked is sent to UXCam.

  1. Why are my styles in the app not showing properly during replay?

Q: My app's styles are not displaying correctly in the session replay. What could be causing this?

A: The styling in the session replay relies on the CSS files that were available when the session was captured. For the styles to be rendered correctly during the replay, these CSS files must be publicly accessible. If the style files (CSS) are removed or altered after the session is recorded, it will impact the layout and styles shown in the replay.

  1. Why is my email input not being occluded?

Q: My email input is not being occluded. What could be the reason for this?

A: The email input will only be occluded if the input type is explicitly set to email. If the input field has its type set to text instead of email, it will not be occluded by default. Make sure that the input type is correctly defined as email to ensure occlusion, as described in the documentation.