{% extends "base.html" %} {% comment %} A broadcast's detail page (SPEC §13.2: "live counters from stats json"). Everything that moves lives in _counters.html, polled every three seconds through apps/common/polling.py's conditional GET. The two htmx traps that module documents are handled in the script block at the bottom, and both are load bearing: htmx does not send If-None-Match on its own, and htmx 2's default responseHandling matches "304" with its [23].. rule, so without the prepended rule an unchanged poll would swap an empty body over the counters and blank them. {% endcomment %} {% block title %}{{ broadcast.name }} · Broadcasts · DemandTrail Messaging{% endblock %} {% block page_header %}
{{ broadcast.channel_connection.display_name }}