Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Added CORS middleware | Vika | 2021-07-27 | 2 | -0/+23 | |
| | | | | | This prevents Micropub requests fired from web apps on other domains from being blocked by overzealous browsers. | |||||
* | Added an internal token mechanism | Vika Shleina | 2021-07-27 | 3 | -0/+18 | |
| | | | | | | | | The internal token is a shared secret that can update and delete any posts stored in the database. It is intended for use in webmention endpoints to update posts with latest webmentions. Please keep it safe. | |||||
* | Fixed security hole where other people could delete YOUR posts. Yes, yours. ↵ | Vika Shleina | 2021-07-21 | 2 | -0/+67 | |
| | | | | You're welcome. | |||||
* | Don't show internal links on h-cards | Vika Shleina | 2021-07-19 | 1 | -1/+1 | |
| | ||||||
* | Fixed crash when h-card doesn't contain a p-note | Vika Shleina | 2021-07-19 | 1 | -3/+4 | |
| | ||||||
* | Fixed feed pagination on frontend | Vika Shleina | 2021-07-19 | 1 | -1/+4 | |
| | ||||||
* | Relaxed anti-takeover URL check to simply not place redirects at foreign URLs | Vika Shleina | 2021-07-19 | 5 | -16/+14 | |
| | ||||||
* | Replaced scheme with HTTPS in frontend to prevent weird things | Vika Shleina | 2021-07-19 | 2 | -6/+11 | |
| | ||||||
* | Added URL display to h-cards | Vika Shleina | 2021-07-19 | 1 | -0/+14 | |
| | ||||||
* | frontend: fixed site name, added thumbnail support and Markdown tutorial link | Vika Shleina | 2021-07-19 | 1 | -7/+16 | |
| | ||||||
* | make clippy happy | Vika Shleina | 2021-07-19 | 6 | -20/+18 | |
| | ||||||
* | Renamed main executable to kittybox, added tools | Vika Shleina | 2021-07-19 | 3 | -3/+101 | |
| | | | | | | | | | The new tools are: - kittybox-bulk-import, a bare-bones Micropub client that reads a JSON list of posts and then sends them one by one to the Micropub endpoint - pyindieblog-export, my personal tool which directly connects to Pyindieblog's redis instance and extracts data from it in JSON format suitable for use with kittybox-bulk-import. | |||||
* | Make rustfmt happy again after Clippy edits | Vika | 2021-05-18 | 2 | -13/+19 | |
| | ||||||
* | Make clippy happy | Vika | 2021-05-17 | 4 | -36/+30 | |
| | ||||||
* | Make rustfmt happy | Vika | 2021-05-17 | 9 | -528/+1188 | |
| | ||||||
* | Minimal onboarding support. TODO: h-card avatars | Vika | 2021-05-17 | 2 | -1/+57 | |
| | ||||||
* | Onboarding - initial feature | Vika | 2021-05-17 | 4 | -6/+349 | |
| | ||||||
* | Added setting store per-user | Vika | 2021-05-17 | 2 | -0/+28 | |
| | ||||||
* | Update CI configuration and GitLab WebIDE settings | Vika | 2021-05-17 | 1 | -1/+1 | |
| | ||||||
* | Fixed failing tests again - forgot to unwrap | Vika | 2021-05-17 | 1 | -1/+1 | |
| | ||||||
* | Fixed failing tests | Vika | 2021-05-17 | 1 | -0/+2 | |
| | ||||||
* | Refactoring, easter egg, healthcheck endpoint, support for rel= indieweb ↵ | Vika | 2021-05-17 | 6 | -17/+86 | |
| | | | | APIs and preparation for onboarding | |||||
* | More descriptive error handling and more descriptive TODOs | Vika | 2021-05-09 | 2 | -9/+15 | |
| | ||||||
* | Added support for more default feeds, added a feed for vCards | Vika | 2021-05-09 | 1 | -15/+42 | |
| | ||||||
* | Added a frontend to the application. TODO: Login, alternative themes, ↵ | Vika | 2021-05-09 | 3 | -37/+710 | |
| | | | | built-in Micropub capabilities when logged in | |||||
* | Fixed parsing the reply context for webmentions if there is no webmention ↵ | Vika | 2021-05-09 | 1 | -1/+19 | |
| | | | | endpoint | |||||
* | Fixed Micropub client channels and sending payload | Vika | 2021-05-09 | 1 | -11/+21 | |
| | ||||||
* | Added a debug shim to IndieAuthMiddleware that makes it a no-op in staging ↵ | Vika | 2021-05-09 | 1 | -1/+15 | |
| | | | | (except unit tests) | |||||
* | Add a note about a possible optimization once the MF2 parser is ready | Vika | 2021-05-06 | 1 | -0/+3 | |
| | ||||||
* | Deduplicated the fetched posts to save on bandwidth and time | Vika | 2021-05-06 | 1 | -2/+8 | |
| | ||||||
* | Turns out assert!() can have a second argument with a panic reason. Cool! | Vika | 2021-05-06 | 1 | -19/+16 | |
| | ||||||
* | Added post-processing of new posts | Vika | 2021-05-06 | 1 | -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 self | Vika | 2021-05-05 | 1 | -0/+7 | |
| | ||||||
* | Added rudimentary caching to IndieAuth middleware | Vika | 2021-05-05 | 2 | -29/+85 | |
| | ||||||
* | Moved the client to /micropub/client | Vika | 2021-05-05 | 1 | -4/+5 | |
| | ||||||
* | Refactored the Redis instance spawning in tests to automatically kill Redis | Vika | 2021-05-05 | 3 | -40/+43 | |
| | ||||||
* | Removed the in-memory database, it's dragging me down | Vika | 2021-05-05 | 3 | -214/+0 | |
| | ||||||
* | Deleted a loose TODO | Vika | 2021-05-05 | 1 | -1/+0 | |
| | ||||||
* | Moved the Redis spawner to the Redis module where it belongs, refactored ↵ | Vika | 2021-05-05 | 3 | -78/+110 | |
| | | | | tests to use the Redis database instead of a fake one | |||||
* | Added a connection pool to the RedisDatabase | Vika | 2021-05-05 | 1 | -17/+27 | |
| | ||||||
* | Refactored error handling in RedisStorage using the ? operator | Vika | 2021-05-05 | 1 | -184/+124 | |
| | ||||||
* | Made some StorageError fields private and added getters instead | Vika | 2021-05-05 | 1 | -2/+5 | |
| | ||||||
* | Clippy lints | Vika | 2021-05-04 | 5 | -34/+27 | |
| | ||||||
* | Made StorageErrors directly convertible into Micropub JSON responses | Vika | 2021-05-04 | 3 | -15/+22 | |
| | ||||||
* | Fixed Redis tests | Vika | 2021-05-04 | 2 | -4/+6 | |
| | ||||||
* | Implemented MemoryStorage::update_post() | Vika | 2021-05-04 | 2 | -1/+84 | |
| | ||||||
* | Refactored the database module and its tests | Vika | 2021-05-04 | 6 | -387/+423 | |
| | ||||||
* | Initial commit | Vika | 2021-05-04 | 9 | -0/+1854 | |
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!!! |