@@ -23,9 +23,10 @@ const (
2323)
2424
2525type playwrightDaemonRequest struct {
26- ID string `json:"id"`
27- Code string `json:"code"`
28- TimeoutMs int `json:"timeout_ms,omitempty"`
26+ ID string `json:"id"`
27+ Code string `json:"code"`
28+ TimeoutMs int `json:"timeout_ms,omitempty"`
29+ ResolveActivePage bool `json:"resolve_active_page"`
2930}
3031
3132type playwrightDaemonResponse struct {
@@ -84,7 +85,7 @@ func (s *ApiService) ensurePlaywrightDaemon(ctx context.Context) error {
8485 return fmt .Errorf ("playwright daemon failed to start within %v" , playwrightDaemonStartup )
8586}
8687
87- func (s * ApiService ) executeViaUnixSocket (ctx context.Context , code string , timeout time.Duration ) (* playwrightDaemonResponse , error ) {
88+ func (s * ApiService ) executeViaUnixSocket (ctx context.Context , code string , timeout time.Duration , resolveActivePage bool ) (* playwrightDaemonResponse , error ) {
8889 conn , err := net .DialTimeout ("unix" , playwrightDaemonSocket , 2 * time .Second )
8990 if err != nil {
9091 return nil , fmt .Errorf ("failed to connect to daemon: %w" , err )
@@ -97,9 +98,10 @@ func (s *ApiService) executeViaUnixSocket(ctx context.Context, code string, time
9798
9899 reqID := uuid .New ().String ()
99100 req := playwrightDaemonRequest {
100- ID : reqID ,
101- Code : code ,
102- TimeoutMs : int (timeout .Milliseconds ()),
101+ ID : reqID ,
102+ Code : code ,
103+ TimeoutMs : int (timeout .Milliseconds ()),
104+ ResolveActivePage : resolveActivePage ,
103105 }
104106
105107 reqBytes , err := json .Marshal (req )
@@ -160,7 +162,8 @@ func (s *ApiService) ExecutePlaywrightCode(ctx context.Context, request oapi.Exe
160162 }, nil
161163 }
162164
163- resp , err := s .executeViaUnixSocket (ctx , request .Body .Code , timeout )
165+ resolveActivePage := request .Body .ResolveActivePage == nil || * request .Body .ResolveActivePage
166+ resp , err := s .executeViaUnixSocket (ctx , request .Body .Code , timeout , resolveActivePage )
164167 if err != nil {
165168 log .Error ("playwright execution failed" , "error" , err )
166169 errorMsg := fmt .Sprintf ("execution failed: %v" , err )
0 commit comments