Block a user
Auto slug/summary/SEO and deterministic tag colours
Both issues from the previous review are resolved cleanly:
Auto slug/summary/SEO and deterministic tag colours
QA Review — PR #65: Auto slug/summary/SEO and deterministic tag colours
Auto slug/summary/SEO and deterministic tag colours
Performance bug — eager default evaluation. Python evaluates get_auto_tag_colour_css(self.tag.name) before calling dict.get(), so it runs on every call even when self.colour matches a valid key. This means an MD5 hash is computed and potentially an extra DB query is fired (to load self.tag) — then the result is silently discarded.
Auto slug/summary/SEO and deterministic tag colours
This test doesn't exercise auto-generation. slug="my-great-article" is truthy, so the save() condition not getattr(self, "slug", "") is False and the auto-slug path is never entered. This test verifies "preserve explicit slug", not "auto-generate slug from title".
Stat card visualization overhaul — replace inappropriate radial charts
feat: chart visual overhaul — gradients, area fills, diverse colour palette