Minifiziertes CSS wird in den Browsertools vom Firefox im Gegensatz zum WSC 5.5 nicht mehr strukturiert dargestellt

  • Affected Version
    WoltLab Suite 6.0
    Affected App
    WoltLab Suite Core

    Ich verlinke mal zu einer Anfrage bei CLS:

    WoltLab Suite 6.0: Vorschau auf die neuen Funktionen - cls-design
    Nächstes Jahr gibt es ein etwas größeres Update für WoltLab Suite und daher auch einen Sprung in der Versionsnummer: 6.0Bekannte Änderungen bisher sind:Neuer…
    www.cls-design.com

    Dank Cadeyrn habe ich mittlerweile in Erfahrung gebracht, dass der Firefox anscheinend das aktuell angebotene minifizierte CSS nicht mehr in eine lesefreundlichere Form bringen kann. Die Ursache liegt vermutlich hier: https://searchfox.org/mozilla-centra…ogic.js#261-265.

    Da die Darstellung des CSS im WSC 5.5 noch wie erwartet stattfand, unterstelle ich mal, dass diese Änderung von Euch nicht beabsichtigt war und bin geneigt, das als Fehler anzusehen.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Wenn ich mich nicht irre, gab es dieses Phänomen vor einiger Zeit in einer früheren WSC-Version schon einmal. Wenn aktuell noch etwas fehlen sollte, frage ich mich, warum andere Browser bereits jetzt das gewünschte Verhalten zeigen.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Offenbar kann der CSS-Parser bestimmte Formatierungen nicht korrekt umschreiben, sodass die Zeilenumbrüche bei diesen weiterhin drin stehen. Dies wirkt sich als Abbruchbedingung für die implizite Formatierung in Firefox auf. Andere Browser (u.a. Chrome) weisen keine derartige Abbruchbedingung auf und führen unabhängig davon eine Formatierung durch.

    SoftCreatR Nein, das verwechselst du gerade mit den Source-Maps für TypeScript/JavaScript.

  • Wir setzen für die Formatierung von CSS und TypeScript auf Prettier und dies führt Änderungen am Inhalt von CSS-Variablen durch. Das ist in mehrerlei Hinsicht sehr problematisch, denn Änderungen an den Whitespaces können Auswirkungen auf die Semantik haben. Der von uns genutzte SCSS-Compiler erkennt CSS-Variablen korrekt und schließt dessen Inhalt von einer Verarbeitung aus, weil Änderungen dort per Definition „unsicher“ sind. So kommt es zu den (von uns nicht beabsichtigten) Zeilenumbrüchen, die wiederum vom SCSS-Compiler nicht entfernt werden.

    Mangling of Sass Custom Properties or CSS variables · Issue #8604 · prettier/prettier
    As a refresher, here's what custom properties are Their syntax is very permissive: CSS custom properties, also known as CSS variables, have an unusual…
    github.com
  • Das Problem ist nicht trivial und ist das Resultat einer Verkettung von Umständen. Prettier verhält sich hier inkorrekt, weil es Änderungen durchführt, die potentiell nicht korrekt sind. Der SCSS-Parser, der am Ende für die Erzeugung der CSS-Datei verantwortlich ist, handelt gleichzeitig sehr defensiv und entfernt damit keine Leerzeilen.

    Dessen ungeachtet erachte ich die Abbruchbedingung von Firefox als ziemlich unglücklich. Whitespace in CSS-Variablen hat potentiell eine semantische Bedeutung, die durch eine Umformatierung verloren gehen könnte. Hier bevorzuge ich den Ansatz von Chrome, der zum einen eine deutlich komplexere Entscheidungslogik aufweist und zum anderen auch immer die Möglichkeiten einer erzwungenen Formatierung anbietet. Genau dies fehlt in Firefox, sodass der Nutzer nicht selbst diese Entscheidung treffen kann.

  • Dessen ungeachtet erachte ich die Abbruchbedingung von Firefox als ziemlich unglücklich.

    Für's Protokoll: Diese Abbruchbedingung wurde vor mehr als neun Jahren implementiert, um Probleme mit dem Stileditor zu beheben, die es zu der Zeit gab. Das ist lange her. Ich weiß auch nicht, ob das heutige Verhalten von Chrome vor neun Jahren schon so war. Vielleicht sollte einfach mal jemand vorschlagen, diese Abbruchbedingung neu zu beurteilen, insbesondere wenn andere Browser mittlerweile besser damit umgehen. ;)

  • Alexander Ebert September 2, 2023 at 12:10 AM

    Set the Label from Confirmed to Not a bug
  • Dank Cadeyrn habe ich mittlerweile in Erfahrung gebracht, dass der Firefox anscheinend das aktuell angebotene minifizierte CSS nicht mehr in eine lesefreundlichere Form bringen kann.


    Ab Firefox 120 gibt es im Entwicklerwerkzeug „Stilbearbeitung“ eine Schaltfläche, um eine lesefreundliche Ansicht zu erzwingen.

  • Danke erstmal. In der Tat springt das nicht gerade ins Auge. Es funktioniert auch wie beschrieben, aber leider immer nur genau für das aktuell angezeigte CSS. Wäre es nicht von Vorteil, wenn der Browser sich diese Auswahl "merken" und grundsätzlich alle Stylesheets so darstellen würde?


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Ich vermute, dass das nicht passieren wird, da das eine Performance-technisch ziemlich „teure“ Operation sein kann. Die automatisierte Umwandlung, die es gab und in vielen Fällen funktionierte, wurde mit Einführung dieses Buttons sogar komplett entfernt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!