@@ -285,6 +285,29 @@ describe("HarnessExtensionHost", () => {
285285 expect ( screenshotCalls ) . toBe ( 0 ) ;
286286 } ) ;
287287
288+ it ( "skips extension startup screenshot capture in browser mode" , async ( ) => {
289+ const extDir = mkdtempSync ( join ( tmpdir ( ) , "cua-ext-" ) ) ;
290+ writeFileSync ( join ( extDir , "startup-msg.ts" ) , SEND_ON_STARTUP_EXTENSION ) ;
291+ fx = await buildTestHarness ( { turns : [ { steps : [ { type : "text" , text : "ok" } ] } ] } ) ;
292+ await fx . harness . setMode ( "browser" ) ;
293+ let screenshotCalls = 0 ;
294+ const created = new HarnessExtensionHost ( {
295+ harness : fx . harness ,
296+ session : fx . session ,
297+ cwd : fx . cwd ,
298+ configuredPaths : [ extDir ] ,
299+ agentDir : mkdtempSync ( join ( tmpdir ( ) , "cua-agentdir-" ) ) ,
300+ initialScreenshot : async ( ) => {
301+ screenshotCalls += 1 ;
302+ return [ { type : "image" , data : "x" , mimeType : "image/png" } ] ;
303+ } ,
304+ } ) ;
305+ host = created ;
306+ await created . load ( ) ;
307+ await new Promise ( ( resolve ) => setTimeout ( resolve , 20 ) ) ;
308+ expect ( screenshotCalls ) . toBe ( 0 ) ;
309+ } ) ;
310+
288311 it ( "captures a failing extension sendUserMessage instead of an unhandled rejection" , async ( ) => {
289312 const extDir = mkdtempSync ( join ( tmpdir ( ) , "cua-ext-" ) ) ;
290313 writeFileSync ( join ( extDir , "startup-msg.ts" ) , SEND_ON_STARTUP_EXTENSION ) ;
0 commit comments