fix: store copy of workflow in workflowsById to prevent node data bugs (#4637)

This commit is contained in:
Alex Grozav 2022-11-17 17:35:28 +02:00 committed by GitHub
parent dea67ca6b7
commit 9cadaea3a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 15 deletions

View file

@ -24,6 +24,7 @@ import {
} from "@/Interface";
import {defineStore} from "pinia";
import {
deepCopy,
IConnection,
IConnections,
IDataObject,
@ -334,7 +335,10 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, {
},
addWorkflow(workflow: IWorkflowDb) : void {
Vue.set(this.workflowsById, workflow.id, workflow);
Vue.set(this.workflowsById, workflow.id, {
...this.workflowsById[workflow.id],
...deepCopy(workflow),
});
},
setWorkflowActive(workflowId: string): void {

View file

@ -834,6 +834,7 @@ export default mixins(
);
}
this.workflowsStore.addWorkflow(data);
this.workflowsStore.setActive(data.active || false);
this.workflowsStore.setWorkflowId(workflowId);
this.workflowsStore.setWorkflowName({ newName: data.name, setStateDirty: false });
@ -841,20 +842,6 @@ export default mixins(
this.workflowsStore.setWorkflowPinData(data.pinData || {});
this.workflowsStore.setWorkflowHash(data.hash);
this.workflowsStore.addWorkflow({
id: data.id,
name: data.name,
ownedBy: data.ownedBy,
sharedWith: data.sharedWith,
tags: data.tags || [],
active: data.active,
createdAt: data.createdAt,
updatedAt: data.updatedAt,
nodes: data.nodes,
connections: data.connections,
hash: '',
});
if (data.ownedBy) {
this.workflowsEEStore.setWorkflowOwnedBy({
workflowId: data.id,