Skip to content

Commit 8c205b2

Browse files
author
FolderView Plus Test
committed
Fix docker update status refresh after update all
1 parent c5e6309 commit 8c205b2

6 files changed

Lines changed: 15 additions & 4 deletions

File tree

archive/folderview.plus-2026.04.15.07.txz.sha256

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0b15d18d071719c29e26c63a33b04b314cf021a4b443d317454e8273a0ee8c2c folderview.plus-2026.04.15.38.txz

folderview.plus.plg

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.04.15.37">
10-
<!ENTITY md5 "d0e1ca1ae825947e20a59bcd5b475b5e">
9+
<!ENTITY version "2026.04.15.38">
10+
<!ENTITY md5 "69c566dbe8620a68d342a0c94dd62440">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.04.15.38
17+
- Fix: Preserve Docker update status across post-update runtime refreshes so folder rows clear after Update All.
18+
19+
1620
###2026.04.15.37
1721
- Fix: Docker runtime rows, folder state, and container interactions.
1822
- UX: Settings workspace layout, section flows, and table behavior.

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3384,7 +3384,7 @@ const createFolders = async () => {
33843384
let folders = JSON.parse(prom[0]);
33853385
let unraidOrder = Object.values(JSON.parse(prom[1]));
33863386
const containersStateInfo = parseJsonPayloadSafe(prom[2]);
3387-
let containersInfo = normalizeDockerRuntimeInfoMap(containersStateInfo);
3387+
let containersInfo = normalizeDockerRuntimeInfoMap(containersStateInfo, dockerRuntimeInfoByName);
33883388
dockerRuntimeInfoByName = (containersInfo && typeof containersInfo === 'object' && !Array.isArray(containersInfo))
33893389
? { ...containersInfo }
33903390
: {};

tests/docker-update-status-regression.test.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,13 @@ test('deferred docker runtime hydration refreshes visible folder state in place
115115
assert.doesNotMatch(dockerJs, /const queueDockerDeferredRuntimeInfoHydration = \(generation,\s*stateSignature,\s*fullInfoPromise = null\) => \{[\s\S]*?const nextWebuiSignature/);
116116
});
117117

118+
test('docker bootstrap render preserves prior runtime update flags when partial state payloads omit Updated', () => {
119+
assert.match(
120+
dockerJs,
121+
/const containersStateInfo = parseJsonPayloadSafe\(prom\[2\]\);\s*let containersInfo = normalizeDockerRuntimeInfoMap\(containersStateInfo,\s*dockerRuntimeInfoByName\);/
122+
);
123+
});
124+
118125
test('folder update-column renderer is reused across initial and synced folder state', () => {
119126
assert.match(dockerJs, /const renderFolderUpdateColumn = \(id,\s*\$updateColumn,\s*managerTypes,\s*upToDate,\s*managed\) =>/);
120127
assert.match(dockerJs, /hierarchyApi\.renderFolderUpdateColumn\(id,\s*\$updateColumn,\s*managerTypes,\s*upToDate,\s*managed\);/);

0 commit comments

Comments
 (0)