Testing Branch: 2018 Release 5.15

I have started testing this branch by merging it into my dev fork which now has a couple of more changes (http-digest, initiation of attributes and altui pluginconfig variable) and so far has been working without any hickup.

Found the first problem. It seems like the new XML module is not working with the Sonos plugin.

Confirmed. The new XML parser is failing to parse the implementation XML of the sonos plugin. I reverted the loader.lua and it is working again.

Found another problem which was probably there before:
When user an interval in the scene timer, the next run does not report appropriately. It looks like it is picking os.time() as the next_run and does not appear to calculate the next due date.

I managed to fix the interval timer problem… It is in my fork and pushed to AK whenever he gets back.

It’s true that the Sonos plugin failed to load, but the problem is not with the XML parser, which is working perfectly well.

Bizarrely, the problem is caused by a Lua comment line at the end of some of the (many) actions defined in the Sonos implementation file. This plugin is the only one I’ve ever seen which does this, and whilst I had forseen and dealt with that condition in the main body of the functions tag, I had omitted to do so in for the individual actions.

A one-character change in the loader module fixes this, and the testing branch has been updated.

Thank you for fixing this! It’s a pretty amazing find too. I will test later today.

Take a look at the GitHub comment on the pull request - I don’t believe that this fix is correct.

Your assessment is correct. I made one change too many. I will revert it. Also I verified that the SONOS plugin is working fine with your updates.

OK, glad to know that Sonos is behaving.

Don’t bother to change that on GitHub… it’s bit a bit hard to wade through all the commits you made. I think in future that one pull request per issue would be much easier. Anyway, the current testing code has diverged so much from the original that we need to start again.

Next step is the digest authentication.