---
name: project_tauri_health_grau
description: "Offener Befund — Online-Indikator in der Tauri-App bleibt grau gegen DEV (eigenes Thema, geparkt)"
metadata: 
  node_type: memory
  type: project
  originSessionId: 94c6e3e8-5afc-4c31-9d3c-d5f5bcd6c872
---

Tauri-Desktop: Online-Indikator bleibt grau gegen DEV, obwohl Browser (same-origin) gegen denselben BE funktioniert. **Eigenes Thema, derzeit bewusst KEIN Fix** (Stand 2026-06-08) — Fokus liegt auf Produktivnahme.

Mechanik: Indikator = `GET {BE_URL}/health` erreichbar (nicht VPN/`navigator.onLine`), Heartbeat 3s Timeout, offline alle 4s. Quelle `libs/common/frontend-common/src/lib/be-sync/connectivity.ts`.

Warum Tauri anders als Browser: Webview lädt von eigenem URI-Scheme `platoasset://localhost` (tauri.conf.json:14, src-tauri/src/loader.rs:26/168) → `fetch` auf `https://…ocp-dev01…/health` ist **cross-origin**. Browser ist same-origin.

Falsch verworfen: CSP ist NICHT die Ursache — `"csp": null` heißt in Tauri 2 *keine* CSP. BE-CORS ist offen (`origin: true`, main.ts:35).

Zwei offene Kandidaten (per DevTools-Konsole zu entscheiden, Debug-Build hat sie offen, loader.rs:162-165):
1. custom Scheme `platoasset` nicht als CORS-/secure-fähig registriert → WebKitGTK (Fedora) blockt cross-origin-fetch von der Origin. Konsole zeigt dann `CORS … blocked`.
2. Webview erreicht DEV-Host netzseitig nicht (Proxy/VPN-DNS). Konsole zeigt `Failed to fetch`/DNS.

Verwandt: [[project_run_commands]]
