From 2f8b61a4be770ee55b5fe9be8bbbf0ce5c6efe18 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 18 May 2026 13:08:32 +0100 Subject: [PATCH] Add forced remount sequence for thumbnail stabilization in viewer --- .../atlas/collection_case_view_take.html | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/atlas/templates/atlas/collection_case_view_take.html b/atlas/templates/atlas/collection_case_view_take.html index 299ae5dd..1ed27237 100644 --- a/atlas/templates/atlas/collection_case_view_take.html +++ b/atlas/templates/atlas/collection_case_view_take.html @@ -1017,6 +1017,26 @@ } panel.dataset.viewerControlsBound = '1'; + // Force a take-page-only remount sequence to test thumbnail stabilization. + if (mainViewerEl && mainViewerEl.dataset.takeForcedRemountScheduled !== '1') { + mainViewerEl.dataset.takeForcedRemountScheduled = '1'; + var forceTakeRemount = function (label) { + if (typeof window.mountDicomViewers === 'function') { + console.debug('[take-viewer] forcing dv3d remount:', label); + try { + window.mountDicomViewers(); + } catch (e) { + console.warn('[take-viewer] forced dv3d remount failed:', label, e); + } + } + }; + + // First remount shortly after controls initialize. + setTimeout(function () { forceTakeRemount('early'); }, 250); + // Second remount after initial image pipeline settles. + setTimeout(function () { forceTakeRemount('late'); }, 1600); + } + var savedH = localStorage.getItem(HEIGHT_KEY); if (savedH && !isNaN(parseInt(savedH, 10))) { container.style.height = parseInt(savedH, 10) + 'px';