iiuni / projektzapisy

System Zapisów na zajęcia w Instytucie Informatyki Uniwersytetu Wrocławskiego
https://zapisy.ii.uni.wroc.pl
32 stars 10 forks source link

Bootstrap szaleje z fontem #1625

Open lgpawel opened 11 months ago

lgpawel commented 11 months ago

Ta sama podstrona SZ wygląda w wersji produkcyjnej (BS4) tak: image ale w trybie prywatnym już nieco inaczej: image Z kolei w wersji developerskiej po migracji do BS5 pojawia się zupełnie inny font: image a w trybie prywatnym jest jeszcze co innego: image Planowałem to (z)ignorować, ale w związku z wielkim zapotrzebowaniem na issues frontendowe, zróbmy z tym porządek. Temat był nawet poruszany swego czasu przy migracji na nowy Bootstrap, ale ze względu na jego małą wagę (choć dużą widoczność) niezbyt dogłębnie.

Powyższe zrzuty zrobiłem w Firefoksie 120 na Ubuntu 20.04, w których raczej nie grzebałem mocno w ustawieniach fontów. W menedżerze okien (dialog "Appearance" w XFCE) jako domyślny mam ustawiony Noto Sans Regular 9, oczywiście służę ew. innymi informacjami co do środowiska, w którym uzyskuję ten efekt. W Chromium zaszła zmiana między BS4 a 5, ale nie ma różnicy pomiędzy trybem zwykłym a incognito, więc część problemu jest ewidentnie zależna od przeglądarki. Prosiłbym o uzupełnienie o opis i ew. zrzuty z Edge, na której nie mam jak tego sprawdzić.

Nie mam precyzyjnej wizji, co należałoby osiągnąć, zwłaszcza że taki widoczny efekt używania trybu prywatnego jest dla mnie w tym momencie niezrozumiały (czyżby chodziło o zaciąganie fontów z third-party źródeł itp.? to akurat mogę mieć nietypowo skonfigurowane w Firefoksie i jeszcze uzupełnię tę informację); inna rzecz, że od czasu, jak to zobaczyłem w SZ, analogiczne rzeczy zauważam w innych stronach używających BS, jak choćby GitHub. Kierunki są natomiast takie: sytuacja z ostatniego zrzutu jest mocno nieestetyczna, oraz (co ważniejsze) lepiej bez dobrego powodu nie zmieniać czegoś, do czego użytkownicy są przyzwyczajeni (czyli jest obecnie na produkcji). (Zmiana szerokości głównej zawartości może się wiązać z wprowadzeniem nowego, "najszerszego" breakpointu w BS5 i nawet jeśli przypadkowa, to jest to zmiana wartościowa.)

lgpawel commented 11 months ago

Ustawienie, które (na 99,9% – sprawdzam to na innym komputerze, niż wcześniej, ale "wszystko", co ma tu znaczenie, się zgadza) odpowiada za różnice między trybem zwykłym a prywatnym w Firefoksie, jest w "Privacy & Security / Browser Privacy / Enhanced Tracking Protection": mam ustawione "Custom" i w jego ramach włączone blokowanie "Suspected fingerprinters" w trybie (co oczywiście znaczące) "Only in private windows".

Jeśli faktycznie oznacza to, że font jest pobierany ze źródła podejrzewanego o profilowanie, to – o ile pozwala na to jego licencja – chciałbym "serwować" go prosto z infrastruktury SZ, żeby zarówno zaradzić efektom wizualnym jw. jak i, co zasadniczo ważniejsze, zadbać o prywatność użytkowników systemu. Mocne słowa jak na serwis używający Google Analytics.

mbaugustyn commented 10 months ago

Spróbowałem zreplikować Pana obserwacje:

Windows

Poniżej skrin z 4 różnych przeglądarek (również z Edgem) na Windowsie, Firefox w wersji 121.0:

image

W przeciwieństwie do Pana różnic nie zaobserwowałem.

Teraz Firefox między oknem zwykłym a prywatnym:

BS4

image

BS5

image image

Ponownie różnic nie zauważam (poza rozmiarem samej czcionki)

Linux (Fedora 39)

Firefox w wersji 121.0.

BS4

image

BS5

image

Różnic nie zauważam.

CD

Następnie spróbowałem uzasadnić Pana obserwacje teoretycznie porównując dokumentację fontów w BS4 i BS5. Główna różnica, która rzuca się w oczy to zmiana głównej domyślnie ustawianej czcionki pomiędzy nimi. BS5 wprowadził jako domyślny font system-ui będący alternatywą do wylistowania wszystkich możliwych systemów operacyjnych i ich czcionek.

image

Więc jest to możliwe że widzi Pan różnicę w czcionce między BS4 a BS5 jeśli Pana domyślną systemową czcionką nie jest "Noto Sans" (w BS5 ukryta pod fontem system-ui), a mówi Pan że jest. Więc jest to kolejna rzecz, której nie umiem wytłumaczyć. Może jest tak, że używana przeglądarka nadpisuje systemową czcionkę?

Dodam jeszcze że nie znalazłem w naszym kodzie miejsca gdzie ruszamy rodzine fontu, więc zdajemy się na domyślne fonty BSa i używanej przeglądarki.

Żeby popchnąć sprawę dalej potrzebowałbym dostać od Pana konkretne nazwy wygenerowanych fontów z Pańskich skrinów.

lgpawel commented 10 months ago

Fonty to:

Dobra obserwacja z tym system-ui, choć nie rozumiem wysnutych wniosków. Skoro Noto Sans jest moją czcionką interfejsu, to chyba nic dziwnego, że widzę ją użytą w BS5 (ze względu na deklarację system-ui) a w BS4 – nie (bo tej deklaracji tam nie ma). Dziwne natomiast, że jak zmieniam tę czcionkę (w dialogu XFCE "Appearance") to na stronie zostaje Noto Sans. Być może to ustawienie siedzi jeszcze gdzieś indziej... (W Firefoksie jako domyślne są poustawiane fonty z rodziny DejaVu, ale one w tej chwili się w ogóle nie pojawiają.) Ale w zasadzie ta różnica powinna być widoczna u wszystkich, którzy nie używają Roboto jako fonta systemowego, a jak zrozumiałem na ostatnim spotkaniu, u mało kogo tak jest?

Kuriozalne jest natomiast to, że ww. ustawienie, które odróżnia mi tryb prywatny od zwykłego, i jego przestawianie skutkuje konsystentnymi zmianami fontów (między Roboto i Liberation Sans) w BS4, mówi o blokowaniu podejrzanych fingerprinterów, tymczasem po pierwsze Roboto mam jak najbardziej zainstalowaną lokalnie, a po drugie na drugim komputerze, który mam pod ręką, niezależnie od stanu ww. ustawienia nie widzę różnic między trybami (ale między wersjami BS już tak), ale... nie mam też zainstalowanego Roboto. Czyli co, Firefox podejrzewa o fingerprinting font serwowany z lokalnej maszyny?! (Ale jeśli potwierdzi się, że to samorzutnie przestało występować dla BS5, to nie musimy tego rozgryzać.)

lgpawel commented 1 month ago

Wydaje się, że nie umiem tego zreprodukować na komputerach, na których w międzyczasie zaktualizowałem system i w konsekwencji Firefoxa (plus jego konfiguracja pewnie nie jest już taka sama). Trochę żałuję, bo nawet jeśli problem był mocno niszowy, to jednak bardzo intrygujący i rozgryzienie go, o ile skuteczne, byłoby pouczające...