fix: container table improvements, console/log fixes, and client-side UI injection#28
Merged
mstrhakr merged 15 commits intomstrhakr:mainfrom Feb 10, 2026
Merged
Conversation
…status preservation, uniform columns, tag/SHA truncation - Normalize PascalCase server response (UpdateStatus, LocalSha, RemoteSha) to camelCase in loadStackContainerDetails - Preserve container-level update status during expand/collapse in updateParentStackFromContainers - Detect checking-in-progress state to avoid overwriting spinner with stale data - Replace inline table styles with CSS class-based layout (compose-ct-table) for uniform column widths - Add text-overflow ellipsis for tag column with tooltip on hover - Truncate SHA hashes to 8 characters with full SHA in tooltip (stack summary, update dialog, container detail)
- Scope readmore plugin to exclude container detail rows (.not('.stack-details-container .docker_readmore')) preventing nested wrapper accumulation on expand/collapse
- Destroy readmore before reapplying in renderContainerDetails to avoid double-application
- Fix console: use container.Shell from API (fallback /bin/sh) instead of hardcoded /bin/bash, add data-shell attribute
- Fix logs: use openTerminal('docker', name, '.log') matching Unraid's expected format instead of openTerminal('docker_logs', name)
…ies, add animation - Add table-layout:fixed to #compose_stacks with column width percentages to prevent columns shifting when expanding stack details - Remove HIDE_COMPOSE_FROM_DOCKER setting from UI (HTML, JS var, form handler) - Add missing id attribute to SHOW_COMPOSE_IN_HEADER_MENU checkbox so the compose-on-top dependency toggle works correctly - Increase dashboard row vertical padding (stack 4px->8px, container 3px->6px) - Implement animated applyListView(animate) with phased opacity+height transitions for basic/advanced toggle; instant on page load
- Add 'Hide Compose Containers from Docker Tab' setting above 'Show Dashboard Tile' Only available when 'Show Compose in Header Menu' is No (non-tabbed mode) Uses JS-based hiding by matching container names from compose stack data No patching of Unraid system files required - Fix column widths for advanced view: assign explicit percentages to all 8 columns (Stack 18%, Update 12%, Containers 10%, Uptime 12%, Description 15%, Compose 8%, Path 18%, Autostart 7%) to prevent overlap/crowding - Add toggleHideFromDocker() dependency function linked to header menu toggle
…m-docker, settings state Issues fixed: 1. Stack row condensing on expand: basic view columns now sum to 100% (was 59% because hidden advanced columns wasted width) 2. Basic/advanced toggle not working: renamed '.advanced' to '.cm-advanced' to prevent Docker tab's own advanced view toggle from overriding compose columns. View now controlled by toggling .cm-advanced-view class on table. 3. Renamed 'Show Compose Stacks Above Docker Containers' to 'Above Docker' 4. Renamed 'Hide Compose Containers from Docker Tab' to 'from Docker' 5. Hide compose from Docker not working: now reads container names from data-containers attribute on stack rows (populated by PHP at list load) instead of relying on expanded detail rows or update check results. Also simplified Docker table row selector to 'span.appname'. 6. Dependent settings (compose-on-top, hide-from-docker) now save/restore their checked state when the header menu toggle is toggled on then off.
… Docker table styling
…nsole shell, CSS loading 1. Isolate compose table from Docker's advanced view toggle by renaming class='advanced'/'basic' to 'cm-advanced'/'cm-basic' (prevents force update from appearing when toggling Docker's advanced view) 2. Center 'Containers' column text horizontally via CSS nth-child rule 3. Fix column shift on row expand by re-adding table-layout:fixed with percentage-based th widths (Stack 22%, Update 16%, Containers 8%, Uptime 10%, Description 15%, Compose 10%, Path 12%, Autostart 7%) 4. Change default console shell from /bin/bash to /bin/sh for broader container compatibility (many Alpine-based images lack bash) 5. Fix CSS not loading on initial page load by adding <link> tags directly in Compose.page and compose.manager.page, with JS fallback only if links are not already present
…s, fix LAN IP:Port alignment
- Add BackupFunctionsTest: tests for backup/restore helper functions - Add ComposeManagerMainTest: tests for main page CSS/JS structure - Add ComposeListHtmlTest: tests for compose list HTML output - Add SettingsBackupTest: tests for settings page backup/restore markup - Update README.md and docs/configuration.md with current settings - Fix logger() redeclaration between backup_functions.php and compose_util_functions.php - Use parse_plugin_cfg() instead of parse_ini_file() in backup_functions.php - Remove composer-setup.php and composer.phar from repo - Add composer setup files to .gitignore
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers a set of UI stability fixes, functional bug fixes, and architectural improvements to the container table and stack expansion experience.
Issues Resolved
table-layout: fixedfor both basic and advanced views. Columns no longer shift as different stacks are expanded..logsuffix (e.g.,/logterminal/beszel.log/instead of/logterminal/beszel/).window.open()instead of the Shadowbox/openBox iframe popup that was immediately closing.Additional Fixes
<style>block instead of an external stylesheet, eliminating the column-shift flash on page load.cm-advanced) no longer conflicts with Docker tab's own.advancedtoggle.td.updatecolumn→td.compose-updatecolumn) that caused the update-check spinner to disappear when expanding a stack.Testing