feat: preserve Missing Models browser geometry during cached refresh

This commit is contained in:
Dariusz L
2026-07-28 19:03:08 +02:00
parent 48cc5c9050
commit 10a0327328
2 changed files with 30 additions and 1 deletions
@@ -1933,6 +1933,31 @@ test('content-preserving Missing Models refresh patches the browser instead of c
);
});
test('cached Missing Models refresh preserves browser geometry after linking a local match', () => {
const refreshMissingModelsBrowserFromCache = eval(
`(${extractMethod(missingBrowserMethodsSource, 'refreshMissingModelsBrowserFromCache')})`
);
const contentElement = {};
const cachedAnalysisData = { missing_models: [{ filename: 'model.safetensors' }] };
let renderCall = null;
const dialog = {
activeTab: 'missing',
contentElement,
cachedAnalysisData,
displayMissingModels(...args) {
renderCall = args;
},
};
refreshMissingModelsBrowserFromCache.call(dialog);
assert.deepEqual(renderCall, [
contentElement,
cachedAnalysisData,
{ preserveBrowser: true },
]);
});
test('node widget changes request a content-preserving Missing Models refresh', async () => {
const log = { debug() {} };
const refreshForActiveWorkflowChange = eval(
@@ -594,7 +594,11 @@ export const missingBrowserMethods = {
refreshMissingModelsBrowserFromCache() {
if (this.activeTab !== 'missing' || !this.contentElement || !this.cachedAnalysisData) return;
this.displayMissingModels(this.contentElement, this.cachedAnalysisData);
this.displayMissingModels(
this.contentElement,
this.cachedAnalysisData,
{ preserveBrowser: true }
);
},
getMissingListScrollSnapshot(container) {