Skip to content

Commit 4b7cdbd

Browse files
author
FolderView Plus Test
committed
Fix Docker page-view persistence for isolated views
1 parent 1978dd0 commit 4b7cdbd

6 files changed

Lines changed: 12 additions & 4 deletions

File tree

archive/folderview.plus-2026.04.15.05.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+
a8fc6ac0d9c74a74ed149956581eff4d54df97e04d66e4f8ea4e02d5b82ed806 folderview.plus-2026.04.15.36.txz

folderview.plus.plg

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@
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.35">
10-
<!ENTITY md5 "d220178d24c1a9917db8d95743be7b84">
9+
<!ENTITY version "2026.04.15.36">
10+
<!ENTITY md5 "685eec33b37371215535beca4dabc274">
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.36
17+
- UX: Settings workspace layout, section flows, and table behavior.
18+
- Fix: Server endpoints, runtime payloads, and persistence or validation paths.
19+
20+
1621
###2026.04.15.35
1722
- Fix: Docker support-bundle snapshots, trace storage caps, and rendered-state diagnostics.
1823
- Fix: Docker runtime rows, folder state, and container interactions.

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/lib.prefs.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ function normalizeThemeCompatibilityMode($value): string {
243243

244244
function normalizeRuntimePageViewMode($value): string {
245245
$normalized = strtolower(trim((string)$value));
246-
if (in_array($normalized, ['folderview', 'host', 'command'], true)) {
246+
if (in_array($normalized, ['folderview', 'host', 'command', 'service-map', 'tree-explorer'], true)) {
247247
return $normalized;
248248
}
249249
return 'folderview';

tests/settings-bindings.test.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const pagePath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugi
88
const importScriptPath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.import.js');
99
const backupPath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/backup.php');
1010
const libPath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/lib.php');
11+
const libPrefsPath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/lib.prefs.php');
1112
const settingsCssPath = path.join(repoRoot, 'src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/folderviewplus.css');
1213

1314
const page = fs.readFileSync(pagePath, 'utf8');
@@ -37,6 +38,7 @@ const importScript = fs.readFileSync(importScriptPath, 'utf8');
3738
const runtimeScript = `${script}\n${importScript}`;
3839
const backupPhp = fs.readFileSync(backupPath, 'utf8');
3940
const libPhp = fs.readFileSync(libPath, 'utf8');
41+
const libPrefsPhp = fs.readFileSync(libPrefsPath, 'utf8');
4042
const settingsCss = fs.readFileSync(settingsCssPath, 'utf8');
4143

4244
test('settings page onclick handlers are exported on window', () => {
@@ -148,6 +150,7 @@ test('settings page exposes theme fallback controls and runtime self-heal action
148150
assert.match(script, /else if \(key === 'pageViewMode'\) \{/);
149151
assert.match(script, /catch \(error\) \{\s*renderVisibilityControls\(type\);[\s\S]*showError\('Visibility preference save failed', error\);/);
150152
assert.match(script, /else if \(key === 'themeCompatibilityMode'\) \{/);
153+
assert.match(libPrefsPhp, /function normalizeRuntimePageViewMode\(\$value\): string \{[\s\S]*\['folderview', 'host', 'command', 'service-map', 'tree-explorer'\]/);
151154
});
152155

153156
test('backup endpoint supports scheduler and rollback actions', () => {

0 commit comments

Comments
 (0)