about summary refs log tree commit diff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* templates-neo: initVika2023-07-311-0/+37
| | | | | | This is an experimental approach to templates, using `yoshuawuyts`'s `html` crate. The crate itself has a promising API, but is notably incomplete.
* Moved the entire Kittybox tree into the rootVika2023-07-291-0/+4589
|
* flake.nix: reorganizeVika2022-05-241-4247/+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
* templates: introduce unit testsVika2022-05-231-0/+4
| | | | | | | | | | | | | | | These unit tests generate a random MF2-JSON post, convert it to MF2-HTML using the template and then read it back using the `microformats` crate. The only problem is that it has a nasty bug with overstuffing implied properties. This is being worked on: https://gitlab.com/maxburon/microformats-parser/-/issues/7 For now the tests marked as ignored because they fail. But the function itself that generates them should remain here for documentation and potential code sharing with the `microformats` crate, potentially even migrating to a subcrate there.
* Cargo.toml: fix Nix builds in restricted modeVika2022-05-121-98/+79
|
* treewide: prepare for mf2 parsing and cleanup unused codeVika2022-05-121-93/+359
|
* FileStorage: fixes and regression tests for read_feed_with_limitVika2022-05-101-7/+18
| | | | Now I will know if something breaks horribly again.
* Split into different cratesVika2022-05-071-1/+22
| | | | | | | | | Templates and utility types are now separate crates to speed up compilation, linting and potential reuse/replacement. Potentially more crates could be split out/modularized, resulting in speedups, smaller binaries (whenever features are excluded) and even more reuse capabilities.
* Cargo.lock: updateVika2022-05-031-413/+535
|
* chore: code cleanupVika2022-05-011-55/+0
|
* added tokio-console instrumentation supportVika2022-04-171-12/+346
|
* added mediatype to replace http_types::MimeVika2022-04-171-0/+7
|
* Cargo.toml: add reqwestVika2022-04-151-3/+68
| | | | It's an advanced HTTP client that can do more than vanilla Hyper does.
* Make the settings in the database a strong typeVika2022-03-231-0/+10
|
* Restored most of the functionality (except onboarding and some queries)Vika2022-03-061-0/+1
|
* metrics: new metrics collection using warp-prometheusVika2022-03-021-5/+82
|
* add compat between http_types and httpVika2022-02-211-0/+1
|
* Add a module for IndieAuth bearer token authVika2022-02-211-0/+535
| | | | | | | | | | | | | require_token() uses a token endpoint URI and an HTTP client to query the token endpoint and return a User object if the user was authorized, or rejecting with IndieAuthError if not. It is recommended to use recover() and catch the IndieAuthError at the application level to show a "not authorized" error message to the user. This function is more intended for API consumption, but is general enough to permit using in other scenarios. TODO: make a variant that returns Option<User> instead of rejecting
* WIP: convert to Tokio and WarpVika2022-02-151-489/+432
| | | | | | | | | | | 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...
* Added support for IndieAuth client sign inVika2021-12-061-150/+153
| | | | | | | 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.
* Deprecated Redis backend and added a database migration tool (untested, beware)Vika2021-10-271-37/+3
|
* Code cleanup and Cargo.lock updatesVika2021-09-271-165/+203
|
* Implemented FileStorage::get_setting and FileStorage::set_settingVika2021-09-271-0/+6
|
* Added a WIP file backendVika2021-08-151-53/+185
| | | | | | | Currently unavailable for use and only has basic GET and POST operations implemented. A lot more work is needed to make it truly usable. Locking is implemented using flock() system call on Linux.
* Revert "Moved mobc to a custom repo"Vika2021-08-101-1/+2
| | | | This reverts commit 1c1d0e504c276ccb3c204aa28750f86610bff248.
* Added Prometheus instrumentationVika2021-08-061-0/+136
| | | | | | I need to instrument the mobc library used for the Redis connection pool, but that can be done later since I am somewhat tired. I don't remember how much I've worked and I need a break... >.<
* Moved mobc to a custom repoVika2021-08-061-2/+1
|
* Renamed main executable to kittybox, added toolsVika Shleina2021-07-191-3/+4
| | | | | | | | | 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.
* Updated flake.lock and Cargo.lockVika Shleina2021-07-071-155/+162
|
* Removed openssl dependency - now the code is pure RustVika2021-05-101-225/+135
|
* Added a frontend to the application. TODO: Login, alternative themes, ↵Vika2021-05-091-0/+38
| | | | built-in Micropub capabilities when logged in
* Added rudimentary caching to IndieAuth middlewareVika2021-05-051-0/+24
|
* Added a connection pool to the RedisDatabaseVika2021-05-051-110/+2
|
* Refactored the database module and its testsVika2021-05-041-30/+93
|
* Initial commitVika2021-05-041-0/+2708
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!!!