From 68b10d365a72d656c83a1c61624dcbd245fff5db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20K=C3=B6hler?= Date: Mon, 6 Apr 2026 10:23:37 -0300 Subject: [PATCH] fix(defaultRouteInit): pass sorted display sets to hanging protocol for deterministic viewport order (#5933) fix: pass sorted display sets to hanging protocol for deterministic viewport order The `applyHangingProtocol` function already sorts display sets by modality priority and series number into `sortedDisplaySets`, but the unsorted `displaySets` array was being passed to `hangingProtocolService.run()`. This caused non-deterministic viewport ordering across page loads because `displaySetService.getActiveDisplaySets()` returns display sets in creation order, which depends on asynchronous network responses. Made-with: Cursor --- platform/app/src/routes/Mode/defaultRouteInit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/app/src/routes/Mode/defaultRouteInit.ts b/platform/app/src/routes/Mode/defaultRouteInit.ts index b7aeb844f..723c48231 100644 --- a/platform/app/src/routes/Mode/defaultRouteInit.ts +++ b/platform/app/src/routes/Mode/defaultRouteInit.ts @@ -49,7 +49,7 @@ export async function defaultRouteInit( // run the hanging protocol matching on the displaySets with the predefined // hanging protocol in the mode configuration - hangingProtocolService.run({ studies, activeStudy, displaySets }, hangingProtocolId, { + hangingProtocolService.run({ studies, activeStudy, displaySets: sortedDisplaySets }, hangingProtocolId, { stageIndex, }); }