MSM messagebus notifications; Skill Settings metadata auto-update
This release is mainly minor bugfixes for the Alpha release, covering all the major supported platforms (Mark 1, Picroft, Debian/Ubuntu).
Skill Management rework and MSM notifications (#1152, #1155, #1161)
The Mycroft Skill Manager (MSM) and internal skill management were significantly reworked to interact cleanly. Previously the automatic reloading of skills could be triggered and break during the installation of the PIP dependencies for a new skill, requiring a reboot to fix.
MSM now posts the following to the messagebus during the skill install/update/removal process:
msm.updating
msm.installing
msm.install.succeeded { "skill" : name }
msm.install.failed { "skill" : name, "error" : code }
msm.installed
msm.updated
msm.removing
msm.remove.succeeded { "skill" : name }
msm.remove.failed { "skill" : name, "error" : code }
msm.removed
An update can be forced by posting skillmanager.update
to the messagebus.
This also adds a module method for posting messages from the command line. It can be invoked via:
python -m mycroft.messagebus.send mycroft.wifi.start
python -m mycroft.messagebus.send speak '{"utterance":"hello"}'
Skill Settings metadata auto-update (#1151)
Recent builds added the ability for a skill to describe a user interface, allowing the skill user to enter options and preferences via the home.mycroft.ai web interface. This has been enhanced to automatically update the web interface when a skill writer modifies the settingsmeta.json file, such as during development.
FIXES
- ISSUE #967 - Fix the "rolling eyes syndrome" where a Mark 1 never appears ready after the boot sequence completes. (#1160)
- Skill reloading could be triggered unexpectedly in certain cases (#1162)
- Requests to stop speaking are handled more gracefully and effectively (#1142)
- Made new LOG mechanism compatible with more Python IDEs (#1120)
- Corrected typos in the README. Thanks @apachelogger! (#1126)
Misc
- Support for https sources in the Audio Service. Thanks @roadriverrail! (#1169)
- Fixed microphone listener reads when no sound chunks are available. (#1159. #1165, #1166)
- Protection for None values in settings (#1154)
- Connected device core and enclosure version information is sent to backend when connecting (#1147)
- DuckDuckGo added as a default fallback handler (#1129)
- Updated to Padatious 0.3.4 -- support for empty containers (#1132, #1133)