about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Added a frontend to the application. TODO: Login, alternative themes, ↵Vika2021-05-096-37/+751
| | | | built-in Micropub capabilities when logged in
* Fixed parsing the reply context for webmentions if there is no webmention ↵Vika2021-05-091-1/+19
| | | | endpoint
* Fixed Micropub client channels and sending payloadVika2021-05-091-11/+21
|
* Added a debug shim to IndieAuthMiddleware that makes it a no-op in staging ↵Vika2021-05-091-1/+15
| | | | (except unit tests)
* Add a note about a possible optimization once the MF2 parser is readyVika2021-05-061-0/+3
|
* Deduplicated the fetched posts to save on bandwidth and timeVika2021-05-061-2/+8
|
* 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.
* Added a note to future selfVika2021-05-051-0/+7
|
* Moved things in Cargo.toml to make it prettierVika2021-05-051-15/+21
|
* Added rudimentary caching to IndieAuth middlewareVika2021-05-054-37/+116
|
* Moved the client to /micropub/clientVika2021-05-051-4/+5
|
* Refactored the Redis instance spawning in tests to automatically kill RedisVika2021-05-053-40/+43
|
* Removed the in-memory database, it's dragging me downVika2021-05-053-214/+0
|
* Deleted a loose TODOVika2021-05-051-1/+0
|
* Moved the Redis spawner to the Redis module where it belongs, refactored ↵Vika2021-05-053-78/+110
| | | | tests to use the Redis database instead of a fake one
* Added a connection pool to the RedisDatabaseVika2021-05-053-129/+32
|
* Refactored error handling in RedisStorage using the ? operatorVika2021-05-051-184/+124
|
* Made some StorageError fields private and added getters insteadVika2021-05-051-2/+5
|
* Updated nixpkgsVika2021-05-051-3/+3
|
* Switched to naersk for building crates with Nix... that requires unstable Cargo!Vika2021-05-052-9/+38
|
* Clippy lintsVika2021-05-045-34/+27
|
* Made StorageErrors directly convertible into Micropub JSON responsesVika2021-05-043-15/+22
|
* Fixed Redis testsVika2021-05-042-4/+6
|
* Implemented MemoryStorage::update_post()Vika2021-05-042-1/+84
|
* Refactored the database module and its testsVika2021-05-049-419/+519
|
* Initial commitVika2021-05-0416-0/+4745
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!!!