@@ -444,13 +444,21 @@ public function timer($interval): PromiseInterface
444444 )(new TimerInput ($ dateInterval ));
445445 }
446446
447- public function request (RequestInterface $ request , bool $ cancellable = true ): PromiseInterface
448- {
447+ public function request (
448+ RequestInterface $ request ,
449+ bool $ cancellable = true ,
450+ bool $ waitResponse = true ,
451+ ): PromiseInterface {
449452 $ this ->recordTrace ();
450453
451454 // Intercept workflow outbound calls
452455 return $ this ->requestInterceptor ->with (
453- function (RequestInterface $ request ): PromiseInterface {
456+ function (RequestInterface $ request ) use ($ waitResponse ): PromiseInterface {
457+ if (!$ waitResponse ) {
458+ $ this ->client ->send ($ request );
459+ return Promise::resolve ();
460+ }
461+
454462 return $ this ->client ->request ($ request , $ this );
455463 },
456464 /** @see WorkflowOutboundRequestInterceptor::handleOutboundRequest() */
@@ -476,7 +484,7 @@ function (UpsertMemoInput $input): PromiseInterface {
476484 return resolve ();
477485 }
478486
479- $ result = $ this ->request (new UpsertMemo ($ input ->memo ), false );
487+ $ result = $ this ->request (new UpsertMemo ($ input ->memo ), false , false );
480488
481489 /** @psalm-suppress UnsupportedPropertyReferenceUsage $memo */
482490 $ memo = &$ this ->input ->info ->memo ;
@@ -505,7 +513,7 @@ function (UpsertSearchAttributesInput $input): PromiseInterface {
505513 return resolve ();
506514 }
507515
508- $ result = $ this ->request (new UpsertSearchAttributes ($ input ->searchAttributes ), false );
516+ $ result = $ this ->request (new UpsertSearchAttributes ($ input ->searchAttributes ), false , false );
509517
510518 /** @psalm-suppress UnsupportedPropertyReferenceUsage $sa */
511519 $ sa = &$ this ->input ->info ->searchAttributes ;
@@ -533,7 +541,7 @@ function (UpsertTypedSearchAttributesInput $input): PromiseInterface {
533541 return resolve ();
534542 }
535543
536- $ result = $ this ->request (new UpsertTypedSearchAttributes ($ input ->updates ), false );
544+ $ result = $ this ->request (new UpsertTypedSearchAttributes ($ input ->updates ), false , false );
537545
538546 // Merge changes
539547 $ tsa = $ this ->input ->info ->typedSearchAttributes ;
0 commit comments