Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Finally finish the migration tool | Vika | 2021-12-02 | 1 | -19/+25 |
| | | | | | | | | | | It works. Launch it using the "kittybox-database-converter" command. First argument should be the old database URI, second should be the new one. It will migrate the DB for you. If you're doing this on a test machine, you can then migrate the database to production using `rsync -rl` to preserve symbolic links created by Kittybox's database backend. | ||||
* | Get rid of the unsafe code | Vika | 2021-12-02 | 1 | -7/+4 |
| | | | | | | Thanks to @Kloenk I was able to get rid of the unsafety and tell the compiler how to properly check what I needed for the StorageError to be declared thread-safe. | ||||
* | Deprecated Redis backend and added a database migration tool (untested, beware) | Vika | 2021-10-27 | 7 | -44/+139 |
| | |||||
* | Modified the module to use BACKEND_URI | Vika | 2021-09-28 | 2 | -1/+14 |
| | |||||
* | Code cleanup and Cargo.lock updates | Vika | 2021-09-27 | 2 | -4/+6 |
| | |||||
* | Fix a bug in the error middleware | Vika | 2021-09-27 | 3 | -2/+5 |
| | | | | | | When an error is found, the site name passed to Storage::get_setting in the error handler is incorrect. The ASCII serialisation of the hostname should get used. | ||||
* | Implemented support for channels | Vika | 2021-09-27 | 3 | -65/+172 |
| | |||||
* | Implemented FileStorage::delete_post | Vika | 2021-09-27 | 1 | -1/+4 |
| | |||||
* | Finally figured out how to read without a BufReader | Vika | 2021-09-27 | 1 | -14/+6 |
| | | | | | BufReader was really unneccesary here, since I was batch-reading all of this in one go. | ||||
* | Improved symlink creation | Vika | 2021-09-27 | 1 | -5/+78 |
| | | | | | | Now symlink creation works on Windows and creates links relative to the posts, allowing for seamless migrations of the backing directory for true portability and no data lock-in. | ||||
* | Implemented FileStorage::get_setting and FileStorage::set_setting | Vika | 2021-09-27 | 1 | -2/+53 |
| | |||||
* | Moved integration tests and allowed the binary to use file backend | Vika | 2021-09-26 | 3 | -19/+87 |
| | | | | | | 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 file updates and fixed a bug with truncated JSON files | Vika | 2021-09-26 | 2 | -3/+154 |
| | | | | | | | | | | | There was a bug where `File::write()` would not write the entire buffer, and this condition was left unchecked by the code. All `File::write()` calls are now replaced with `File::write_all()` which ensures the whole buffer is written to the backing file. Additionally added a smoke check for the file updates. It is in no way comprehensive nor it is able to catch all the possible failures but it's a good way of testing the functionality without way too much hassle. | ||||
* | Added a WIP file backend | Vika | 2021-08-15 | 2 | -30/+210 |
| | | | | | | | 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. | ||||
* | Improved Redis module code quality | Vika | 2021-08-15 | 1 | -13/+10 |
| | |||||
* | Added Prometheus instrumentation | Vika | 2021-08-06 | 2 | -0/+73 |
| | | | | | | 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... >.< | ||||
* | Added a default food channel for foodstuffs | Vika | 2021-08-06 | 1 | -12/+35 |
| | |||||
* | Log sent webmentions | Vika | 2021-08-06 | 1 | -0/+1 |
| | |||||
* | Refactored the onboarding template into its own file | Vika | 2021-08-06 | 2 | -193/+198 |
| | |||||
* | Shortened a connection timeout and installed a lifetime limit for connection | Vika | 2021-08-06 | 1 | -1/+4 |
| | |||||
* | Trying to mitigate and log more about the HTTP 500s | Vika | 2021-08-05 | 1 | -10/+12 |
| | |||||
* | Fixed a VERY WRONG way to handle stream errors | Vika | 2021-08-04 | 2 | -31/+25 |
| | | | | | | for future reference: stream operations returning Result satisfy conditions for the futures::stream::TryStreamExt trait, allowing you to use `TryStreamExt::try_collect::<T>()` and receive a Result<T>. | ||||
* | Moved templates into their own module | Vika | 2021-08-03 | 2 | -586/+585 |
| | | | | | | | frontend.rs was too hard to navigate. Additionally, this allows playing with the organizational structure of templates, since they only need to export a certain API and how exactly they work is an implementation detail. | ||||
* | Appease rustfmt, clippy and cargo check | Vika | 2021-07-29 | 9 | -104/+196 |
| | |||||
* | Respect Link: headers when sending webmentions | Vika | 2021-07-28 | 1 | -4/+32 |
| | |||||
* | 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 |