diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 68c301722..a168570d8 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -368,7 +368,11 @@ export class App { if ( Object.prototype.hasOwnProperty.call(this.chatflowPool.activeChatflows, chatflowid) && this.chatflowPool.activeChatflows[chatflowid].inSync && - isSameOverrideConfig(this.chatflowPool.activeChatflows[chatflowid].overrideConfig, incomingInput.overrideConfig) && + isSameOverrideConfig( + isInternal, + this.chatflowPool.activeChatflows[chatflowid].overrideConfig, + incomingInput.overrideConfig + ) && !isStartNodeDependOnInput(this.chatflowPool.activeChatflows[chatflowid].startingNodes) ) { nodeToExecuteData = this.chatflowPool.activeChatflows[chatflowid].endingNodeData diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 80c017e15..1b4b41c63 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -388,11 +388,17 @@ export const isStartNodeDependOnInput = (startingNodes: IReactFlowNode[]): boole /** * Rebuild flow if new override config is provided + * @param {boolean} isInternal * @param {ICommonObject} existingOverrideConfig * @param {ICommonObject} newOverrideConfig * @returns {boolean} */ -export const isSameOverrideConfig = (existingOverrideConfig?: ICommonObject, newOverrideConfig?: ICommonObject): boolean => { +export const isSameOverrideConfig = ( + isInternal: boolean, + existingOverrideConfig?: ICommonObject, + newOverrideConfig?: ICommonObject +): boolean => { + if (isInternal) return true if ( existingOverrideConfig && Object.keys(existingOverrideConfig).length &&