0.4.8 config backwards-incompatibility
restore-stream
changes resulted in:
[string "restore-stream.lua"]:13: attempt to index a nil value (field 'properties')
stack traceback:
[string "restore-stream.lua"]:13: in local 'chunk'
[string "sandbox.lua"]:95: in function 'sandbox'`
This looks like an issue introduced by 50287370, which doesn't properly handle missing config fields where previously it would've been able to fall back to defaults. It might be worth including an or
for properties
since out-of-date configs will be missing all arguments entirely.
It's also worth noting that the removal of route-settings-api
resulted in:
Failed to open module libwireplumber-module-route-settings-api: libwireplumber-module-route-settings-api.so: cannot open shared object file: No such file or directory
but that's at least trivial/obvious to fix manually. Still it could be worth using load_optional_module
for more modules (api ones in particular?) if it's expected that they might be deprecated and disappear in the future. Optionally, make missing api modules a warning instead since any scripts that need said api will bail out later on when they realise it's missing anyway - so there's not much point in "failing early" as part of lua config execution.
(a side-note: if apis are effectively transparent dependencies of lua scripts, does it even make sense for the user config to be responsible for loading them instead of the scripts requesting it themselves? I do get why it does, but the way it interacts with configs seems unfortunate...)