Add auto-restart for crashed processing loops, remove sync clock badge
- Auto-restart: ProcessorManager detects fatal task crashes via done callback and restarts with exponential backoff (2s-30s, max 5 attempts in 5 min window). Manual stop disables auto-restart. Restart state exposed in target state API and via WebSocket events. - Remove "Running"/"Paused" badge label from sync clock dashboard cards (pause/play button already conveys state). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -279,11 +279,6 @@ function _updateSyncClocksInPlace(syncClocks) {
|
||||
if (!card) continue;
|
||||
const speedEl = card.querySelector('.dashboard-clock-speed');
|
||||
if (speedEl) speedEl.textContent = `${c.speed}x`;
|
||||
const badge = card.querySelector('.dashboard-badge-active, .dashboard-badge-stopped');
|
||||
if (badge) {
|
||||
badge.className = c.is_running ? 'dashboard-badge-active' : 'dashboard-badge-stopped';
|
||||
badge.textContent = c.is_running ? t('sync_clock.status.running') : t('sync_clock.status.paused');
|
||||
}
|
||||
const btn = card.querySelector('.dashboard-target-actions .dashboard-action-btn');
|
||||
if (btn) {
|
||||
btn.className = `dashboard-action-btn ${c.is_running ? 'stop' : 'start'}`;
|
||||
@@ -294,10 +289,6 @@ function _updateSyncClocksInPlace(syncClocks) {
|
||||
}
|
||||
|
||||
function renderDashboardSyncClock(clock) {
|
||||
const statusBadge = clock.is_running
|
||||
? `<span class="dashboard-badge-active">${t('sync_clock.status.running')}</span>`
|
||||
: `<span class="dashboard-badge-stopped">${t('sync_clock.status.paused')}</span>`;
|
||||
|
||||
const toggleAction = clock.is_running
|
||||
? `dashboardPauseClock('${clock.id}')`
|
||||
: `dashboardResumeClock('${clock.id}')`;
|
||||
@@ -313,7 +304,7 @@ function renderDashboardSyncClock(clock) {
|
||||
<div class="dashboard-target-info">
|
||||
<span class="dashboard-target-icon">${ICON_CLOCK}</span>
|
||||
<div>
|
||||
<div class="dashboard-target-name">${escapeHtml(clock.name)} ${statusBadge}</div>
|
||||
<div class="dashboard-target-name">${escapeHtml(clock.name)}</div>
|
||||
${subtitle ? `<div class="dashboard-target-subtitle">${subtitle}</div>` : ''}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user