{% extends "list.html" %} {% block title %} {{ thread.subject }} — {{ cfg("sr.ht", "site-name") }} lists {% endblock %} {% block head %} {% endblock %} {% block content %}
{% if user_message %}
{{user_message}}
{% endif %} {% if thread.patchset_id %}
This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch {{icon('caret-right')}}
{% endif %} {% macro display_message(msg) %} {% set stripped_subject = msg.subject[4:] if (msg.subject .upper().startswith("RE: ")) else msg.subject %} {% if msg == thread %} {% if msg.nreplies > 0 %} {{icon("reply")}} {{msg.nreplies}} {% endif %} {% if msg.nparticipants > 1 %} {{icon("user")}} {{msg.nparticipants}} {% endif %}

{{ msg.subject }}

{% elif stripped_subject != thread.subject %}

{{ msg.subject }}

{% endif %}
{% set from_hdr = msg.parsed()['From'] %} {% set from = parseaddr(from_hdr) %} {% if msg.sender != None %} {{from[0]}} {% else %} {{from[0]}} {% endif %} <{{ from[1] }}>
{% set dkim_status, dkim_explain = parse_auth_result(msg.parsed(), "dkim") %}
Details
Message ID
{{ msg.message_id }}
{% if msg.parent_id %}
In-Reply-To
{{ msg.parent.message_id }} (view parent)
{% endif %} {% if msg.message_date %}
Sender timestamp
{{"{:.0f}".format(msg.message_date.timestamp())}}
{% endif %}
DKIM signature
{% if dkim_status == None %} missing {% else %} {% if dkim_status == "pass" %} {{icon('check')}} {% elif dkim_status == "neutral" %} {% else %} {{icon('times')}} {% endif %} {{dkim_status}} {% if dkim_status not in ["pass", "neutral"] and ml.mirror_id %} (DKIM failures on mirrored lists are common) {% endif %} {% endif %}
Download raw message {% if ListAccess.moderate in access %}

Moderation tools

{{csrf_token()}}
{% endif %}
{% if msg.patch() != None %} {% set stats = diffstat(msg) %} Patch: +{{stats.added}} -{{stats.removed}} {% endif %} {# permerror issues are inaccurate for as-of-yet unknown reasons. See thread on opendkim-users 2019-03-04 #} {% if dkim_status != None and dkim_status != "pass" and dkim_status != "permerror" and not ml.mirror_id %} DKIM signature: {{icon("times")}} {{dkim_status}} {% endif %}
{{ format_body(msg) }}
{% endmacro %} {{ display_message(thread) }} {% for msg in messages %} {{ display_message(msg) }} {% endfor %}
Reply to thread {{icon('caret-right')}} Export thread (mbox) {{icon('caret-right')}}
{{csrf_token()}}
{% endblock %}