aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* feat(sender): add manual source rescan actionDennis Fink2026-08-17
| | | | | | | | 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.
* feat(sender): improve sent webmention status displayDennis Fink2026-08-16
| | | | | | | Highlight source and Webmention rows based on their current state and use badges for clearer status and activity indicators. Make discovered endpoints and status URLs clickable in the detail view.
* refactor(core): remove user credential length limitsDennis Fink2026-08-16
| | | | | | | | Store usernames and password hashes as text instead of fixed-length strings so their maximum length is not constrained by the database schema. Require every user to have a password hash.
* feat(sender): add outgoing Webmention pipelineDennis Fink2026-08-15
| | | | | | | | | | | 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.
* feat(core): add received webmention admin actionsDennis Fink2026-08-10
| | | | | | | | 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.
* test: simplify mocks and localize test fixturesDennis Fink2026-08-10
| | | | | | | | Replace shared HTTPX and DNS fixtures with targeted unittest.mock patches close to the tests that need them. Keep conftest focused on application and client setup, while moving receiver-specific helpers into the receiver test module.
* fix(receiver): prevent requests to non-public addressesDennis Fink2026-08-10
| | | | | | | | | Resolve source hostnames before fetching and reject addresses that are not globally routable to prevent SSRF against local or private services. Repeat the check for every HTTP request so redirects cannot bypass the initial source validation. Treat DNS resolution failures during verification as temporary fetch errors.
* Merge branch 'main' of git.dennisfink.me:webmentions-ssgDennis Fink2026-08-09
|\
| * Implement received Webmention handlingDennis Fink2026-08-09
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Implement received Webmention handlingDennis Fink2026-08-09
|/ | | | | | | | | | | | 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.
* Initialize repository for webmentions-ssgDennis Fink2026-06-24