-
@@ -983,7 +981,7 @@ async function addDecision() {
- {{ t('projectView.manual_escalations_warn') }}
+ ⚠ Требуют ручного решения
({{ manualEscalationTasks.length }})
@@ -1005,7 +1003,7 @@ async function addDecision() {
-
{{ t('projectView.no_tasks') }}
+
No tasks.
✕
- Loading phases...
No research phases. Use "New Project" to start a research workflow.
@@ -1226,7 +1224,7 @@ async function addDecision() {
@@ -1434,7 +1432,7 @@ async function addDecision() {
{{ linkFormError }}
+ class="px-3 py-1.5 text-sm text-gray-400 hover:text-gray-200">Отмена
diff --git a/web/frontend/src/views/SettingsView.vue b/web/frontend/src/views/SettingsView.vue
index 42a91ff..eaeec8e 100644
--- a/web/frontend/src/views/SettingsView.vue
+++ b/web/frontend/src/views/SettingsView.vue
@@ -1,10 +1,7 @@
- {{ t('taskDetail.loading') }}
+ Loading...
{{ error }}
@@ -438,7 +422,7 @@ async function saveEdit() {
- {{ t('taskDetail.requires_manual') }}
+ ⚠ Требует ручного решения
— эскалация из
@@ -448,15 +432,15 @@ async function saveEdit() {
{{ task.title }}
{{ task.brief.description }}
-
{{ t('taskDetail.autopilot_failed') }}
+
Автопилот не смог выполнить это автоматически. Примите меры вручную и нажмите «Решить вручную».
⚠
-
{{ t('taskDetail.dangerously_skipped') }}
-
{{ t('taskDetail.dangerously_skipped_hint') }}
+
--dangerously-skip-permissions использовался в этой задаче
+
Агент выполнял команды с обходом проверок разрешений. Проверьте pipeline-шаги и сделанные изменения.
@@ -464,7 +448,7 @@ async function saveEdit() {
Brief: {{ JSON.stringify(task.brief) }}
-
{{ t('taskDetail.acceptance_criteria') }}
+
Критерии приёмки
{{ task.acceptance_criteria }}
@@ -478,8 +462,8 @@ async function saveEdit() {
- {{ t('taskDetail.pipeline') }}
- {{ t('taskDetail.running') }}
+ Pipeline
+ running...
@@ -509,7 +493,7 @@ async function saveEdit() {
- {{ t('taskDetail.no_pipeline') }}
+ No pipeline steps yet.
@@ -532,7 +516,7 @@ async function saveEdit() {
{{ parsedSelectedOutput.verdict }}
- {{ t('taskDetail.more_details') }}
+ ↓ подробнее
{{ parsedSelectedOutput.details }}
@@ -558,7 +542,7 @@ async function saveEdit() {
-
{{ t('taskDetail.attachments') }}
+
Вложения
@@ -568,22 +552,22 @@ async function saveEdit() {
- {{ t('taskDetail.autopilot_active') }}
+ Автопилот активен
- {{ t('taskDetail.approve_task') }}
+ ✓ Approve
- {{ t('taskDetail.revise_task') }}
+ 🔄 Revise
- {{ t('taskDetail.reject_task') }}
+ ✗ Reject
- {{ t('taskDetail.edit') }}
+ ✎ Edit
- {{ (polling || pipelineStarting) ? t('taskDetail.pipeline_running') : t('taskDetail.run_pipeline') }}
-
-
-
- {{ followupLoading ? t('taskDetail.generating_followup') : t('taskDetail.create_followup') }}
+ {{ (polling || pipelineStarting) ? 'Pipeline running...' : '▶ Run Pipeline' }}
- {{ resolvingManually ? t('taskDetail.resolving') : t('taskDetail.resolve_manually') }}
+ {{ resolvingManually ? 'Сохраняем...' : '✓ Решить вручную' }}
- {{ deploying ? t('taskDetail.deploying') : t('taskDetail.deploy') }}
-
-
-
-
-
-
Создано {{ followupResults.length }} follow-up задач:
-
-
- {{ f.id }} {{ f.title }}
-
-
-
- {{ t('common.close') }}
+ {{ deploying ? 'Deploying...' : '🚀 Deploy' }}
@@ -649,9 +611,9 @@ async function saveEdit() {
⚠ Claude CLI requires login
-
{{ t('taskDetail.terminal_login_hint') }}
+
Откройте терминал и выполните:
claude login
-
{{ t('taskDetail.login_after_hint') }}
+
После входа повторите запуск pipeline.
✕
@@ -662,7 +624,7 @@ async function saveEdit() {
:class="deployResult.overall_success !== false && deployResult.success ? 'border-teal-800 bg-teal-950/30 text-teal-300' : 'border-red-800 bg-red-950/30 text-red-300'">
- {{ deployResult.overall_success !== false && deployResult.success ? t('taskDetail.deploy_succeeded') : t('taskDetail.deploy_failed') }}
+ {{ deployResult.overall_success !== false && deployResult.success ? 'Deploy succeeded' : 'Deploy failed' }}
{{ deployResult.duration_seconds }}s
x
@@ -688,7 +650,7 @@ async function saveEdit() {
-
{{ t('taskDetail.dependent_projects') }}
+
Зависимые проекты:
ok
{{ dep }}
@@ -742,9 +704,9 @@ async function saveEdit() {
Create follow-up tasks from pipeline results
Optionally record a decision:
-
-
@@ -766,14 +728,14 @@ async function saveEdit() {
-
+
@@ -782,30 +744,30 @@ async function saveEdit() {
diff --git a/web/frontend/vite.config.ts b/web/frontend/vite.config.ts
index 186393b..abcdfd5 100644
--- a/web/frontend/vite.config.ts
+++ b/web/frontend/vite.config.ts
@@ -12,6 +12,5 @@ export default defineConfig({
test: {
environment: 'jsdom',
globals: true,
- setupFiles: ['./src/__tests__/vitest-setup.ts'],
},
})