CI: fix eslint failures and serialize workflows on single runner.
Downgrade legacy lint rules to warnings, fix AdminLayout NodeMetric typing, shared concurrency group for CI and deploy-ift. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,7 +3,7 @@ import { Layout, Menu, Button, theme, notification, Avatar, Dropdown, Space, Typ
|
||||
import { Outlet, useNavigate, useLocation } from 'react-router-dom';
|
||||
import { useAuthStore } from '../store/authStore';
|
||||
import { useAdminWebSocket } from '../hooks/useAdminWebSocket';
|
||||
import { useMetricsStore } from '../store/metricsStore';
|
||||
import { useMetricsStore, type NodeMetric } from '../store/metricsStore';
|
||||
import MetricIndicator from '../components/MetricIndicator';
|
||||
import {
|
||||
DashboardOutlined,
|
||||
@@ -39,7 +39,6 @@ const AdminLayout: React.FC = () => {
|
||||
const [collapsed, setCollapsed] = useState(false);
|
||||
|
||||
const allHistory = useMetricsStore((s) => s.allHistory);
|
||||
const current = useMetricsStore((s) => s.current);
|
||||
const previous = useMetricsStore((s) => s.previous);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -99,7 +98,7 @@ const AdminLayout: React.FC = () => {
|
||||
}, [allHistory]);
|
||||
|
||||
const latestByNode = React.useMemo(() => {
|
||||
const map = new Map<string, typeof current>();
|
||||
const map = new Map<string, NodeMetric>();
|
||||
const recent = allHistory.slice(-1000);
|
||||
for (let i = recent.length - 1; i >= 0; i--) {
|
||||
const m = recent[i];
|
||||
@@ -147,7 +146,7 @@ const AdminLayout: React.FC = () => {
|
||||
return user?.id ?? '—';
|
||||
};
|
||||
|
||||
const NodeIndicator: React.FC<{ node: string; stats: NonNullable<typeof current>; prevStats?: typeof current }> = ({
|
||||
const NodeIndicator: React.FC<{ node: string; stats: NodeMetric; prevStats?: NodeMetric }> = ({
|
||||
node,
|
||||
stats,
|
||||
prevStats,
|
||||
|
||||
Reference in New Issue
Block a user