From e0f65d7ff582b32f1c7b5508bba8cda807aaae5f Mon Sep 17 00:00:00 2001 From: Dennis Fink Date: Sat, 15 Aug 2026 20:54:53 +0200 Subject: feat(sender): add outgoing Webmention pipeline Scan generated h-entry documents for Webmention targets and track source revisions and delivery state in the database. Discover target endpoints, send Webmentions asynchronously, and reconcile updated, removed, restored, and deleted sources across scans. Add authenticated views for inspecting sent Webmentions and make the scanner schedule configurable. --- webmentions_ssg/templates/sent_source.html | 155 +++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 webmentions_ssg/templates/sent_source.html (limited to 'webmentions_ssg/templates/sent_source.html') diff --git a/webmentions_ssg/templates/sent_source.html b/webmentions_ssg/templates/sent_source.html new file mode 100644 index 0000000..6d397f2 --- /dev/null +++ b/webmentions_ssg/templates/sent_source.html @@ -0,0 +1,155 @@ +{% extends "base.html" %} +{% block content %} +
+ ← Back to sources +
+
+

Source Details

+
+
+
+
UUID
+
+ {{ source.uuid }} +
+
Hash
+
+ {{ source.content_hash }} +
+
Path
+
+ {{ source.path }} +
+
URL
+
+ {{ source.url }} +
+
Created at
+
+ +
+
Last seen at
+
+ +
+
Revised at
+
+ +
+
Deleted at
+
+ {% if source.deleted_at is none %} + N/A + {% else %} + + {% endif %} +
+
Revision
+
+ {{ source.revision }} +
+
+
+
+

Sent Webmentions

+ {{ webmentions | length }} webmentions +
+ {% if webmentions %} +
+ + + + + + + + + + + + + + + + + + + {% for webmention in webmentions %} + + + + + + + + + + + + + + + {% endfor %} + +
TargetStatusActiveDesired revisionProcessed revisionSent revisionFailure ReasonEndpointResponse StatusStatus URLLast Attempted atLast Sent at
+ {{ webmention.target }} + {{ webmention.status.value }} + {% if webmention.active %} + Active + {% else %} + Removed + {% endif %} + {{ webmention.desired_revision }} + {{ webmention.processed_revision + if webmention.processed_revision is not none + else "—" }} + + {{ webmention.sent_revision + if webmention.sent_revision is not none + else "—" }} + + {{ webmention.failure_reason + if webmention.failure_reason is not none + else "—" }} + + {{ webmention.endpoint + if webmention.endpoint is not none + else "—" }} + + {{ webmention.response_status + if webmention.response_status is not none + else "—" }} + + {{ webmention.status_url + if webmention.status_url is not none + else "—" }} + + {% if webmention.last_attempted_at is not none %} + + {% else %} + — + {% endif %} + + {% if webmention.last_sent_at is not none %} + + {% else %} + — + {% endif %} +
+
+ {% else %} +

No Webmentions have been discovered for this source.

+ {% endif %} +{% endblock %} -- cgit v1.3.1