Skip to content

История операций: обновлять список в реальном времени #648

@fixcik

Description

@fixcik

Задача

«История прогонов» в главном окне должна обновляться в реальном времени. Сейчас список грузится только при смене проекта — прогон, запущенный/завершённый/прерванный в отдельном окне (drill/expose/mill), не появляется и не меняет статус, пока не переоткроешь проект.

Решение

  • Бэк: журнальные команды operation_run_log_start / operation_run_log_finish / operation_runs_reconcile после успешной записи эмитят глобальное событие operation-runs://changed.
  • Фронт: OperationHistory слушает событие и перечитывает загруженный диапазон строк (offset 0, текущее число строк) — новая строка появляется, «Идёт» → «Завершён»/«Остановлен»/«Прервано» меняется без переоткрытия.
  • Перечит безусловный (событие без payload) — дёшево и идемпотентно; finish не несёт project_path.

Проверить после слияния

  • запуск сверловки в окне → строка «Идёт» появляется в истории главного окна сама
  • завершение/стоп/ошибка прогона → статус строки меняется в реалтайме
  • сверка при открытии проекта → стак «Идёт» схлопывается в «Прервано» сразу

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions