==== Tech Notes ====
Connects to org.freedesktop.NetworkManager over DBus to determine
connectivity status.
==== Environment Notes ====
Adds dbus-next Python package as a requirement
This replaces save_*_path with usage of the xdg_*_home when handling
config files. This means the config folders will not be created unless
actually written to.
The check for whether a directory needs to be created is handled behind
a lock to avoid race conditions
* Check if GUI is connected rather than maintain list of platforms
There are already many Mycroft platforms that have GUIs
and this will only grow. We want to know if the device
has a GUI connected rather than if it is in a pre-defined
list of platforms.
* Create a mock GUI with a settable connected attribute
PR #2879 updated the websocket-client and changed function
signatures to account for API changes in that package. These
were falsely changed as the GUI bus does not use the
websocket-client.
Consistency would be good however modifying the protocols
would require significant work. For now we have two slightly
different bus interfaces.
* Shellcheck and update mycroft-config
* Shellcheck and update mycroft-pip
* Shellcheck and update mycroft-cli-client
* Shellcheck and update mycroft-help
* Shellcheck and update mycroft-listen
* Shellcheck and update mycroft-mic-test
* Shellcheck and update mycroft-msk
* Shellcheck and update mycroft-msm
* Shellcheck and update mycroft-say-to
* Shellcheck and update mycroft-skill-testrunner
* Shellcheck and update mycroft-speak
* Shellcheck and update mycroft-start
* Shellcheck and update mycroft-stop
* Add shellcheck step to github actions
This runs most of the shellcheck tests. The excludes are:
- SC1091: Avoids errors when shellcheck can't find sourced file
- SC2034: Unused variables, for example colors that aren't used yet
- SC2012: use of ls, from what I can see in our case this is fine (wc -l)
The version is locked to latest master as of November 2 2021
* [log_format] Add an option to change the log format
Hacing an option to change the log format could be useful when logs
are shipped into an aggregator such as Elasticsearch.
The current format is very hard to parse.
* [log_format] Set default Formatter
Because mycroft.configuration.Configuration() class import LOG class,
a default Formatter have to be defined before import the
mycroft.configuration.Configuration() class.