Chrome Hardwarebeschleunigung verursacht unsichtbaren Caret beim Composer, wo ein discourse-calendar Onebox ist (Windows 11)

Discourse-Version
2026.1.0-latest (c7e9cddb06)

Browser
Chrome 143.0.7499.170 (Offizieller Build) 64-Bit
(Kohorte: 144.0.7559.59 Rollout)

Betriebssystem
Windows 11 Home
Version 10.0.26200 (Build 26200)


Zusammenfassung

Wenn Chrome Hardwarebeschleunigung aktiviert ist, tritt ein UI-Problem auf:

Der Text-Cursor im Composer wird unsichtbar (erscheint weiß auf weißem Hintergrund),
wenn Discourse Kalender-Ereignisblöcke gerendert wurden.

Das Problem verschwindet sofort, wenn die Hardwarebeschleunigung in Chrome deaktiviert wird.

Dies deutet auf ein Chrome GPU / Compositor-Rendering-Problem hin, das mit Discourse UI-Elementen interagiert, und nicht auf eine reine CSS-Regression.


Beobachtete Probleme

:one: Composer-Cursor wird unsichtbar

  • Tritt sowohl im Composer für neue Themen als auch für Antworten auf.
  • Der Cursor erscheint weiß / verschmilzt mit dem Hintergrund, was es schwierig oder unmöglich macht, die Tippposition zu sehen.
  • Tritt intermittierend, aber reproduzierbar auf, wenn die Hardwarebeschleunigung aktiviert ist.

Bemerkenswertes Verhalten:

  • Das sofortige Öffnen der Chrome Entwicklertools bewirkt, dass der Cursor wieder normal gerendert wird.
  • Dies deutet stark auf eine Neuberechnung des Renderings/Compositing hin und nicht auf Zustands- oder CSS-Änderungen.

:two: discourse-calendar Ereignisblöcke werden im abgesicherten Modus nicht als Onebox dargestellt

Wenn die Hardwarebeschleunigung aktiviert ist:

  • Im /safe-mode ändert sich dieses Verhalten (erwartet, da Theme-Komponenten deaktiviert sind).

Reproduktion

  1. Chrome unter Windows 11 mit aktivierter Option „Grafikbeschleunigung bei Verfügbarkeit verwenden“ verwenden
  2. Eine Discourse-Seite mit 2026.1.0-latest öffnen
  3. Den Composer öffnen und mit der Eingabe beginnen
  4. Unsichtbaren/weißen Cursor beobachten
  5. discourse-calendar Ereignisblöcke einfügen oder anzeigen

Nicht-Reproduktion / Diagnose

  • :cross_mark: Kann im /safe-mode nicht reproduziert werden
  • :cross_mark: Tritt weiterhin im Inkognito-Modus auf (nicht erweiterungsbedingt)
  • :cross_mark: Kein benutzerdefiniertes CSS konfiguriert
  • :white_check_mark: Das Öffnen der Chrome Entwicklertools behebt das Cursor-Problem sofort
  • :white_check_mark: Das vollständige Deaktivieren der Chrome Hardwarebeschleunigung löst beide Probleme

Pfad:

Chrome → Einstellungen → System → 
[ ] Grafikbeschleunigung bei Verfügbarkeit verwenden

Nach dem Deaktivieren:

  • Der Cursor wird normal gerendert
  • Ereignis-Oneboxen verhalten sich korrekt
  • Das Problem kann nicht reproduziert werden

Anmerkungen / Hypothese

Dies scheint ein Chrome GPU/Compositor-Interaktionsproblem zu sein, das möglicherweise Folgendes beinhaltet:

  • Cursor-Rendering in Texteingaben / ProseMirror
  • Neuzeichnen-Timing oder Fokusebenen
  • Onebox-Rendering/Layout-Berechnung unter beschleunigtem Compositing

Die Tatsache, dass:

  • der abgesicherte Modus das Verhalten ändert,
  • das Öffnen der Entwicklertools eine sofortige Korrektur auslöst,
  • und die GPU-Beschleunigung die Reproduzierbarkeit vollständig steuert

deutet stark auf ein Browser-Level-Rendering-Problem hin und nicht auf eine Discourse-Regression, die durch kürzliche Commits eingeführt wurde.


Vorgeschlagene Debugging-Ansätze

Da das Öffnen der Entwicklertools das Rendering-Verhalten ändert, kann es hilfreich sein:

  • mit Remote-Entwicklertools anstelle von lokalen Entwicklertools zu inspizieren
  • das Verhalten beim anfänglichen Laden der Seite mit geöffneten Entwicklertools zu testen
  • das Verhalten mit --disable-gpu zu vergleichen
  • die Ausgabe von chrome://gpu auf betroffenen Systemen zu überprüfen

Wichtige Elemente zur Inspektion, wenn das Problem aktiv ist:

  • Composer-Elemente:
    • textarea.d-editor-input
    • .d-editor .ProseMirror
  • Berechnetes Cursor-Rendering (caret-color, Compositing-Ebenen)
  • Neuzeichnungs-Timing der Onebox

Workaround

Für betroffene Benutzer unter Windows 11:

Chrome Hardwarebeschleunigung deaktivieren

Dies löst sowohl das Composer-Cursor-Problem als auch das discourse-calendar Oneboxing-Verhalten vollständig.

1 „Gefällt mir“