We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
mycroft "devices" web UI doesn't show core version

Version/setup same as MycroftAI/mycroft-core#2523 2523

## Try to provide steps that we can use to replicate the Issue

Hit up https://account.mycroft.ai/devices
![Selection_039](https://user-images.githubusercontent.com/6778269/78091868-20c38b80-739c-11ea-8934-e592838e8ab3.png)

## Provide log files or other output to help us see the error

N/A TBD (can help investigate let me know how) per the ref'd ticket the "self support" method didn't work

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `mycroft/version/__init__.py`
Content:
```
1 # Copyright 2017 Mycroft AI Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 #
15 import json
16 
17 from genericpath import exists, isfile
18 from os.path import join, expanduser
19 
20 from mycroft.configuration import Configuration
21 from mycroft.util.log import LOG
22 
23 
24 # The following lines are replaced during the release process.
25 # START_VERSION_BLOCK
26 CORE_VERSION_MAJOR = 20
27 CORE_VERSION_MINOR = 2
28 CORE_VERSION_BUILD = 1
29 # END_VERSION_BLOCK
30 
31 CORE_VERSION_TUPLE = (CORE_VERSION_MAJOR,
32                       CORE_VERSION_MINOR,
33                       CORE_VERSION_BUILD)
34 CORE_VERSION_STR = '.'.join(map(str, CORE_VERSION_TUPLE))
35 
36 
37 class VersionManager:
38     @staticmethod
39     def get():
40         data_dir = expanduser(Configuration.get()['data_dir'])
41         version_file = join(data_dir, 'version.json')
42         if exists(version_file) and isfile(version_file):
43             try:
44                 with open(version_file) as f:
45                     return json.load(f)
46             except Exception:
47                 LOG.error("Failed to load version from '%s'" % version_file)
48         return {"coreVersion": None, "enclosureVersion": None}
49 
50 
51 def check_version(version_string):
52     """
53         Check if current version is equal or higher than the
54         version string provided to the function
55 
56         Args:
57             version_string (string): version string ('Major.Minor.Build')
58     """
59     version_tuple = tuple(map(int, version_string.split('.')))
60     return CORE_VERSION_TUPLE >= version_tuple
61
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/mycroft/version/__init__.py b/mycroft/version/__init__.py
--- a/mycroft/version/__init__.py
+++ b/mycroft/version/__init__.py
@@ -45,7 +45,7 @@
                     return json.load(f)
             except Exception:
                 LOG.error("Failed to load version from '%s'" % version_file)
-        return {"coreVersion": None, "enclosureVersion": None}
+        return {"coreVersion": CORE_VERSION_STR, "enclosureVersion": None}
 
 
 def check_version(version_string):

{"golden_diff": "diff --git a/mycroft/version/__init__.py b/mycroft/version/__init__.py\n--- a/mycroft/version/__init__.py\n+++ b/mycroft/version/__init__.py\n@@ -45,7 +45,7 @@\n                     return json.load(f)\n             except Exception:\n                 LOG.error(\"Failed to load version from '%s'\" % version_file)\n-        return {\"coreVersion\": None, \"enclosureVersion\": None}\n+        return {\"coreVersion\": CORE_VERSION_STR, \"enclosureVersion\": None}\n \n \n def check_version(version_string):\n", "issue": "mycroft \"devices\" web UI doesn't show core version\n\r\nVersion/setup same as MycroftAI/mycroft-core#2523 2523\r\n\r\n## Try to provide steps that we can use to replicate the Issue\r\n\r\nHit up https://account.mycroft.ai/devices\r\n![Selection_039](https://user-images.githubusercontent.com/6778269/78091868-20c38b80-739c-11ea-8934-e592838e8ab3.png)\r\n\r\n## Provide log files or other output to help us see the error\r\n\r\nN/A TBD (can help investigate let me know how) per the ref'd ticket the \"self support\" method didn't work\n", "before_files": [{"content": "# Copyright 2017 Mycroft AI Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nimport json\n\nfrom genericpath import exists, isfile\nfrom os.path import join, expanduser\n\nfrom mycroft.configuration import Configuration\nfrom mycroft.util.log import LOG\n\n\n# The following lines are replaced during the release process.\n# START_VERSION_BLOCK\nCORE_VERSION_MAJOR = 20\nCORE_VERSION_MINOR = 2\nCORE_VERSION_BUILD = 1\n# END_VERSION_BLOCK\n\nCORE_VERSION_TUPLE = (CORE_VERSION_MAJOR,\n                      CORE_VERSION_MINOR,\n                      CORE_VERSION_BUILD)\nCORE_VERSION_STR = '.'.join(map(str, CORE_VERSION_TUPLE))\n\n\nclass VersionManager:\n    @staticmethod\n    def get():\n        data_dir = expanduser(Configuration.get()['data_dir'])\n        version_file = join(data_dir, 'version.json')\n        if exists(version_file) and isfile(version_file):\n            try:\n                with open(version_file) as f:\n                    return json.load(f)\n            except Exception:\n                LOG.error(\"Failed to load version from '%s'\" % version_file)\n        return {\"coreVersion\": None, \"enclosureVersion\": None}\n\n\ndef check_version(version_string):\n    \"\"\"\n        Check if current version is equal or higher than the\n        version string provided to the function\n\n        Args:\n            version_string (string): version string ('Major.Minor.Build')\n    \"\"\"\n    version_tuple = tuple(map(int, version_string.split('.')))\n    return CORE_VERSION_TUPLE >= version_tuple\n", "path": "mycroft/version/__init__.py"}], "after_files": [{"content": "# Copyright 2017 Mycroft AI Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nimport json\n\nfrom genericpath import exists, isfile\nfrom os.path import join, expanduser\n\nfrom mycroft.configuration import Configuration\nfrom mycroft.util.log import LOG\n\n\n# The following lines are replaced during the release process.\n# START_VERSION_BLOCK\nCORE_VERSION_MAJOR = 20\nCORE_VERSION_MINOR = 2\nCORE_VERSION_BUILD = 1\n# END_VERSION_BLOCK\n\nCORE_VERSION_TUPLE = (CORE_VERSION_MAJOR,\n                      CORE_VERSION_MINOR,\n                      CORE_VERSION_BUILD)\nCORE_VERSION_STR = '.'.join(map(str, CORE_VERSION_TUPLE))\n\n\nclass VersionManager:\n    @staticmethod\n    def get():\n        data_dir = expanduser(Configuration.get()['data_dir'])\n        version_file = join(data_dir, 'version.json')\n        if exists(version_file) and isfile(version_file):\n            try:\n                with open(version_file) as f:\n                    return json.load(f)\n            except Exception:\n                LOG.error(\"Failed to load version from '%s'\" % version_file)\n        return {\"coreVersion\": CORE_VERSION_STR, \"enclosureVersion\": None}\n\n\ndef check_version(version_string):\n    \"\"\"\n        Check if current version is equal or higher than the\n        version string provided to the function\n\n        Args:\n            version_string (string): version string ('Major.Minor.Build')\n    \"\"\"\n    version_tuple = tuple(map(int, version_string.split('.')))\n    return CORE_VERSION_TUPLE >= version_tuple\n", "path": "mycroft/version/__init__.py"}]}