When we updated Horde from version 5.7.4 to 5.8.0, we found that the configuration for some streams stopped loading correctly, which resulted in them not displaying properly in the dashboard. Some tabs and templates were missing and the scheduler stopped working for them. Our configuration is set up so that we have multiple Perforce streams configured for a single project, and some tabs and templates that are shared across multiple streams are placed in separate configuration files, which are then included in the configuration files for each individual stream.
It looks something like this:
example.project.json
...
"streams":
[
{
"id": "example-main",
"path": "//Horde/Config/example-main.stream.json"
},
{
"id": "example-release",
"path": "//Horde/Config/example-release.stream.json"
},
...
],
...
example-main.stream.json
...
"include":
[
{
"path": "//Horde/Config/example.common.json"
},
...
],
...
example-release.stream.json
...
"include":
[
{
"path": "//Horde/Config/example.common.json"
},
...
],
...
In this scenario everything defined (tabs, templates etc.) in the example.common.json will work only for the example-main stream and won’t work for the example-release stream.
It turned out that the problem occurs when multiple streams include a configuration file with the same name. When we changed our configuration so that the streams no longer included configuration files with the same name, everything started working, but unfortunately we ended up with a terrible mess in our configuration due to the duplication of configuration fragments across streams.
This surprised us because before the update (in version 5.7.4), this configuration didn’t cause any problems. We also didn’t find any errors or even warnings in the server logs. Therefore, we’d like to ask whether this behavior is caused by a bug or is intended—though that would mean that including configuration files in the stream configuration no longer makes sense.
[Attachment Removed]