about summary refs log tree commit diff
path: root/src/micropub
Commit message (Collapse)AuthorAgeFilesLines
* Turns out assert!() can have a second argument with a panic reason. Cool!Vika2021-05-061-19/+16
|
* Added post-processing of new postsVika2021-05-061-6/+143
| | | | | | | | | | | | | This launches a background task to handle: - Downloading reply contexts (requires an MF2 parser, doesn't work yet) - Syndicating the post (currently no syndication targets are defined) - Sending WebSub notifications if a hub is present (WIP) - Sending webmentions (ok this one is fully implemented... I hope!) This background task should not impact processing times and should never conflict with futher updates of a post, since the database is guaranteed to be fully atomic. Inside of the task, you can run long asynchronous fetching and stuff, just don't block the whole thread.
* Clippy lintsVika2021-05-041-8/+8
|
* Made StorageErrors directly convertible into Micropub JSON responsesVika2021-05-042-15/+6
|
* Refactored the database module and its testsVika2021-05-041-1/+0
|
* Initial commitVika2021-05-043-0/+524
Working features: - Sending posts from the database - Reading posts from the database - Responding with MF2-JSON (only in debug mode!) - Not locking the database when not needed - All database actions are atomic (except for a small race where UIDs can clash, but that's not gonna happen often) TODOs: - Send webmentions - Send syndication requests - Send WebSub notifications - Make tombstones for deleted posts (update adding dt-deleted) - Rich reply contexts (possibly on the frontend part?) - Frontend? - Fix UID race Code maintenance TODOs: - Split the database module - Finish implementing the in-memory test database - Make RedisDatabase unit tests launch their own Redis instances (see redis-rs/tests/support/mod.rs for more info) - Write more unit-tests!!!