diff --git a/ansible/deploy_aw_server.yml b/ansible/deploy_aw_server.yml index 42b88fc..c88246b 100644 --- a/ansible/deploy_aw_server.yml +++ b/ansible/deploy_aw_server.yml @@ -293,6 +293,7 @@ AW_SERVER_WEBUI_DIR={{ aw_server_webui_dir }} AW_SERVER_USER={{ aw_server_user }} AW_SERVER_GROUP={{ aw_server_group }} + AW_WORKTIME_REPORT_BASE={{ aw_worktime_report_base }} XDG_DATA_HOME={{ aw_server_data_dir }}/.local/share XDG_CONFIG_HOME={{ aw_server_data_dir }}/.config diff --git a/ansible/group_vars/all.example.yml b/ansible/group_vars/all.example.yml index 2091344..9c92acf 100644 --- a/ansible/group_vars/all.example.yml +++ b/ansible/group_vars/all.example.yml @@ -8,6 +8,7 @@ aw_server_db_path: "/var/lib/activitywatch/.local/share/activitywatch/aw-server- aw_server_log_dir: "/var/log/activitywatch" aw_server_user: "activitywatch" aw_server_group: "activitywatch" +aw_worktime_report_base: "http://10.10.10.13:5610" aw_repo_root: "{{ playbook_dir | dirname }}" diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 3298ded..2be8bca 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -8,6 +8,7 @@ aw_server_log_dir: "/var/log/activitywatch" aw_server_db_path: "/var/lib/activitywatch/aw-server-rust/sqlite.db" aw_server_user: "activitywatch" aw_server_group: "activitywatch" +aw_worktime_report_base: "http://10.10.10.13:5610" aw_repo_root: "/mnt/usb_hdd2/Projects/ActivityWatch-Russian" diff --git a/ansible/tasks/provision_ct_and_deploy_aw.yml b/ansible/tasks/provision_ct_and_deploy_aw.yml index 975e6ef..e1c503f 100644 --- a/ansible/tasks/provision_ct_and_deploy_aw.yml +++ b/ansible/tasks/provision_ct_and_deploy_aw.yml @@ -159,6 +159,7 @@ AW_SERVER_LOG_DIR={{ aw_server_log_dir }} AW_SERVER_USER={{ aw_server_user }} AW_SERVER_GROUP={{ aw_server_group }} + AW_WORKTIME_REPORT_BASE={{ aw_worktime_report_base }} no_log: true - name: Передать AW server env внутрь CT diff --git a/aw-server/apply_webui_ru_patch.sh b/aw-server/apply_webui_ru_patch.sh index 37a898a..cb92a51 100755 --- a/aw-server/apply_webui_ru_patch.sh +++ b/aw-server/apply_webui_ru_patch.sh @@ -10,6 +10,7 @@ fi source "$ENV_FILE" WEBUI_DIR="${AW_SERVER_WEBUI_DIR:-${AW_WEBUI_DIR:-/opt/activitywatch/webui-ru}}" +REPORT_BASE="${AW_WORKTIME_REPORT_BASE:-http://10.10.10.13:5610}" PATCH_JS_SRC="/root/bootstrap/aw-ru-patch.js" SW_CLEANUP_SRC="/root/bootstrap/aw-sw-cleanup.js" HOST_GROUPS_SRC="/root/bootstrap/aw-host-groups.json" @@ -43,6 +44,18 @@ sw_hash="$(sha1sum "$SW_TARGET" | awk '{print substr($1,1,12)}')" sed -i '/ru-patch-v5.js/d;/sw-cleanup.js/d;/aw-ru-patch.js/d;/aw-sw-cleanup.js/d' "$INDEX_HTML" sed -i "s###" "$INDEX_HTML" sed -i "s###" "$INDEX_HTML" + +# Replace old relative report links if they exist. +sed -i "s#href=\"/today.csv\"#href=\"$REPORT_BASE/reports/worktime/today?format=csv\"#g" "$INDEX_HTML" +sed -i "s#href=\"/today.json\"#href=\"$REPORT_BASE/reports/worktime/today\"#g" "$INDEX_HTML" + +# Ensure report links block exists and points to worktime API on :5610. +if ! grep -q 'id="aw-report-links"' "$INDEX_HTML"; then + sed -i "s##
RDP report: CSV | JSON
#g" "$INDEX_HTML" +fi + +# Normalize existing report links block to current REPORT_BASE. +sed -i "s#
CSV | JSON
#
RDP report: CSV | JSON
#g" "$INDEX_HTML" cp "$SW_CLEANUP_SRC" "$SERVICE_WORKER" trends_chunk="$(grep -Rsl "$TRENDS_NEEDLE" "$WEBUI_DIR/js"/*.js 2>/dev/null | head -n 1 || true)" diff --git a/aw-server/aw-server.env.example b/aw-server/aw-server.env.example index 93ef939..c203b3a 100755 --- a/aw-server/aw-server.env.example +++ b/aw-server/aw-server.env.example @@ -9,3 +9,4 @@ AW_SERVER_DATA_DIR=/var/lib/activitywatch AW_SERVER_LOG_DIR=/var/log/activitywatch AW_SERVER_USER=activitywatch AW_SERVER_GROUP=activitywatch +AW_WORKTIME_REPORT_BASE=http://10.10.10.13:5610 diff --git a/install-kit-awindows-20260427-211240/ansible/deploy_aw_server.yml b/install-kit-awindows-20260427-211240/ansible/deploy_aw_server.yml index 7f372c1..5cdaa01 100644 --- a/install-kit-awindows-20260427-211240/ansible/deploy_aw_server.yml +++ b/install-kit-awindows-20260427-211240/ansible/deploy_aw_server.yml @@ -233,6 +233,7 @@ AW_SERVER_WEBUI_DIR={{ aw_server_webui_dir }} AW_SERVER_USER={{ aw_server_user }} AW_SERVER_GROUP={{ aw_server_group }} + AW_WORKTIME_REPORT_BASE={{ aw_worktime_report_base }} XDG_DATA_HOME={{ aw_server_data_dir }}/.local/share XDG_CONFIG_HOME={{ aw_server_data_dir }}/.config diff --git a/install-kit-awindows-20260427-211240/ansible/group_vars/all.example.yml b/install-kit-awindows-20260427-211240/ansible/group_vars/all.example.yml index 27d5703..37ddb3c 100644 --- a/install-kit-awindows-20260427-211240/ansible/group_vars/all.example.yml +++ b/install-kit-awindows-20260427-211240/ansible/group_vars/all.example.yml @@ -7,6 +7,7 @@ aw_server_data_dir: "/var/lib/activitywatch" aw_server_log_dir: "/var/log/activitywatch" aw_server_user: "activitywatch" aw_server_group: "activitywatch" +aw_worktime_report_base: "http://10.10.10.13:5610" aw_repo_root: "{{ playbook_dir | dirname }}" diff --git a/install-kit-awindows-20260427-211240/ansible/tasks/provision_ct_and_deploy_aw.yml b/install-kit-awindows-20260427-211240/ansible/tasks/provision_ct_and_deploy_aw.yml index 975e6ef..e1c503f 100644 --- a/install-kit-awindows-20260427-211240/ansible/tasks/provision_ct_and_deploy_aw.yml +++ b/install-kit-awindows-20260427-211240/ansible/tasks/provision_ct_and_deploy_aw.yml @@ -159,6 +159,7 @@ AW_SERVER_LOG_DIR={{ aw_server_log_dir }} AW_SERVER_USER={{ aw_server_user }} AW_SERVER_GROUP={{ aw_server_group }} + AW_WORKTIME_REPORT_BASE={{ aw_worktime_report_base }} no_log: true - name: Передать AW server env внутрь CT diff --git a/install-kit-awindows-20260427-211240/aw-server/apply_webui_ru_patch.sh b/install-kit-awindows-20260427-211240/aw-server/apply_webui_ru_patch.sh index 37a898a..c75ea54 100755 --- a/install-kit-awindows-20260427-211240/aw-server/apply_webui_ru_patch.sh +++ b/install-kit-awindows-20260427-211240/aw-server/apply_webui_ru_patch.sh @@ -10,6 +10,7 @@ fi source "$ENV_FILE" WEBUI_DIR="${AW_SERVER_WEBUI_DIR:-${AW_WEBUI_DIR:-/opt/activitywatch/webui-ru}}" +REPORT_BASE="${AW_WORKTIME_REPORT_BASE:-http://10.10.10.13:5610}" PATCH_JS_SRC="/root/bootstrap/aw-ru-patch.js" SW_CLEANUP_SRC="/root/bootstrap/aw-sw-cleanup.js" HOST_GROUPS_SRC="/root/bootstrap/aw-host-groups.json" @@ -43,6 +44,15 @@ sw_hash="$(sha1sum "$SW_TARGET" | awk '{print substr($1,1,12)}')" sed -i '/ru-patch-v5.js/d;/sw-cleanup.js/d;/aw-ru-patch.js/d;/aw-sw-cleanup.js/d' "$INDEX_HTML" sed -i "s###" "$INDEX_HTML" sed -i "s###" "$INDEX_HTML" + +sed -i "s#href=\"/today.csv\"#href=\"$REPORT_BASE/reports/worktime/today?format=csv\"#g" "$INDEX_HTML" +sed -i "s#href=\"/today.json\"#href=\"$REPORT_BASE/reports/worktime/today\"#g" "$INDEX_HTML" + +if ! grep -q 'id="aw-report-links"' "$INDEX_HTML"; then + sed -i "s##
RDP report: CSV | JSON
#g" "$INDEX_HTML" +fi + +sed -i "s#
CSV | JSON
#
RDP report: CSV | JSON
#g" "$INDEX_HTML" cp "$SW_CLEANUP_SRC" "$SERVICE_WORKER" trends_chunk="$(grep -Rsl "$TRENDS_NEEDLE" "$WEBUI_DIR/js"/*.js 2>/dev/null | head -n 1 || true)" diff --git a/install-kit-awindows-20260427-211240/aw-server/aw-server.env.example b/install-kit-awindows-20260427-211240/aw-server/aw-server.env.example index 93ef939..c203b3a 100755 --- a/install-kit-awindows-20260427-211240/aw-server/aw-server.env.example +++ b/install-kit-awindows-20260427-211240/aw-server/aw-server.env.example @@ -9,3 +9,4 @@ AW_SERVER_DATA_DIR=/var/lib/activitywatch AW_SERVER_LOG_DIR=/var/log/activitywatch AW_SERVER_USER=activitywatch AW_SERVER_GROUP=activitywatch +AW_WORKTIME_REPORT_BASE=http://10.10.10.13:5610 diff --git a/windows/installkit/innosetup/AWatch-rus-InnoSetup.iss b/windows/installkit/innosetup/AWatch-rus-InnoSetup.iss index 094b078..31ac5cf 100644 --- a/windows/installkit/innosetup/AWatch-rus-InnoSetup.iss +++ b/windows/installkit/innosetup/AWatch-rus-InnoSetup.iss @@ -4,6 +4,7 @@ #define AwDefaultServerHost "10.10.10.13" #define AwDefaultServerPort "5600" +#define AwDefaultWorktimeReportBase "http://10.10.10.13:5610" #define AwDefaultUsers "user1,user2,user3,user4,user5" #define AwDefaultInstallRoot "C:\\Program Files\\AWatch-rus\\bin" #define AwDefaultStateRoot "C:\\ProgramData\\AWatch-rus" @@ -148,6 +149,7 @@ begin 'Укажите сервер ActivityWatch (куда агенты будут отправлять данные).', 'Если нужно, измените host/port. По умолчанию — наша конфигурация.' ); + { Worktime CSV/JSON reports are served by aw-worktime-api on :5610 (AwDefaultWorktimeReportBase). } ServerHostPage.Add('ServerHost', False); ServerHostPage.Add('ServerPort', False); ServerHostPage.Values[0] := '{#AwDefaultServerHost}';