{% extends "base.html" %} {% block content %}

Inboxes

Polling health and manual import controls.

{% for inbox in inboxes %} {% set job = jobs.get(inbox.inbox_id) if jobs else none %} {% set running = job and job.status in ["queued", "running"] %} {% set skipped = skipped_payloads.get(inbox.inbox_id, []) if skipped_payloads else [] %}

{{ inbox.label }}

{{ inbox.inbox_id }} {% set status_label = "running" if running else ("disabled" if not inbox.enabled else ("error" if inbox.last_error else "ready")) %} {{ status_label }}

{{ inbox.domain }} · {{ inbox.folder }} · {{ inbox.recipient }}

Last Check{{ inbox.last_check_at | fmt_dt }}
Last Success{{ inbox.last_success_at | fmt_dt }}
New Messages{{ inbox.last_new_messages }}
Imported{{ inbox.last_reports_imported }}

{{ inbox.last_error or "" }}

visibility View Domain
{% if running %} {{ job.processed_messages }} of {{ job.scanned_messages or "?" }} scanned · {{ job.valid_reports_imported }} imported {% endif %}
{% if skipped %}
Skipped report payloads {{ skipped|length }} {% for item in skipped %} {% endfor %}
Reason Reporter Report ID Report Date Skipped IMAP UID
{{ item.reason.replace("_", " ") }} {{ item.reporting_org or "unknown" }} {{ item.report_identifier or ("DB #" ~ item.existing_report_id) }} {{ item.report_date | fmt_date }} {{ item.imap_uid }}
{% endif %}
{% else %}
No inboxes are configured.
{% endfor %}
{% endblock %}