5d0a61c38e
User-Entscheid 15.07. abends: P3-Worker-Jobs abgebrochen (22 Anlaeufe, 0 Ergebnisse) - 'du bearbeitest sie ein letztes Mal manuell'. P3a KOMPLETT: backend/routers/events.py streamt SSE; ein Sammler prueft alle 3 s billige Fingerabdruecke (Briefkasten-Cursor, Queue-Status, Auftragsbuch-/Reminder-mtimes) und schickt bei Aenderung 'invalidate' mit den React-Query-Keys. frontend/src/lib/events.ts haelt EIN EventSource, invalidiert gezielt und entspannt die vier gedeckten Poller x5 (relax() in queries.ts); reisst der Strom, reconnectet EventSource selbst und die UI pollt wie bisher. Live-Graphen bleiben bewusst beim Polling (aendern sich jede Sekunde). P3b (TanStack Router) BEWUSST NICHT umgesetzt: Hash-Navigation liefert Deep-Links + Zuruecktaste bereits; Router-Migration = hohes Regressions- risiko ueber alle Views bei minimalem Gewinn fuer 1-Nutzer-LAN (gleiche Logik wie das React-bleibt-Verdikt in UMBAUPLAN 3b). P3c (OpenAPI-Typen) VERTAGT: ohne Pydantic-response_models liefert der Generator leere Typen - Voraussetzung ist erst das Backend-Typing (eigene, klein geschnittene Karten-Serie). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
17 lines
604 B
HTML
17 lines
604 B
HTML
<!doctype html>
|
|
<html lang="de" class="dark">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="theme-color" content="#0d1117" />
|
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<title>Mission Control 2.0</title>
|
|
<script type="module" crossorigin src="/assets/index-DgTg5QdX.js"></script>
|
|
<link rel="stylesheet" crossorigin href="/assets/index-Cq_BqGQa.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
|
|
</body>
|
|
</html>
|