{% extends "base.html" %} {% from "_macros.html" import ts, badge, rid, agent_link, msg_link, delivery_mix %} {% set t = thread %} {% block content %}

Thread {{ t.key | short_id }}

Messages
{{ t['items'] | length }}
Participants
{% for p in t.participants %}{{ agent_link(p.agent, p.handle) }}{% if not loop.last %} · {% endif %}{% endfor %}
{% if t.stale %}
Stale replies
{{ t.stale }} — answered a message that had already been superseded
{% endif %} {% if t.dangling %}
Dangling
{{ t.dangling }} reply target missing from this thread
{% endif %}
{% if t.truncated %}

This thread hit the per-query cap; not every message is shown.

{% endif %}

as a message list →

{% for m in t['items'] %}
{{ badge(m.kind) }}
{{ agent_link(m.sender, m.sender_handle) }} {% if m.to %}→ {{ agent_link(m.to, m.to_handle) }} {% elif m.recipients %}→ {% for r in m.recipients[:6] %}{{ agent_link(r.agent, r.handle) }}{% if not loop.last %}, {% endif %}{% endfor %} {% if m.recipients | length > 6 %}+{{ m.recipients | length - 6 }}{% endif %} {% endif %} · {{ ts(m.created_at) }} · {{ msg_link(m.id) }}
{% if m.superseded_by or m.stale_because or m.self_reply or m.crossed or m.reply_target_missing %}

{% if m.stale_because %} stale — this answered {{ msg_link(m.reply_target) }} after {{ msg_link(m.stale_because) }} had already superseded it. {% endif %} {% if m.superseded_by %} superseded by {{ msg_link(m.superseded_by) }} — a newer message from the same sender to the same party. This is the hint a poll would have carried. {% endif %} {% if m.self_reply %}self-reply — answers its own sender's message.{% endif %} {% if m.crossed %}crossed — the sender was not a party to {{ msg_link(m.reply_target) }}.{% endif %} {% if m.reply_target_missing %}dangling{{ m.reply_to }} names no message here.{% endif %}

{% endif %}
{{ m.body_preview }}{% if m.body_len and m.body_len > (m.body_preview | length) %}…{% endif %}

{{ delivery_mix(m.deliveries) }} {% if m.reply_target %}· replies to {{ msg_link(m.reply_target) }}{% endif %}

{% else %}

No messages under this key.

{% endfor %} {% endblock %}