Re-review complete. Previous blockers are resolved:
Re-review complete. Previously requested QA changes are addressed:\n- Tailwind typography plugin is added and prose utilities are present in compiled CSS\n- Callout icon mapping now matches block choices (info/warning/trophy/tip)\n- Nav newsletter status message is visible (no longer permanently hidden)\n- Homepage sidebar now includes the wireframe-aligned Popular Articles section\n\nValidation rerun on latest PR head:\n- docker compose run --rm web pytest -q (pass, coverage gate pass)\n\nApproving.
QA findings behind request changes:
- Typography regression: article/about/legal templates use prose classes, but Tailwind config has plugins empty and package.json does not include @tailwindcss/…
Requesting changes after QA review.\n\nBlocking findings:\n\n1) Typography styles are not actually generated, so article/about/legal body styling regresses.\n- Templates now rely heavily on classes (e.g. templates/blog/article_page.html, templates/blog/about_page.html, templates/legal/legal_page.html), but Tailwind config has (theme/static_src/tailwind.config.js:33) and package.json has no .\n- Result: compiled CSS contains no utilities, so the long-form content does not match wireframe/implementation intent.\n\n2) Callout icon logic is inconsistent with the model choices and implementation spec.\n- Model allows: info, warning, trophy, tip (apps/blog/blocks.py:31-40).\n- Template handles: warning, error, success, else (templates/blog/blocks/callout_block.html:2-11).\n- and therefore fall back to generic icon; / are dead branches. This breaks expected callout variants and block-rendering parity.\n\n3) Desktop nav newsletter feedback is permanently hidden.\n- Message node has class (templates/components/nav.html:24), while JS only sets and never removes (static/js/newsletter.js).\n- Users get no success/error feedback in that primary subscribe entry point.\n\n4) Wireframe parity gap on homepage sidebar.\n- includes a sidebar block, but home template currently renders newsletter + topics only (templates/blog/home_page.html:111-134).\n\nVerification run:\n- ..................................................................... [100%]
Resolved in commit 36ac487:
- approved comment/reply rendering + reply forms
- reply depth enforced on write path (full_clean)
- trusted proxy IP handling (TRUSTED_PROXY_IPS)
- consent open-redirec…
Resolved review nohype/main-site#3 (comment) in commit 36ac487.\n\nImplemented fixes:\n- Comment UX now renders approved comments + one-level replies,…