mirror of
https://github.com/n8n-io/n8n.git
synced 2025-02-21 02:56:40 -08:00
fix(editor): Fix bug causing node issues to not be assigned before first interaction (no-changelog) (#10980)
This commit is contained in:
parent
136d491325
commit
574cff16ed
|
@ -33,6 +33,7 @@ async function createPiniaWithActiveNode() {
|
||||||
|
|
||||||
nodeTypesStore.setNodeTypes(defaultNodeDescriptions);
|
nodeTypesStore.setNodeTypes(defaultNodeDescriptions);
|
||||||
workflowsStore.workflow = workflow;
|
workflowsStore.workflow = workflow;
|
||||||
|
workflowsStore.nodeMetadata[node.name] = { pristine: true };
|
||||||
ndvStore.activeNodeName = node.name;
|
ndvStore.activeNodeName = node.name;
|
||||||
|
|
||||||
await useSettingsStore().getSettings();
|
await useSettingsStore().getSettings();
|
||||||
|
|
|
@ -373,7 +373,7 @@ export function useCanvasMapping({
|
||||||
subtitle: nodeSubtitleById.value[node.id] ?? '',
|
subtitle: nodeSubtitleById.value[node.id] ?? '',
|
||||||
type: node.type,
|
type: node.type,
|
||||||
typeVersion: node.typeVersion,
|
typeVersion: node.typeVersion,
|
||||||
disabled: !!node.disabled,
|
disabled: node.disabled,
|
||||||
inputs: nodeInputsById.value[node.id] ?? [],
|
inputs: nodeInputsById.value[node.id] ?? [],
|
||||||
outputs: nodeOutputsById.value[node.id] ?? [],
|
outputs: nodeOutputsById.value[node.id] ?? [],
|
||||||
connections: {
|
connections: {
|
||||||
|
|
|
@ -589,6 +589,12 @@ export function useCanvasOperations({ router }: { router: ReturnType<typeof useR
|
||||||
|
|
||||||
workflowsStore.addNode(nodeData);
|
workflowsStore.addNode(nodeData);
|
||||||
|
|
||||||
|
workflowsStore.setNodePristine(nodeData.name, true);
|
||||||
|
|
||||||
|
nodeHelpers.updateNodeParameterIssues(nodeData);
|
||||||
|
nodeHelpers.updateNodeCredentialIssues(nodeData);
|
||||||
|
nodeHelpers.updateNodeInputIssues(nodeData);
|
||||||
|
|
||||||
if (!options.isAutoAdd) {
|
if (!options.isAutoAdd) {
|
||||||
createConnectionToLastInteractedWithNode(nodeData, options);
|
createConnectionToLastInteractedWithNode(nodeData, options);
|
||||||
}
|
}
|
||||||
|
@ -606,8 +612,6 @@ export function useCanvasOperations({ router }: { router: ReturnType<typeof useR
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
workflowsStore.setNodePristine(nodeData.name, true);
|
|
||||||
|
|
||||||
return nodeData;
|
return nodeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1145,8 +1149,10 @@ export function useCanvasOperations({ router }: { router: ReturnType<typeof useR
|
||||||
connection: mappedConnection,
|
connection: mappedConnection,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
void nextTick(() => {
|
||||||
nodeHelpers.updateNodeInputIssues(sourceNode);
|
nodeHelpers.updateNodeInputIssues(sourceNode);
|
||||||
nodeHelpers.updateNodeInputIssues(targetNode);
|
nodeHelpers.updateNodeInputIssues(targetNode);
|
||||||
|
});
|
||||||
|
|
||||||
uiStore.stateIsDirty = true;
|
uiStore.stateIsDirty = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -989,15 +989,7 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, () => {
|
||||||
|
|
||||||
function updateNodeAtIndex(nodeIndex: number, nodeData: Partial<INodeUi>): void {
|
function updateNodeAtIndex(nodeIndex: number, nodeData: Partial<INodeUi>): void {
|
||||||
if (nodeIndex !== -1) {
|
if (nodeIndex !== -1) {
|
||||||
const node = workflow.value.nodes[nodeIndex];
|
Object.assign(workflow.value.nodes[nodeIndex], nodeData);
|
||||||
workflow.value = {
|
|
||||||
...workflow.value,
|
|
||||||
nodes: [
|
|
||||||
...workflow.value.nodes.slice(0, nodeIndex),
|
|
||||||
{ ...node, ...nodeData },
|
|
||||||
...workflow.value.nodes.slice(nodeIndex + 1),
|
|
||||||
],
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1023,12 +1015,6 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, () => {
|
||||||
issues: remainingNodeIssues,
|
issues: remainingNodeIssues,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (node.issues === undefined) {
|
|
||||||
updateNodeAtIndex(nodeIndex, {
|
|
||||||
issues: {},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
updateNodeAtIndex(nodeIndex, {
|
updateNodeAtIndex(nodeIndex, {
|
||||||
issues: {
|
issues: {
|
||||||
...node.issues,
|
...node.issues,
|
||||||
|
@ -1053,7 +1039,7 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, () => {
|
||||||
workflow.value.nodes.push(nodeData);
|
workflow.value.nodes.push(nodeData);
|
||||||
// Init node metadata
|
// Init node metadata
|
||||||
if (!nodeMetadata.value[nodeData.name]) {
|
if (!nodeMetadata.value[nodeData.name]) {
|
||||||
nodeMetadata.value = { ...nodeMetadata.value, [nodeData.name]: {} as INodeMetadata };
|
nodeMetadata.value[nodeData.name] = {} as INodeMetadata;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1158,13 +1144,7 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, () => {
|
||||||
parameters: newParameters as INodeParameters,
|
parameters: newParameters as INodeParameters,
|
||||||
});
|
});
|
||||||
|
|
||||||
nodeMetadata.value = {
|
nodeMetadata.value[node.name].parametersLastUpdatedAt = Date.now();
|
||||||
...nodeMetadata.value,
|
|
||||||
[node.name]: {
|
|
||||||
...nodeMetadata.value[node.name],
|
|
||||||
parametersLastUpdatedAt: Date.now(),
|
|
||||||
},
|
|
||||||
} as NodeMetadataMap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLastNodeParameters(updateInformation: IUpdateInformation): void {
|
function setLastNodeParameters(updateInformation: IUpdateInformation): void {
|
||||||
|
@ -1484,13 +1464,7 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setNodePristine(nodeName: string, isPristine: boolean): void {
|
function setNodePristine(nodeName: string, isPristine: boolean): void {
|
||||||
nodeMetadata.value = {
|
nodeMetadata.value[nodeName].pristine = isPristine;
|
||||||
...nodeMetadata.value,
|
|
||||||
[nodeName]: {
|
|
||||||
...nodeMetadata.value[nodeName],
|
|
||||||
pristine: isPristine,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetChatMessages(): void {
|
function resetChatMessages(): void {
|
||||||
|
|
|
@ -319,12 +319,14 @@ async function initializeRoute() {
|
||||||
|
|
||||||
await initializeWorkspaceForExistingWorkflow(workflowId.value);
|
await initializeWorkspaceForExistingWorkflow(workflowId.value);
|
||||||
|
|
||||||
|
await loadCredentials();
|
||||||
|
await initializeDebugMode();
|
||||||
|
|
||||||
|
void nextTick(() => {
|
||||||
nodeHelpers.updateNodesInputIssues();
|
nodeHelpers.updateNodesInputIssues();
|
||||||
nodeHelpers.updateNodesCredentialsIssues();
|
nodeHelpers.updateNodesCredentialsIssues();
|
||||||
nodeHelpers.updateNodesParameterIssues();
|
nodeHelpers.updateNodesParameterIssues();
|
||||||
|
});
|
||||||
await loadCredentials();
|
|
||||||
await initializeDebugMode();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue