<feed xmlns='http://www.w3.org/2005/Atom'>
<title>webmentions-ssg/webmentions_ssg/views.py, branch main</title>
<subtitle>A web service that implements webmentions receiver/sender for static site generators.</subtitle>
<id>https://git.dennisfink.me/webmentions-ssg/atom/webmentions_ssg/views.py?h=main</id>
<link rel='self' href='https://git.dennisfink.me/webmentions-ssg/atom/webmentions_ssg/views.py?h=main'/>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/'/>
<updated>2026-08-22T06:00:24Z</updated>
<entry>
<title>fix(sender): correct resend redirect route</title>
<updated>2026-08-22T06:00:24Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-22T06:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=c1270697d3846b1be445d19bd6490e24f8e1d504'/>
<id>urn:sha1:c1270697d3846b1be445d19bd6490e24f8e1d504</id>
<content type='text'>
Use the sent source route's expected parameter name when redirecting
after a manual Webmention resend.

Expand view coverage for authentication, admin actions, status
rendering, resends, rescans, and concurrent endpoint submissions.
</content>
</entry>
<entry>
<title>feat(sender): paginate sent webmention details</title>
<updated>2026-08-21T11:13:23Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-21T11:13:23Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=75d22f618b22de6d26ed66bd9a15bf7a66e97af9'/>
<id>urn:sha1:75d22f618b22de6d26ed66bd9a15bf7a66e97af9</id>
<content type='text'>
Load sent Webmentions with database-backed pagination instead of eagerly
loading the full relationship for each source.

Condense delivery, revision, and activity metadata in the source detail
table and add pagination controls for large Webmention sets.
</content>
</entry>
<entry>
<title>feat(sender): add manual Webmention resend action</title>
<updated>2026-08-21T09:08:53Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-21T09:08:53Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=66ad7fefff6edc1d993f5c347430a28d63727988'/>
<id>urn:sha1:66ad7fefff6edc1d993f5c347430a28d63727988</id>
<content type='text'>
Add an authenticated action to reopen a sent Webmention revision and
queue it for delivery again from the source detail view.

Clear the previous attempt state while preserving historical
successful-send data, and show pending Webmentions explicitly in the UI.
</content>
</entry>
<entry>
<title>docs(core): add docstrings and type annotations</title>
<updated>2026-08-20T21:01:59Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-20T21:01:59Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=5bfcc3c06ebe6d6694221c25f07a4901572f97f5'/>
<id>urn:sha1:5bfcc3c06ebe6d6694221c25f07a4901572f97f5</id>
<content type='text'>
Document forms, validators, models, and views with PEP 287-style
docstrings and complete missing type annotations.

Add developer-readable representations for Webmention models and mark
the user password property as write-only in its return type.
</content>
</entry>
<entry>
<title>chore(core): standardize SPDX copyright headers</title>
<updated>2026-08-20T20:22:15Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-20T20:22:15Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=12b8c4b7f1d14556cc459f672b501e901da2d216'/>
<id>urn:sha1:12b8c4b7f1d14556cc459f672b501e901da2d216</id>
<content type='text'>
Add SPDX copyright and license headers to source, test, migration,
template, and static files throughout the project.

Include the maintainer email in copyright notices and fill in the BSD
license copyright holder.
</content>
</entry>
<entry>
<title>feat(sender): add manual source rescan action</title>
<updated>2026-08-17T18:06:22Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-17T18:06:22Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=d4a03623544aac0ce911d8471ff4b033bc3255e1'/>
<id>urn:sha1:d4a03623544aac0ce911d8471ff4b033bc3255e1</id>
<content type='text'>
Add an authenticated action to queue a source rescan from the sent
Webmentions overview.

Extract the reusable confirmation modal and its JavaScript so received
and sent admin actions share the same implementation.
</content>
</entry>
<entry>
<title>feat(sender): add outgoing Webmention pipeline</title>
<updated>2026-08-15T18:54:53Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-15T18:54:53Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=e0f65d7ff582b32f1c7b5508bba8cda807aaae5f'/>
<id>urn:sha1:e0f65d7ff582b32f1c7b5508bba8cda807aaae5f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>feat(core): add received webmention admin actions</title>
<updated>2026-08-10T21:28:03Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-10T21:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=b3e12b975064f0873bdb4d2834cae75925387d6b'/>
<id>urn:sha1:b3e12b975064f0873bdb4d2834cae75925387d6b</id>
<content type='text'>
Add authenticated delete and reverify actions to the received
webmentions admin view and protect them with CSRF validation.

Enable CSRF protection globally while exempting the public Webmention
endpoint.
</content>
</entry>
<entry>
<title>Implement received Webmention handling</title>
<updated>2026-08-09T12:22:00Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-08-09T12:15:29Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/webmentions-ssg/commit/?id=67eff0a854da010cb6ecd119d84238ec3e119272'/>
<id>urn:sha1:67eff0a854da010cb6ecd119d84238ec3e119272</id>
<content type='text'>
Add the Flask application setup, database models and migrations,
authentication, and configuration for development and testing.

Implement asynchronous Webmention verification with Huey, including HTML
and plain-text source validation, retries, status tracking, and size
limits.

Add status, login, and paginated received-Webmention views together with
comprehensive tests for forms, views, and receiver tasks.
</content>
</entry>
</feed>
