about summary refs log tree commit diff
path: root/src/micropub/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
* database: use Url to represent user authoritiesVika2024-07-091-3/+3
| | | | This makes the interface more consistent and resistant to misuse.
* micropub: fix channels in ?q=configVika2024-07-091-1/+2
|
* Expose ?q=category queries in Micropub APIVika2024-03-041-1/+15
|
* Switch reply contexts from a Vec to HashMapVika2023-11-131-16/+15
| | | | This reduces the worst-case complexity to O(n) from O(n^2).
* Fix bug with likes/bookmarks on h-entries lacking URLs in markupVika2023-10-151-7/+21
|
* Moved the entire Kittybox tree into the rootVika2023-07-291-0/+846
|
* flake.nix: reorganizeVika2022-05-241-964/+0
| | | | | | | | | | | | - Kittybox's source code is moved to a subfolder - This improves build caching by Nix since it doesn't take changes to other files into account - Package and test definitions were spun into separate files - This makes my flake.nix much easier to navigate - This also makes it somewhat possible to use without flakes (but it is still not easy, so use flakes!) - Some attributes were moved in compliance with Nix 2.8's changes to flake schema
* feat: webmention sending and reply context enrichmentVika2022-05-141-44/+160
| | | | | | | These features share some code since they both require fetching reply contexts, so it makes sense to implement them together. TODO cover webmention sending with integration tests
* treewide: prepare for mf2 parsing and cleanup unused codeVika2022-05-121-23/+82
|
* media: move to separate subtreeVika2022-05-101-50/+0
| | | | | | | | This will ease future extraction of the media endpoint to a separate crate. This is highly desirable since it will allow Kittybox's media endpoint to be used separately in instances where a standalone media endpoint is desirable (e.g. custom solutions using my code to polyfill for desired functionality that is undesirable to implement by oneself)
* Get rid of todo!() invocationsVika2022-03-231-4/+32
| | | | | | This stubs the neccesary code with enough stuff that it will work and be accepted by most compliant Micropub implementations. Later, this can be extended when the neccesary amendments and refactors are done.
* Get rid of legacy code, fix mistakes in fluff text and commentsVika2022-03-231-3/+3
|
* Port onboardingVika2022-03-071-3/+15
|
* Restored most of the functionality (except onboarding and some queries)Vika2022-03-061-67/+550
|
* Added stubs for Micropub posts and the media endpointVika2022-02-211-1/+83
|
* micropub: flesh out queryVika2022-02-211-47/+180
|
* WIP: convert to Tokio and WarpVika2022-02-151-29/+99
| | | | | | | | | | | Warp allows requests to be applied as "filters", allowing to flexibly split up logic and have it work in a functional style, similar to pipes. Tokio is just an alternative runtime. I thought that maybe switching runtimes and refactoring the code might allow me to fish out that pesky bug with the whole application hanging after a certain amount of requests...
* Appease rustfmt, clippy and cargo checkVika2021-07-291-3/+7
|
* Added CORS middlewareVika2021-07-271-0/+21
| | | | | This prevents Micropub requests fired from web apps on other domains from being blocked by overzealous browsers.
* Make rustfmt happyVika2021-05-171-1/+1
|
* Refactoring, easter egg, healthcheck endpoint, support for rel= indieweb ↵Vika2021-05-171-3/+4
| | | | APIs and preparation for onboarding
* Initial commitVika2021-05-041-0/+5
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!!!