diff --git a/web/linker.js b/web/linker.js index 2a1b223..ef9c5da 100644 --- a/web/linker.js +++ b/web/linker.js @@ -884,6 +884,11 @@ class LinkerManagerDialog extends ComfyDialog { html += `
`; + // Add category header + html += `
+ ${displayName.toUpperCase()} +
`; + if (hasActive) { const activeStr = modelsObj.active.map(m => { const fullName = m.name || m.original_path?.split(/[\/\\]/).pop() || 'Unknown'; @@ -1066,6 +1071,16 @@ class LinkerManagerDialog extends ComfyDialog { // Update button state in case there are active downloads this.updateDownloadAllButtonState(); + // Always default to Missing Models tab when opening dialog + if (this.activeTab !== 'missing') { + // Manually switch tab without loading + this.activeTab = 'missing'; + this.missingTab.classList.add('ml-tab-active'); + this.loadedTab.classList.remove('ml-tab-active'); + this.downloadAllButton.style.display = 'inline-flex'; + this.autoResolveButton.style.display = 'inline-flex'; + } + // Use provided workflow or fetch from current graph await this.loadWorkflowData(workflow); } @@ -1242,6 +1257,12 @@ class LinkerManagerDialog extends ComfyDialog { `; html += '
'; + // Skip rendering if active tab is not "missing" + if (this.activeTab !== 'missing') { + container.innerHTML = ''; + return; + } + // Sort missing models: those with 100% confidence matches first, then others const sortedMissingModels = missingModels.sort((a, b) => { const aMatches = a.matches || [];