Screen Recording
Screen recording needs BugPin 1.3.0 or later. Sites that install the widget from npm need @arantic/bugpin-widget 1.2.0 or later; the /widget.js served by BugPin 1.3.0 already includes it.
BugPin can attach a short screen recording to a report. The reporter chooses a browser tab, window, or screen, then can pause, resume, stop, preview, download, or remove the clip before submitting the report.
Screen recording is disabled by default. An administrator must enable it under Widget → Recording or on the Recording tab of a project's Project Settings.
Record a Clip
- Open the BugPin widget and select Recordings.
- Optionally select Include microphone when the administrator allows it.
- Select Open Recorder and approve the browser's sharing prompt.
- Choose the tab, window, or screen that shows the problem.
- Select Start on the recording toolbar. After a 3-second countdown, reproduce the problem. Use the toolbar to pause, resume, stop, or discard the recording.
- Preview the clip, then submit the report. You can also download or remove it first.
Choose a browser tab or application window when possible. Sharing the entire screen can expose notifications and unrelated applications. The widget shows an additional warning when the browser reports that the entire screen is being shared.
Recording Toolbar
While recording, a toolbar floats over the page. Besides pause, resume, stop, and discard, it offers drawing tools that appear in the recording:
| Tool | Shortcut | Description |
|---|---|---|
| Cursor | Alt+V (Option+V on macOS) | Interact with the page normally |
| Pen | Alt+P (Option+P on macOS) | Draw on the page in red, amber, green, blue, or white |
| Laser pointer | Alt+L (Option+L on macOS) | Point at something without leaving a mark |
| Click effects | Alt+C (Option+C on macOS) | Highlight each click |
| Undo | Alt+Z (Option+Z on macOS) | Remove the last pen stroke. Clear drawing removes them all |
Shortcuts use Alt (Option on macOS) so plain key presses keep reaching the page being recorded. Esc returns to the cursor.
In browsers that support Element Capture, the toolbar, the red recording frame, and widget notifications are left out of the video when the reporter shares the current tab.
Browser Support
The Open Recorder action appears only when the administrator enabled it and the browser supports screen sharing, MediaRecorder, and a compatible MP4 or WebM format. Screen sharing requires a secure HTTPS page or localhost.
Mobile browsers and older desktop browsers may not expose the required APIs. The Recordings tab remains available so reporters can upload an existing MP4, WebM, or MOV file.
On macOS, the browser may also need Screen Recording permission in System Settings → Privacy & Security → Screen Recording. If a site has restricted the display-capture permissions policy, it must allow the page to use screen capture. Same-origin use is allowed by default.
Microphone Audio
The Allow Microphone Recording setting only makes the option available. Each reporter must opt in for each recording and approve the browser's microphone prompt. If microphone access is denied or unavailable, BugPin continues recording the screen without audio.
Quality, Limits, and Upload Quota
The Video Quality setting decides the resolution and frame rate: Low (720p, 10 fps), Standard (1080p, 15 fps, the default), or High (1440p, 30 fps). The Recordings tab shows the active quality, and each clip lists its quality, length, and size.
The recording stops automatically at the configured duration or before it exceeds the configured maximum video upload size. A recording that is still too large remains available to download or remove, but cannot be submitted.
The server enforces the duration limit and the microphone setting as well, so a modified widget cannot bypass them. Uploads show a progress bar and can be canceled.
The rolling daily video limit counts video data accepted for a project during the previous 24 hours. It includes screen recordings and uploaded videos. Set the daily limit to 0 to disable the quota.
Your reverse proxy must accept uploads at least as large as the configured maximum video size, plus any screenshots, and allow enough time for slower uploads. See Reverse Proxy Setup. If the proxy rejects an upload, the widget tells the reporter that the upload was rejected and the attachments may be too large.
Viewing Recordings
Recordings appear in the Media card of the report detail in the Admin Console, where they play with seeking. Each screenshot and video shows when it was captured, its dimensions and size, and for videos the length and recording quality.
Recovery After Navigation or a Crash
While recording, BugPin stores completed video chunks in IndexedDB on the website's origin. After a reload, navigation, or crash, loading a page that includes the widget restores completed chunks into the draft as the widget script starts. BugPin shows a notice and badges the launcher until the reporter opens the widget. The final seconds may be missing, so recovery is a safeguard rather than a guarantee.
Recovery data is scoped to the BugPin project and, when supplied, the reporter email. Without a reporter email, another visitor using that browser and project can recover the clip. Unsubmitted recording data expires after seven days, but cleanup runs only the next time a page with the widget opens. Private browsing modes and browser storage policies can prevent recovery.
The widget uses blob: URLs to preview recorded and uploaded video. Sites with a Content Security Policy must include blob: in media-src; see Widget Installation.
Privacy
A recording contains every visible pixel in the selected surface and may include microphone audio. It can capture personal data, credentials, notifications, and content outside the site. The data-bugpin-private attribute suppresses activity-trail entries, but it cannot mask pixels in a screen recording.
Enable recording and microphone audio only after reviewing the notices, authorization, retention, and access controls required for your deployment. See EU Privacy Mode and Recording Data.