Replace hardcoded /opt/playwright-tools mount with a persistent Docker volume cache and install Chromium into that cache before E2E jobs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use category-state-driven queries for nav and category listing routes, and add regression tests for empty but valid categories.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disable reverse manager generation on ArticlePage.category and switch category selection to id-based queries so CI mypy can resolve models reliably.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wrap long lines for Ruff and restore a single 'All' tag-reset link to avoid Playwright strict-mode collisions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>