Repository navigation
Closed
Labels
dependenciesPull requests that update a dependency filePull requests that update a dependency filejavascriptPull requests that update Javascript codePull requests that update Javascript code
Description
Kontekst
Dependabot zgłasza critical advisory dla maplibre-gl ≤ 6.4.0 (XSS Sanitizer Bypass w DOM.sanitize()): https://github.com/iplweb/bpp/security/dependabot/358
maplibre-gl nie jest naszą bezpośrednią zależnością. Przychodzi przez plotly.js@^2.35.2 (w yarn.lock jest 2.35.3 → maplibre-gl@^4.5.2 → 4.7.1). Poprawka jest w maplibre-gl 6.4.1, a tę wersję ciągnie dopiero plotly.js 4.x (najnowsze: 4.1.2 → maplibre-gl 6.11.2). To skok o dwie wersje główne (2 → 3 → 4), więc wydzieliłem go z PR #731.
Realne ryzyko jest niskie. Serwujemy gotowy bundle plotly.js/dist/plotly.min.js i nie używamy tras mapowych (scattermap, choroplethmap itd.). Alert jednak wisi, a wersja 2.x i tak wypada ze wsparcia.
Gdzie używamy plotly.js
src/django_bpp/settings/base.py:YARN_FILE_PATTERNS["plotly.js"](dist/plotly.min.js,dist/plotly-locale-pl.js)src/django_bpp/templates/admin/index.html+src/admin_dashboard/static/admin_dashboard/js/lazy-charts.js: leniwie ładowane wykresy dashboardu adminasrc/ewaluacja_metryki/templates/ewaluacja_metryki/lista.htmlsrc/ewaluacja_metryki/templates/ewaluacja_metryki/szczegoly.htmlsrc/ewaluacja_optymalizacja/templates/ewaluacja_optymalizacja/discipline_comparison.html- testy:
src/admin_dashboard/tests/test_index_lazy_charts.py,src/integration_tests/test_admin_dashboard_lazy_charts.py
Do zrobienia
- Przejrzeć breaking changes plotly.js 3.0 i 4.0 (changelog / migration guide). Zwłaszcza usunięte atrybuty (
titlefont,*.titlejako string itp.), usunięte typy tras i zmiany wlayout. - Sprawdzić, czy
dist/plotly-locale-pl.jsnadal istnieje pod tą samą ścieżką w 4.x. - Podbić
plotly.jswpackage.jsondo^4.1,yarn install,make assets. - Dostosować konfiguracje wykresów w powyższych szablonach / JS.
- Ręcznie obejrzeć każdy wykres (dashboard admina, metryki lista/szczegóły, porównanie dyscyplin), bo testy nie łapią regresji wizualnych.
-
make tests(w tym Playwrighttest_admin_dashboard_lazy_charts). - Zweryfikować, że alert Dependabota perf(search): GIN zamiast GiST dla indeksu pełnotekstowego bpp_rekord_mat #358 się zamknął.
🤖 Generated with Claude Code
Metadata
Metadata
Assignees
Labels
dependenciesPull requests that update a dependency filePull requests that update a dependency filejavascriptPull requests that update Javascript codePull requests that update Javascript code
Activity