We’d like to provide an update on some recently issues with the NPR News Skill. This Skill is the default News Skill for all Mycroft Devices, and allows you to listen to recent news updates. NPR is the default News source, but other sources are configurable at https://home.mycroft.ai.
Beginning approximately 10 days ago, several users began to report one of two symptoms:
That the Utterance Play the News
was not being matched to the News Skill Intent, and instead was handled by other Skills
This symptom was the result of a change to mycroft-core
to implement the CommonPlay
framework. Read more about the CommonPlay framework here. To resolve this issue, you need to update your mycroft-core
. Most Devices will do this automatically, but if not, say Hey Mycroft, what version are you running
, and he will check what version he is running and prompt to update if you are not on the latest version.
That speaking Play the News
would not play the NPR News feed
This symptoms was the result of a change made by NPR to the format of their news feed. We previously used a Python package called mpg123
to handle the News URLs, and the Skill has been rearchitected to use cURL
instead. mpg123
is a command line tool. It has basic support for running streams over http
but lacks support for https
. NPR recently changed their stream URL and mpg123
could no longer retrieve the stream. To work around this, cURL is used to stream it to a filesystem FIFO, and the location of that FIFO is passed to the audioservice and mpg123
.
Intents bypassing the CommonPlay framework would not trigger the News Skill
Additionally, we identified an issue where when an Intent bypassed the CommonPlay framework - for instance with an Utterance like What are the latest news
(because it does not contain the keyword play, the Mycroft
mycroft-audio` service would fail to play the news. This has now been resolved as well.
A special thanks to all the Mycroft users who provided diagnostic information that allowed us to get to the bottom of what was happening -