Перейти к основному содержимому

launch-history-status-reconciliation

/**

  • @fileoverview Синхронизация bot_launch_history с live-статусом бота
  • @description Устраняет рассинхрон «ОФЛАЙН в шапке» / «ОНЛАЙН в Истории». */

Проблема

Шапка берёт live bot-status. Вкладка «История → Текущий» раньше брала первую запись status=running из БД. После краша/рестарта сервера orphans оставались running без stoppedAt → ложный «Онлайн».

Решение (слои)

  1. Write: bulk-close всех running при stop/exit/shutdown/start-fail
  2. Read: reconcileLaunchHistoryForToken в status и GET launch-history
  3. Startup: sweep orphans после restoreRunningBots
  4. UI: isLiveRunning — offline никогда не показывает orphan как «Онлайн»

Источники правды

Ключевые файлы

ФайлРоль
server/bots/reconcileLaunchHistory.tsСверка
server/bots/closeActiveLaunchHistory.tsBulk close
server/bots/handleWorkerBotExited.tsExit + fallback DB
client/.../select-current-launch.tsUI gate