fix: backport shared default docker icon fix to 7.3 - #2708
Conversation
…n-less container Containers with no template icon get /plugins/dynamix.docker.manager/images/question.png recorded as their icon in the webui-info registry (DockerClient.php L346). removeContainer() then unlinks that recorded path when cache flags are set, deleting the shared fallback from the docroot for the whole system until the next reboot. CA Docker Auto-Update triggers this whenever it updates an icon-less container. Also quote and guard the container-list onerror fallback (this.onerror=null) so a missing fallback degrades to one failed request per image instead of an endless 404 retry loop. Fixes unraid#2691 (cherry picked from commit 6f28eb6)
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 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
|
Summary
Backport of #2693 (chodeus (@chodeus), fixes #2691) into the
7.3release branch for the 7.3.3 patch release. Clean cherry-pick, no conflicts —7.3andmasterwere identical at these two files.Docker manager records the shared fallback icon
/plugins/dynamix.docker.manager/images/question.pngfor icon-less containers, thenremoveContainer()unlinks it whenever such a container is removed or updated (e.g. via CA Docker Auto-Update). Once the file is gone, every icon-less container'sonerrorfallback re-requests it in a tight loop until the next reboot — this is what's generating the nginx log spam reported in the forums and increasingly on Discord.Changes
Identical to #2693:
DockerClient.php(removeContainer()) — skip the icon unlink when the recorded icon is the shared default. Per-container cached icons (<name>-icon.png) are still cleaned up as before.DockerContainers.php— quote theonerrorattribute and guard it withthis.onerror=null, so a missing fallback costs one failed request per image instead of an endless 404 retry loop.Testing
php -lclean on both changed files.6f28eb6) with no conflicts; diff is byte-identical to the original PR.Related to OS-628