Fix: Prevent docker installs / updates from blocking the GUI#2626
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThe patch releases the PHP session before running container-creation logic, adds a server-side JS helper to toggle a fullscreen UI blocker in the parent document, and includes a new stylesheet for that blocker used during create/update flows. Changes
Sequence Diagram(s)sequenceDiagram
participant Browser as Browser Tab
participant Parent as Parent Window (UI)
participant Server as PHP Server (CreateDocker)
Browser->>Server: POST create/update request
Server->>Server: session_write_close()
Server->>Parent: emit dockerUIBlockerScript(enable=true)
Parent-->>Parent: inject `.docker-install-blocker` overlay (cursor wait)
Server->>Server: perform image pull / execCommand / update stream
alt image pull fails
Server->>Parent: emit dockerUIBlockerScript(enable=false)
Parent-->>Parent: remove overlay
else success / completion
Server->>Parent: emit dockerUIBlockerScript(enable=false)
Parent-->>Parent: remove overlay
end
Server->>Browser: respond with completion/log stream
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
🔧 PR Test Plugin AvailableA test plugin has been generated for this PR that includes the modified files. Version: 📥 Installation Instructions:Install via Unraid Web UI:
Alternative: Direct Download
|
Allows other browser tabs to be able to access the WebGUI while an install / update of a container is in progress. AddContainer.page handles that. The code within CreateContainer.php preserves existing behaviour by blocking all clicks / navigations on the tab installing the container until after its finished, as navigating away from the page while the install is in progress does not abort the installation.
Summary by CodeRabbit
New Features
Bug Fixes