- Guard all new Date().toLocaleString() calls with safeDate() to prevent 'Invalid Date' - Guard escapeHtml() for null/undefined input - Guard getTimeAgo() for null/NaN dates; add safeDate() and formatElapsed() helpers - Show elapsed time for running executions in the execution list - Add status-running CSS pulse animation class to running execution items - Add explicit executions_bulk_deleted WebSocket handler - clearCompletedExecutions() uses new bulk DELETE endpoint instead of N individual requests - switchTab() persists active tab to localStorage; init restores it on load - refreshData() updates lastRefreshed timestamp in header - Add Ctrl+Enter shortcut for quick command form - Wrap rerunCommand worker_id with escapeHtml() to prevent XSS Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
139 KiB
139 KiB