RecordDA / Tool++ — Extension Summary
Purpose
A Chrome extension (Manifest V3) for capturing browser debugging sessions and…
Users
21
+6 in 30 days
Rating
5.0 / 5
unchanged in 30 days
Ratings
2
0 in 30 days
Store rank
#148K
#123K among extensions
Version
0.0.5
updated 24 Jul 2026
Users
monthly, 5 months
Latest, 16 Oct 2026:21 usersMove the mouse over the chart for any month
Ratings count
monthly, 5 months
Latest, 16 Oct 2026:2 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About Tool++
RecordDA / Tool++ — Extension Summary
Purpose
A Chrome extension (Manifest V3) for capturing browser debugging sessions and uploading them to a Report Portal backend (reportsv1.best-quality.in). When recording, it captures screen video, network traffic, and console logs, then bundles and uploads them as a reviewable "record" tied to a project.
Core Capabilities
Screen recording — captures tab/screen video (WebM) via an offscreen document using DISPLAY_MEDIA.
Network capture (HAR) — attaches the Chrome Debugger (CDP) to the active tab, records all HTTP/HTTPS requests/responses (headers, bodies, timings), and builds a HAR 1.2 file.
Console capture — via a separate CDP listener, collects console.* calls, uncaught exceptions (Runtime.exceptionThrown), and browser-level entries (Log.entryAdded), exported as a plain-text .txt log.
Upload & record creation — uploads video, HAR, and console files to the backend, creates a record (with the file names stored in networkLogs and consoleLogs), then opens the new record in a browser tab.
Architecture
background.js (service worker) — the engine. Handles token retrieval, debugger attach/capture, HAR/console builders, all uploads, record creation, and recording state. Communicates with the UI via chrome.runtime messages (checkLogin, start, stop, setProject, get-state).
content-script.js — runs only on reportsv1.best-quality.in. Reads the auth token from the page's localStorage and mirrors it into chrome.storage.local (rpToken), polling so it's captured right after login and made available to every tab.
offscreen.js / offscreen.html — performs the actual media recording (service workers can't access getDisplayMedia).
Popup UI — exists in two parallel implementations: vanilla JS (screen.js → loginscreen.js / popupPage.js / newtab.js, which is what popup.html actually loads) and an alternate React version (*.jsx). Shows login, the recorder (Start/Stop, duration, project dropdown), or a "switch to a real tab" message.
Authentication
The extension never logs in itself — it reuses your existing Report Portal session token (read from localStorage, cached in chrome.storage.local) as a Bearer token for all backend calls. The token survives across tabs and service-worker restarts.
Key Flows
Login gate → checks for a valid token; if missing, prompts you to open Report Portal and sign in.
Project selection → verifyLogin returns your assigned projects; a dropdown lets you pick which project a recording uploads to (persisted).
Tab guard → if the active tab is a New Tab / chrome:// / extension / about:blank page, the popup shows a message instead of the recorder (nothing to capture).
Record → Stop → Upload → captures stop, files upload, a record is created, and its URL opens in a new tab.
Permissions
debugger (network + console capture), tabs (active tab detection, token read, opening records), downloads (local ZIP export), offscreen (screen recording), storage (token/state/prefs), alarms (keep-alive). Host permissions: reportsv1.best-quality.in and a local dev endpoint.
Data Handling
Captured data (video, network payloads, console output) is uploaded to the Report Portal server and stored under your account/project — it does not stay purely local. This data can contain sensitive information from the pages you record, so it should only be used on pages you're authorized to capture. (Note: the published privacy policy was recently updated to reflect this.)