diff --git a/app/templates/dashboard.html b/app/templates/dashboard.html
index 22dd775..202449f 100644
--- a/app/templates/dashboard.html
+++ b/app/templates/dashboard.html
@@ -51,7 +51,7 @@
| ID | Статус | Обработано | Ошибки | Старт |
{% for run in runs %}
- | {{ run.id }} | {{ run.status_display }} | {{ run.parsed_count }} | {{ run.error_count }} | {{ run.started_display }} |
+ | {{ run.id }} | {{ run.status_display }} | {{ run.parsed_count }} | {{ run.error_count }} | {{ run.started_display }} |
{% endfor %}
diff --git a/app/templates/runs.html b/app/templates/runs.html
index b120cd1..6377f95 100644
--- a/app/templates/runs.html
+++ b/app/templates/runs.html
@@ -38,7 +38,7 @@
| ID | Статус | Найдено | Обработано | Новые | Ошибки | Уволены | Старт |
{% for run in runs %}
- | {{ run.id }} | {{ run.status_display }} | {{ run.found_count }} | {{ run.parsed_count }} | {{ run.new_count }} | {{ run.error_count }} | {{ run.dismissed_count }} | {{ run.started_display }} |
+ | {{ run.id }} | {{ run.status_display }} | {{ run.found_count }} | {{ run.parsed_count }} | {{ run.new_count }} | {{ run.error_count }} | {{ run.dismissed_count }} | {{ run.started_display }} |
{% endfor %}
diff --git a/app/version.py b/app/version.py
index 7a20dc3..795b76a 100644
--- a/app/version.py
+++ b/app/version.py
@@ -1,3 +1,3 @@
-APP_VERSION = "0.4.3"
-FRONTEND_VERSION = "0.4.3"
-BACKEND_VERSION = "0.4.3"
+APP_VERSION = "0.4.4"
+FRONTEND_VERSION = "0.4.4"
+BACKEND_VERSION = "0.4.4"
diff --git a/tests/test_admin_templates.py b/tests/test_admin_templates.py
index b9c66c7..fe50d5a 100644
--- a/tests/test_admin_templates.py
+++ b/tests/test_admin_templates.py
@@ -45,9 +45,11 @@ def test_dashboard_limits_latest_runs_to_five():
def test_runs_template_links_to_run_detail():
template = Path("app/templates/runs.html").read_text(encoding="utf-8")
- assert 'data-row-href="/admin/runs/{{ run.id }}"' in template
+ assert 'onclick="window.location.href=\'/admin/runs/{{ run.id }}\'"' in template
+ assert "onkeydown=\"if (event.key === 'Enter' || event.key === ' ')" in template
assert 'role="link"' in template
assert 'tabindex="0"' in template
+ assert 'data-row-href="/admin/runs/{{ run.id }}"' not in template
assert '' not in template
@@ -75,9 +77,11 @@ def test_dashboard_metric_cards_link_to_admin_targets():
def test_dashboard_latest_run_rows_link_to_run_detail():
template = Path("app/templates/dashboard.html").read_text(encoding="utf-8")
- assert 'data-row-href="/admin/runs/{{ run.id }}"' in template
+ assert 'onclick="window.location.href=\'/admin/runs/{{ run.id }}\'"' in template
+ assert "onkeydown=\"if (event.key === 'Enter' || event.key === ' ')" in template
assert 'role="link"' in template
assert 'tabindex="0"' in template
+ assert 'data-row-href="/admin/runs/{{ run.id }}"' not in template
assert '' not in template
diff --git a/tests/test_api_mcp.py b/tests/test_api_mcp.py
index 5610631..4a91f3f 100644
--- a/tests/test_api_mcp.py
+++ b/tests/test_api_mcp.py
@@ -23,7 +23,7 @@ def test_health_returns_versions():
response = client.get("/api/health")
assert response.status_code == 200
- assert response.json()["backend_version"] == "0.4.3"
+ assert response.json()["backend_version"] == "0.4.4"
def test_mcp_requires_token_and_lists_tools():