claude-desktop/scripts
Eddy 6d3a0d8740
All checks were successful
Build AppImage / build (push) Successful in 8m24s
fix: Bridge-EPIPE-Endlosschleife + monitor_events-Schneeball verhindern [appimage]
Ursache: Bridge schrieb bei EPIPE-Fehler (Tauri-Pipe geschlossen) einen
monitor_event, der selbst wieder EPIPE warf -> uncaughtException-Loop.
Ergebnis: 1.082.260 identische Fehler-Eintraege, DB auf 293 MB angewachsen,
App hing beim Start am Index-Scan dieser Tabelle.

Bridge (scripts/claude-bridge.js):
- crashHandlerActive-Flag verhindert Re-Eintreten der Handler
- isPipeError() erkennt EPIPE/ERR_STREAM_DESTROYED/ERR_STREAM_WRITE_AFTER_END
- Bei Pipe-Fehler: process.exit(0) statt Schreibversuch
- stdout/stderr error-Listener als Erstausloeser-Sperre
- Alle sendEvent/sendMonitorEvent-Aufrufe in try/catch isoliert

Schema (src-tauri/src/db.rs):
- Trigger cleanup_old_monitor_events war AFTER INSERT (lief bei jedem Insert)
  -> bei 1 Mio Zeilen O(n) DELETE pro Event = O(n^2)-Schneeball
- Neuer Trigger: WHEN COUNT > 50000, behaelt juengste 30000, loescht >7d alt
- DROP TRIGGER vor CREATE damit Migration auf bestehenden DBs greift

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 15:58:10 +02:00
..
claude-bridge.js fix: Bridge-EPIPE-Endlosschleife + monitor_events-Schneeball verhindern [appimage] 2026-04-27 15:58:10 +02:00
gen-icon.sh [appimage] UI-Polish: Icon, Stop-Button dezent, Chat-Queue, Update-Safety 2026-04-20 11:52:43 +02:00
icon.svg [appimage] UI-Polish: Icon, Stop-Button dezent, Chat-Queue, Update-Safety 2026-04-20 11:52:43 +02:00