Feature: "Letzte Fehler anzeigen" im Hilfe-Menue (Error-Ring ins UI)
Der Error-Ring aus v1.7.185 war bisher nur ueber die Debug-Server-URL mit Token erreichbar — per RDP ist ein Menueklick drastisch schneller als curl. Neuer Menuepunkt im Hilfe-Dropdown zeigt die letzten 200 WARN/ERROR-Eintraege (Kopf: "X Fehler, Y Warnungen") im bestehenden Bestaetigungs-Dialog mit aufklappbaren Details; der Bestaetigen-Knopf kopiert die komplette Liste in die Zwischenablage — direkt verwertbar fuer Bug-Reports. IPC-Kette nach dem GET_DEBUG_SETUP_CHECK-Muster (ipc.ts, main.ts mit direktem error-ring-Import wie debug-server/support-bundle, preload, preload-api). Read-only auf den In-Memory-Snapshot, kein neues CSS.
This commit is contained in:
@@ -3932,6 +3932,32 @@ export function App(): ReactElement {
|
||||
}
|
||||
};
|
||||
|
||||
const onShowRecentErrors = async (): Promise<void> => {
|
||||
closeMenus();
|
||||
try {
|
||||
const entries = await window.rd.getRecentErrors();
|
||||
const errorCount = entries.filter((e) => e.level === "ERROR").length;
|
||||
const warnCount = entries.filter((e) => e.level === "WARN").length;
|
||||
const details = entries.map((e) => `${e.ts} [${e.level}] ${e.message}`).join("\n");
|
||||
const copy = await askConfirmPrompt({
|
||||
title: "Letzte Fehler",
|
||||
message: entries.length === 0
|
||||
? "Keine Fehler oder Warnungen seit dem App-Start aufgezeichnet."
|
||||
: `${errorCount} Fehler, ${warnCount} Warnungen (letzte ${entries.length})`,
|
||||
confirmLabel: entries.length > 0 ? "In Zwischenablage kopieren" : "Schließen",
|
||||
cancelLabel: "Schließen",
|
||||
details: details || undefined,
|
||||
detailsLabel: "Einträge anzeigen"
|
||||
});
|
||||
if (copy && entries.length > 0) {
|
||||
await navigator.clipboard.writeText(details);
|
||||
showToast("Fehlerliste kopiert", 2600);
|
||||
}
|
||||
} catch (error) {
|
||||
showToast(`Fehler-Ansicht fehlgeschlagen: ${String(error)}`, 3000);
|
||||
}
|
||||
};
|
||||
|
||||
const onRotateDebugToken = async (): Promise<void> => {
|
||||
closeMenus();
|
||||
const confirmed = await askConfirmPrompt({
|
||||
@@ -4339,6 +4365,9 @@ export function App(): ReactElement {
|
||||
<button className="menu-dropdown-item" onClick={() => { void onToggleSupportTrace(); }}>
|
||||
<span>{supportTraceEnabled ? "Support-Trace deaktivieren" : "Support-Trace aktivieren"}</span>
|
||||
</button>
|
||||
<button className="menu-dropdown-item" onClick={() => { void onShowRecentErrors(); }}>
|
||||
<span>Letzte Fehler anzeigen</span>
|
||||
</button>
|
||||
<button className="menu-dropdown-item" onClick={() => { void onRunDebugSetupCheck(); }}>
|
||||
<span>Debug-Setup prüfen</span>
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user