fix: gate missing model error flags behind ShowErrorsTab setting

When ShowErrorsTab is disabled, skip flagging nodes with has_errors for
missing models so legacy canvas does not render red error borders.
The scan still runs and missingModelStore is populated normally.

Also disable ShowErrorsTab in additional E2E tests (rightClickMenu,
colorPalette, rerouteNode, selectionToolbox) to prevent screenshot
mismatches from missing model error indicators.
This commit is contained in:
jaeone94
2026-03-15 14:22:09 +09:00
parent a55df181bc
commit e8320ce65e
4 changed files with 22 additions and 1 deletions

View File

@@ -5,6 +5,10 @@ import type { WorkspaceStore } from '../types/globals'
test.beforeEach(async ({ comfyPage }) => {
await comfyPage.settings.setSetting('Comfy.UseNewMenu', 'Disabled')
await comfyPage.settings.setSetting(
'Comfy.RightSidePanel.ShowErrorsTab',
false
)
})
const customColorPalettes = {

View File

@@ -6,6 +6,10 @@ import { getMiddlePoint } from '../fixtures/utils/litegraphUtils'
test.describe('Reroute Node', { tag: ['@screenshot', '@node'] }, () => {
test.beforeEach(async ({ comfyPage }) => {
await comfyPage.settings.setSetting('Comfy.UseNewMenu', 'Top')
await comfyPage.settings.setSetting(
'Comfy.RightSidePanel.ShowErrorsTab',
false
)
})
test.afterEach(async ({ comfyPage }) => {
@@ -45,6 +49,10 @@ test.describe(
test.beforeEach(async ({ comfyPage }) => {
await comfyPage.settings.setSetting('Comfy.UseNewMenu', 'Disabled')
await comfyPage.settings.setSetting('LiteGraph.Reroute.SplineOffset', 80)
await comfyPage.settings.setSetting(
'Comfy.RightSidePanel.ShowErrorsTab',
false
)
})
test('loads from workflow', async ({ comfyPage }) => {

View File

@@ -8,6 +8,10 @@ const test = comfyPageFixture
test.beforeEach(async ({ comfyPage }) => {
await comfyPage.settings.setSetting('Comfy.UseNewMenu', 'Disabled')
await comfyPage.settings.setSetting(
'Comfy.RightSidePanel.ShowErrorsTab',
false
)
})
const BLUE_COLOR = 'rgb(51, 51, 85)'
const RED_COLOR = 'rgb(85, 51, 51)'

View File

@@ -505,10 +505,15 @@ export const useExecutionErrorStore = defineStore('executionError', () => {
[lastNodeErrors, () => missingModelStore.missingModelNodeIds],
() => {
if (!app.isGraphReady) return
const showErrorsTab = useSettingStore().get(
'Comfy.RightSidePanel.ShowErrorsTab'
)
reconcileNodeErrorFlags(
app.rootGraph,
lastNodeErrors.value,
missingModelStore.missingModelAncestorExecutionIds
showErrorsTab
? missingModelStore.missingModelAncestorExecutionIds
: new Set()
)
},
{ flush: 'post' }