diff --git a/packages/core/js-client/src/api.ts b/packages/core/js-client/src/api.ts index 031066c1..2b831f30 100644 --- a/packages/core/js-client/src/api.ts +++ b/packages/core/js-client/src/api.ts @@ -133,7 +133,6 @@ export const v5_callFunction = async ( peer: peerOrArg, args: callArgs, config, - fireAndForget: returnTypeVoid, }); if (returnTypeVoid) { diff --git a/packages/core/js-client/src/compilerSupport/callFunction.ts b/packages/core/js-client/src/compilerSupport/callFunction.ts index cf1272cd..6d8f177e 100644 --- a/packages/core/js-client/src/compilerSupport/callFunction.ts +++ b/packages/core/js-client/src/compilerSupport/callFunction.ts @@ -61,8 +61,6 @@ export const callAquaFunction = async ({ config = {}, peer, args, - // TODO: remove after LNG-286 is done - fireAndForget = false, }: CallAquaFunctionArgs) => { log.trace("calling aqua function %j", { script, config, args }); @@ -82,12 +80,7 @@ export const callAquaFunction = async ({ registerParticleScopeService(peer, particle, service); } - // If fireAndForget is enabled, then function call completed when one of the two conditions is met: - // 1. The particle is sent to the network - // 2. All CallRequests are executed, e.g., all variable loading and local function calls are completed - if (!fireAndForget) { - registerParticleScopeService(peer, particle, responseService(resolve)); - } + registerParticleScopeService(peer, particle, responseService(resolve)); registerParticleScopeService(peer, particle, injectRelayService(peer)); diff --git a/packages/core/js-client/src/jsPeer/FluencePeer.ts b/packages/core/js-client/src/jsPeer/FluencePeer.ts index 0adb4dbd..20cc88cc 100644 --- a/packages/core/js-client/src/jsPeer/FluencePeer.ts +++ b/packages/core/js-client/src/jsPeer/FluencePeer.ts @@ -539,17 +539,6 @@ export abstract class FluencePeer { "id %s. send successful", newParticle.id, ); - - if ( - this.jsServiceHost.getHandler( - "callbackSrv", - "response", - item.particle.id, - ) == null - ) { - // try to finish script if fire-and-forget enabled - item.onSuccess(null); - } }) .catch((e: unknown) => { log_particle.error( @@ -627,21 +616,6 @@ export abstract class FluencePeer { }); }); } - } else { - // TODO: remove after LNG-286 is done - // eslint-disable-next-line eqeqeq - if ( - this.jsServiceHost.getHandler( - "callbackSrv", - "response", - item.particle.id, - ) == null - ) { - // try to finish script if fire-and-forget enabled - setTimeout(() => { - item.onSuccess(null); - }, 0); - } } return connectionPromise; diff --git a/packages/core/js-client/src/services/builtins.ts b/packages/core/js-client/src/services/builtins.ts index b5e23c61..3dc6a781 100644 --- a/packages/core/js-client/src/services/builtins.ts +++ b/packages/core/js-client/src/services/builtins.ts @@ -312,10 +312,11 @@ export const builtInServices: Record< }), concat: withSchema(z.array(z.array(z.unknown())))((args) => { - // concat accepts only 'never' type + // Schema is used with unknown type to prevent useless runtime check // eslint-disable-next-line @typescript-eslint/consistent-type-assertions const arr = args as never[][]; - return success([].concat(...arr)); + + return success(arr.flat()); }), string_to_b58: withSchema(z.tuple([z.string()]))(([input]) => {