{% comment %} Live event feed — the most recent honeypot hits, newest on top. Connection: the HTMX WebSocket extension (hx-ext="ws") owns the socket to /ws/events/ — connect, keepalive and auto-reconnect for free. The events consumer (apps/events/consumers.py) sends JSON, not HTML, because the live map shares this same socket and needs structured lat/lon. So instead of letting htmx swap raw HTML, event_table.js listens for htmx's `htmx:wsAfterMessage`, parses the JSON row, clones the