This is very weird but I previously had AW working on my macOS Catalina. I disconnected from my iCloud drive and lost all my files from my desktop and it’s impossible to download whole folders from iCloud Drive VERY STUPID APPLE!!!.
I cloned the submodules again from the AW GitHub and did everything I previously did to get AW working on my system:
- Create a virtual environment
- upgrade pip with ‘pip install --upgrade pip’
- run ‘pip install poetry’
- install rust outside of virtual environment with ‘curl --proto ‘=https’ --tlsv1.2 sSf https://sh.rustup.rs | sh’
- change to nightly build with ‘rustup default nightly’
- run ‘make build DEV=true’ to build activity watch
- You can then start it with aw-qt
I will say I have tried building this like 200 times so idk if that accounts for something but I’m in a dead lock now and I’m actually using this for a class.
When I run make build DEV=true it seems to build fine although I get some warning messages like:
warning: Prop "windowBucketId" should define at least its type (vue/require-prop-types) at src/visualizations/SunburstClock.vue:114:34:
112 | export default {
113 | name: "aw-sunburst-clock",
> 114 | props: ['date', 'afkBucketId', 'windowBucketId'],
| ^
115 |
116 | data: () => {
117 | return {
3 warnings found.
Module Warning (from ./node_modules/eslint-loader/index.js):
warning: Prop "periodusage_arr" should define at least its type (vue/require-prop-types) at src/visualizations/PeriodUsage.vue:24:11:
22 | export default {
23 | name: "aw-periodusage",
> 24 | props: ['periodusage_arr', 'link_prefix'],
| ^
25 | watch: {
26 | "periodusage_arr": function() {
27 | periodusage.update(this.$el, this.periodusage_arr, this.link_prefix);
warning: Prop "link_prefix" should define at least its type (vue/require-prop-types) at src/visualizations/PeriodUsage.vue:24:30:
22 | export default {
23 | name: "aw-periodusage",
> 24 | props: ['periodusage_arr', 'link_prefix'],
| ^
25 | watch: {
26 | "periodusage_arr": function() {
27 | periodusage.update(this.$el, this.periodusage_arr, this.link_prefix);
2 warnings found.
You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.
warning in ./src/mixins/asyncErrorCaptured.js
Module Warning (from ./node_modules/thread-loader/dist/cjs.js):
/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-server/aw-webui/src/mixins/asyncErrorCaptured.js
18:11 warning Unexpected aliasing of 'this' to local variable @typescript-eslint/no-this-alias
20:10 warning Unexpected var, use let or const instead no-var
21:7 warning Unexpected var, use let or const instead no-var
24:47 warning Use the rest parameters instead of 'arguments' prefer-rest-params
⠙ Building for production...Starting type checking service...
Using 1 worker with 2048MB memory limit
⠦ Building for production...Browserslist: caniuse-lite is outdated. Please run next command `npm update`
⠧ Building for production...
WARNING Compiled with 2 warnings 2:07:52 AM
warning
asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
js/chunk-963d1074.2e592250.js (429 KiB)
js/chunk-vendors.c93cbf59.js (699 KiB)
warning
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
index (937 KiB)
css/chunk-vendors.0bec1faa.css
js/chunk-vendors.c93cbf59.js
css/index.d3e85b6d.css
js/index.d82706e6.js
✖ 4 problems (0 errors, 4 warnings)
—After building, I get this traceback error when I run aw-qt and I’m not sure why either.
(venv) rafeeqshodeinde@rafeeqs-mbp repos % aw-qt
2020-02-28 01:53:12 [INFO ]: Starting module aw-server (aw_qt.manager:49)
2020-02-28 01:53:12 [INFO ]: Macos: Disable dock icon (aw_qt.manager:67)
2020-02-28 01:53:12 [INFO ]: Starting module aw-watcher-window (aw_qt.manager:49)
2020-02-28 01:53:12 [INFO ]: Macos: Disable dock icon (aw_qt.manager:67)
Traceback (most recent call last):
File "/Users/rafeeqshodeinde/Desktop/repos/venv/bin/aw-qt", line 11, in <module>
load_entry_point('aw-qt', 'console_scripts', 'aw-qt')()
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-qt/aw_qt/main.py", line 19, in main
_manager.autostart(args.autostart_modules)
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-qt/aw_qt/manager.py", line 162, in autostart
self.start(module_name)
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-qt/aw_qt/manager.py", line 149, in start
self.modules[module_name].start()
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-qt/aw_qt/manager.py", line 73, in start
self._process = subprocess.Popen(exec_cmd, universal_newlines=True, startupinfo=startupinfo)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aw-watcher-window'
(venv) rafeeqshodeinde@rafeeqs-mbp repos % WARNING:root:Could not import pymongo, not available as a datastore backend
2020-02-28 01:53:13 [INFO ]: Using storage method: peewee (aw_server.main:26)
2020-02-28 01:53:13 [INFO ]: Starting up... (aw_server.main:31)
2020-02-28 01:53:13 [INFO ]: Using database file: /Users/rafeeqshodeinde/Library/Application Support/activitywatch/aw-server/peewee-sqlite.v2.db (aw_datastore.storages.peewee:90)
* Serving Flask app "aw-server" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
2020-02-28 01:53:13 [ERROR]: [Errno 48] Address already in use (aw_server.server:93)
Traceback (most recent call last):
File "/Users/rafeeqshodeinde/Desktop/repos/venv/bin/aw-server", line 11, in <module>
load_entry_point('aw-server', 'console_scripts', 'aw-server')()
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-server/aw_server/main.py", line 32, in main
_start(host=settings.host, port=settings.port,
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-server/aw_server/server.py", line 94, in _start
raise e
File "/Users/rafeeqshodeinde/Desktop/repos/activitywatch/aw-server/aw_server/server.py", line 91, in _start
app.run(debug=testing, host=host, port=port, request_handler=FlaskLogHandler, use_reloader=False, threaded=False)
File "/Users/rafeeqshodeinde/Desktop/repos/venv/lib/python3.8/site-packages/flask/app.py", line 990, in run
run_simple(host, port, self, **options)
File "/Users/rafeeqshodeinde/Desktop/repos/venv/lib/python3.8/site-packages/werkzeug/serving.py", line 1012, in run_simple
inner()
File "/Users/rafeeqshodeinde/Desktop/repos/venv/lib/python3.8/site-packages/werkzeug/serving.py", line 956, in inner
srv = make_server(
File "/Users/rafeeqshodeinde/Desktop/repos/venv/lib/python3.8/site-packages/werkzeug/serving.py", line 822, in make_server
return BaseWSGIServer(
File "/Users/rafeeqshodeinde/Desktop/repos/venv/lib/python3.8/site-packages/werkzeug/serving.py", line 701, in __init__
HTTPServer.__init__(self, server_address, handler)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/socketserver.py", line 452, in __init__
self.server_bind()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/server.py", line 137, in server_bind
socketserver.TCPServer.server_bind(self)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 48] Address already in use
PLEASE HELP ME.