Replies: 4 comments
|
I was able to work around the issue for now by creating a single top-level group and nesting everything under it: I did notice something interesting though as my Upcoming group is defined in services.yaml. Despite having it in the layout in the second column, it was being placed in the first column. That appears to be because groups defined under layout in settings.yaml are simply added to what was loaded from services.yaml. So anything defined in services will already exist before adding from layout. I was able to work around that by adding the groups to services.yaml. I originally just tried putting "Streaming", but it didn't work until I also put "Library Management": |
|
I have the same issue. As soon as there are 3 services in top level group, the services gonna disappear |
|
This discussion has been automatically closed due to inactivity. See our contributing guidelines for more details. |
|
This discussion has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion for related concerns. See our contributing guidelines for more details. |
Uh oh!
There was an error while loading. Please reload this page.
Description
I'm running version 1.4.5 on Docker and use automatic discovery for most of my services. I'm trying to use the layout below in my settings.yaml and finding that the services in my Streaming group are not being returned by the API. If I move Library Management to no longer be nested, the services are returned.
However this problem is not impacting the Downloads group and it is returning the services as expected.
homepage version
v1.4.5
Installation method
Docker
Configuration
Container Logs
No response
Browser Logs
No response
Troubleshooting
I looked through the API code and noticed something that may be the problem. In
ensureParentGroupExists, it overwrites the index ofsortedGroupswith the group fromconfiguredGroups.When building the response, if a group is child group, it falls to a section that merges the group to
configuredServicesand then callsensureParentGroupExists(usingconfiguredServicesas the argument forconfiguredGroups). But top-level groups defined in the layout are simply added to thesortedGroupsarray and never merged intoconfiguredServices.But why does this only impact one of my groups and not the other? It appears that this bug will only occur if a nested group comes after the top-level group when iterating
mergedGroupsNames. Otherwise it will work correctly as the nested group will be found inconfiguredServiceswhen building the newmergedGroupof the top-level group, which then replaces the previous entry.So this issue will only potentially occur depending on the order services returned from Docker (and also Kubernetes for that matter). Configured services through the yaml shouldn't run into this issue since they would exist in
configuredServices. But based on howmergedServiceNamesis created, any service definition in the yaml using a nested group would likely always cause this issue if other services came from those other sources.I think I see a couple ways that this could be fixed - in
ensureParentGroupExists, if an entry already exists for that index insortedGroup, don't replace it. Another way would be to callmergeSubgroupswhen a group is defined at the top-level of the layout.All reactions