about summary refs log tree commit diff
path: root/src/main.rs
Commit message (Collapse)AuthorAgeFilesLines
* Get cookie key from the environmentVika2024-08-011-1/+8
|
* Move Kittybox router composition into the libraryVika2024-08-011-53/+2
| | | | | | | | Since Kittybox router composition is entirely generic, we can move it into the library. I feel like I could also split database types into their own crates, too.
* Simplify jobset creation a littleVika2024-08-011-1/+2
|
* Migrate from axum::Extension to axum::extract::StateVika2024-08-011-257/+166
| | | | | This somehow allowed me to shrink the construction phase of Kittybox by a huge amount of code.
* Start working on login functionalityVika2024-07-091-1/+4
|
* Mask sensitive headersVika2024-06-141-1/+7
|
* Moved the entire Kittybox tree into the rootVika2023-07-291-0/+489
|
* flake.nix: reorganizeVika2022-05-241-256/+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
* chore: code cleanup in main.rsVika2022-05-141-8/+6
|
* treewide: prepare for mf2 parsing and cleanup unused codeVika2022-05-121-18/+10
|
* media: move to separate subtreeVika2022-05-101-1/+1
| | | | | | | | 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)
* Don't enable tokio-console support in productionVika2022-05-071-0/+1
|
* main.rs: clean up some dumb stuffVika2022-05-071-8/+6
| | | | | Match blocks and ifs are actually perfectly usable as expressions. I forgot about that when writing that code.
* added tokio-console instrumentation supportVika2022-04-171-0/+1
|
* Cargo.toml: add reqwestVika2022-04-151-0/+17
| | | | It's an advanced HTTP client that can do more than vanilla Hyper does.
* feat: graceful shutdownVika2022-04-151-4/+20
| | | | | | Now Kittybox can gracefully shutdown on SIGTERM. Nice! TODO: consider shutting down on multiple signals
* Port onboardingVika2022-03-071-1/+5
|
* Restored most of the functionality (except onboarding and some queries)Vika2022-03-061-44/+80
|
* Use the media endpoint stubsVika2022-02-211-2/+1
|
* Small tweaks, additions and preparationsVika2022-02-211-16/+23
|
* WIP: convert to Tokio and WarpVika2022-02-151-17/+101
| | | | | | | | | | | 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...
* Make rustfmt and clippy happyVika2021-12-061-1/+1
|
* Added support for IndieAuth client sign inVika2021-12-061-0/+19
| | | | | | | This will allow readers to view private posts intended just for them. Additionally fixed bugs in patterns due to which webmentions might not have been sent.
* Code cleanup and small bugfixing in templatesVika2021-12-051-2/+3
|
* Deprecated Redis backend and added a database migration tool (untested, beware)Vika2021-10-271-16/+2
|
* Moved integration tests and allowed the binary to use file backendVika2021-09-261-14/+36
| | | | | | Now the Redis dependencies are optional and only required if you want to test the backend or actually use it in production. The app displays a hint if you try to launch with an unsupported backend.
* Appease rustfmt, clippy and cargo checkVika2021-07-291-1/+1
|
* Added an internal token mechanismVika Shleina2021-07-271-0/+3
| | | | | | | | 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.
* make clippy happyVika Shleina2021-07-191-1/+0
|
* Renamed main executable to kittybox, added toolsVika Shleina2021-07-191-3/+3
| | | | | | | | | 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 happyVika2021-05-171-6/+14
|
* Refactoring, easter egg, healthcheck endpoint, support for rel= indieweb ↵Vika2021-05-171-2/+20
| | | | APIs and preparation for onboarding
* Clippy lintsVika2021-05-041-2/+1
|
* Initial commitVika2021-05-041-0/+48
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!!!