Skip to content

MSM messagebus notifications; Skill Settings metadata auto-update

Compare
Choose a tag to compare
@aatchison aatchison released this 18 Oct 18:58
· 3174 commits to dev since this release

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)