
Race Condition in Chrome Extensions debuggen und vermeiden
Das Shadow DOM Overlay löste eine Race Condition aus. Instagram wurde als generic erkannt, alle Metadaten fehlten. Ursache und Fix mit capturedElement und einem previewOpen Flag.

Das Shadow DOM Overlay löste eine Race Condition aus. Instagram wurde als generic erkannt, alle Metadaten fehlten. Ursache und Fix mit capturedElement und einem previewOpen Flag.

Phase 2 bringt drei Features: ein Shadow DOM Preview-Overlay vor dem Speichern, farbkodierte Duplikatserkennung beim Hover und ein Popup mit Tailwind CSS v4.

Phase 1 legt das Fundament: Health-Dot, Retry-Queue und Capture History machen die Chrome Extension im täglichen Einsatz zuverlässig und nachvollziehbar.

Instagram kürzt Captions ab und Klassennamen wechseln bei jedem Deploy. Semantische DOM-Suche und ein MutationObserver laden den vollständigen Text trotzdem zuverlässig.

Neun TypeScript-Fehler auf einmal, alle über fehlende .js-Extensions in Importen. Der Grund: Ein tsconfig.json-Setting, das für Node.js korrekt ist, aber mit Vite als Bundler inkompatibel ist. Ich erkläre warum und zeige die richtige Konfiguration.

Eine Chrome Extension hat kein "main.js". Sie hat drei vollständig isolierte Laufzeitkontexte, die nur über ein striktes Message-Protokoll kommunizieren dürfen. Wer das nicht versteht, baut fragile Extensions. Wer es versteht, baut robuste Systeme.