From dc0524b72cd90d5a68bccb81bf41cdd97ba2a4c1 Mon Sep 17 00:00:00 2001 From: Dariusz L Date: Wed, 5 Aug 2026 14:37:31 +0200 Subject: [PATCH] refactor: reuse shared frontend filename helper --- tests/test_node_context_menu.mjs | 14 ++++++++++++++ web/resolver/node_context_menu.js | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/test_node_context_menu.mjs b/tests/test_node_context_menu.mjs index c13dfb8..b1eab3f 100644 --- a/tests/test_node_context_menu.mjs +++ b/tests/test_node_context_menu.mjs @@ -175,3 +175,17 @@ test('node context conversion prefers resolved paths and derives safe display fi assert.equal(context.relative_path, model.relative_path); assert.equal(context.context_scope, 'local_model'); }); + +test('node context conversion derives filenames from Windows paths and fallback paths', () => { + const context = toResolverContextModel({ + original_path: 'folder\\nested\\model.gguf', + }); + const fallbackContext = toResolverContextModel({ + resolved_path: 'C:\\models\\fallback.safetensors', + }); + + assert.equal(context.filename, 'model.gguf'); + assert.equal(context.name, 'model.gguf'); + assert.equal(fallbackContext.filename, 'fallback.safetensors'); + assert.equal(fallbackContext.name, 'fallback.safetensors'); +}); diff --git a/web/resolver/node_context_menu.js b/web/resolver/node_context_menu.js index d3ac3ec..2ef1097 100644 --- a/web/resolver/node_context_menu.js +++ b/web/resolver/node_context_menu.js @@ -1,3 +1,5 @@ +import { getFilenameFromPath } from './utils/html_utils.js'; + function normalizeIdentity(value) { return String(value ?? '').trim().replaceAll('\\', '/').toLowerCase(); } @@ -15,7 +17,7 @@ function getResolvedModelFilename(model = {}) { || getResolvedModelPath(model) || 'Resolved model' ); - return source.split(/[\\/]/).pop() || source; + return getFilenameFromPath(source) || source; } function getResolvedModelCategoryLabel(model = {}, formatCategory = null) {