about summary refs log tree commit diff
path: root/Cargo.toml
Commit message (Collapse)AuthorAgeFilesLines
* Add licensing information to Cargo.tomlVika2024-07-081-0/+1
|
* examples/sql: make optionalVika2024-06-151-1/+6
|
* Prototype sanitizer for SQLVika2024-06-141-0/+4
| | | | | | This might allow me to use SQL syntax in Kittybox's private search interfaces, allowing for queries of incredible specificity while not allowing to query private data or inject arbitrary SQL.
* Mask sensitive headersVika2024-06-141-1/+1
|
* templates-neo: initVika2023-07-311-1/+1
| | | | | | 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/+158
|
* flake.nix: reorganizeVika2022-05-241-114/+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
* Cargo.toml: fix Nix builds in restricted modeVika2022-05-121-1/+1
|
* treewide: prepare for mf2 parsing and cleanup unused codeVika2022-05-121-6/+5
|
* FileStorage: fixes and regression tests for read_feed_with_limitVika2022-05-101-1/+2
| | | | Now I will know if something breaks horribly again.
* Split into different cratesVika2022-05-071-2/+11
| | | | | | | | | 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.
* chore: code cleanupVika2022-05-011-1/+0
|
* added tokio-console instrumentation supportVika2022-04-171-1/+3
|
* added mediatype to replace http_types::MimeVika2022-04-171-0/+1
|
* Cargo.toml: add reqwestVika2022-04-151-0/+4
| | | | 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/+1
|
* Restored most of the functionality (except onboarding and some queries)Vika2022-03-061-0/+1
|
* metrics: new metrics collection using warp-prometheusVika2022-03-021-1/+7
|
* add compat between http_types and httpVika2022-02-211-2/+4
|
* Add a module for IndieAuth bearer token authVika2022-02-211-1/+7
| | | | | | | | | | | | | 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-11/+12
| | | | | | | | | | | 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...
* Migrate to Rust 2021Vika2021-12-071-1/+1
|
* Disable the deprecated redis featureVika2021-12-071-1/+1
|
* Added support for IndieAuth client sign inVika2021-12-061-0/+3
| | | | | | | 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-1/+1
|
* Deprecated Redis backend and added a database migration tool (untested, beware)Vika2021-10-271-9/+10
|
* Implemented FileStorage::get_setting and FileStorage::set_settingVika2021-09-271-0/+1
|
* Moved integration tests and allowed the binary to use file backendVika2021-09-261-2/+6
| | | | | | 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.
* Added a WIP file backendVika2021-08-151-1/+4
| | | | | | | 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-18/+2
| | | | This reverts commit 1c1d0e504c276ccb3c204aa28750f86610bff248.
* Added Prometheus instrumentationVika2021-08-061-1/+4
| | | | | | 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/+18
|
* make clippy happyVika Shleina2021-07-191-6/+9
|
* Renamed main executable to kittybox, added toolsVika Shleina2021-07-191-1/+14
| | | | | | | | | 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.
* Added ^ to the versions - looks like nothing's brokenVika Shleina2021-07-071-26/+26
|
* Removed openssl dependency - now the code is pure RustVika2021-05-101-1/+4
|
* Added a frontend to the application. TODO: Login, alternative themes, ↵Vika2021-05-091-0/+2
| | | | built-in Micropub capabilities when logged in
* Moved things in Cargo.toml to make it prettierVika2021-05-051-15/+21
|
* Added rudimentary caching to IndieAuth middlewareVika2021-05-051-8/+7
|
* Added a connection pool to the RedisDatabaseVika2021-05-051-2/+3
|
* Refactored the database module and its testsVika2021-05-041-1/+1
|
* Initial commitVika2021-05-041-0/+40
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!!!