update notes on permissions for recording

This commit is contained in:
Tommy D. Rossi
2026-01-23 23:18:14 +01:00
parent 09f502cc43
commit 3b5427ebe8
3 changed files with 6 additions and 3 deletions
+2 -2
View File
@@ -1100,7 +1100,7 @@ interface StartRecordingParams {
async function handleStartRecording(params: StartRecordingParams): Promise<{ success: true; tabId: number; startedAt: number } | { success: false; error: string }> {
const tabId = resolveTabIdFromSessionId(params.sessionId)
if (!tabId) {
return { success: false, error: 'No connected tab found for recording' }
return { success: false, error: 'No connected tab found for recording. Click the Playwriter extension icon on the tab you want to record.' }
}
if (activeRecordings.has(tabId)) {
@@ -1125,7 +1125,7 @@ async function handleStartRecording(params: StartRecordingParams): Promise<{ suc
const errorMsg = chrome.runtime.lastError.message || 'Unknown error'
// Chrome returns this error when activeTab permission hasn't been granted
if (errorMsg.includes('Extension has not been invoked') || errorMsg.includes('activeTab')) {
reject(new Error(`${errorMsg}. Toggle the Playwriter extension icon on this tab to enable recording, then try again.`))
reject(new Error(`${errorMsg}. Click the Playwriter extension icon on this tab to enable recording, then try again.`))
} else {
reject(new Error(errorMsg))
}
+3
View File
@@ -601,6 +601,9 @@ export class PlaywrightExecutor {
audio?: boolean
outputPath: string
}) => {
// Recording uses chrome.tabCapture which requires activeTab permission.
// This permission is granted when the user clicks the Playwriter extension icon on a tab.
// Recording will work on any tab where the user has clicked the icon.
return startRecording({
page: options.page || page,
relayPort,
+1 -1
View File
@@ -423,7 +423,7 @@ Labels are color-coded: yellow=links, orange=buttons, coral=inputs, pink=checkbo
**startRecording / stopRecording** - record the page as a video at native FPS (30-60fps). Uses `chrome.tabCapture` in the extension context, so **recording survives page navigation**. Video is saved as WebM.
**Important**: Recording requires the user to have clicked the playwriter extension icon on the target tab first. This grants the `activeTab` permission which is required for `chrome.tabCapture`. If recording fails with "Extension has not been invoked for the current page", ask the user to click the extension icon on the tab they want to record.
**Note**: Recording requires the user to have clicked the Playwriter extension icon on the tab. This grants `activeTab` permission needed for `chrome.tabCapture`. Recording works on tabs where the icon was clicked - if you need to record a new tab, ask the user to click the icon on it first.
```js
// Start recording - outputPath must be specified upfront