Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lint: no extra whitespace on line endings | Vika | 2024-01-29 | 20 | -40/+40 |
| | |||||
* | Switch reply contexts from a Vec to HashMap | Vika | 2023-11-13 | 1 | -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 markup | Vika | 2023-10-15 | 2 | -8/+42 |
| | |||||
* | templates-neo: add a test CLI that renders entries | Vika | 2023-08-08 | 2 | -6/+22 |
| | | | | This allows interactively testing the markup. | ||||
* | templates-neo: fix hacks around the `html` crate | Vika | 2023-08-08 | 3 | -13/+92 |
| | | | | Finally I can properly add child elements without using the string hack. | ||||
* | Remove extraneous JS files | Vika | 2023-07-31 | 2 | -119/+0 |
| | |||||
* | templates-neo: init | Vika | 2023-07-31 | 5 | -1/+417 |
| | | | | | | This is an experimental approach to templates, using `yoshuawuyts`'s `html` crate. The crate itself has a promising API, but is notably incomplete. | ||||
* | .envrc: add env vars for Kittybox launches directly | Vika | 2023-07-30 | 3 | -14/+7 |
| | | | | | This avoids the need for the ./dev.sh script, except when `cargo watch` is involved. | ||||
* | Moved the entire Kittybox tree into the root | Vika | 2023-07-29 | 72 | -1/+1 |
| | |||||
* | kittybox.nix: properly set the features and don't rely on defaults | Vika | 2023-07-29 | 1 | -5/+11 |
| | |||||
* | .envrc: move to root | Vika | 2023-07-29 | 1 | -2/+2 |
| | |||||
* | postgres: Fix pretty permalinks not being shown | Vika | 2023-07-28 | 2 | -2/+22 |
| | |||||
* | templates: Add a link for the webmention endpoint | Vika | 2023-07-22 | 1 | -0/+1 |
| | |||||
* | media: fix Axum behavior change with slashes in passed paths | Vika | 2023-07-22 | 1 | -6/+7 |
| | |||||
* | configuration.nix: use NixOS option for ListenStream | Vika | 2023-07-22 | 1 | -5/+4 |
| | |||||
* | media: fix improper path joining | Vika | 2023-07-22 | 1 | -3/+3 |
| | |||||
* | Fix a few bugs | Vika | 2023-07-22 | 6 | -9/+25 |
| | |||||
* | Add a NixOS test for receiving webmentions | Vika | 2023-07-22 | 9 | -0/+236 |
| | |||||
* | Move NixOS tests to a separate folder to prevent clutter | Vika | 2023-07-22 | 5 | -3/+3 |
| | |||||
* | dev.sh: small modifications | Vika | 2023-07-22 | 1 | -1/+10 |
| | |||||
* | Log with tracing-tree AND json in debug builds | Vika | 2023-07-22 | 2 | -7/+38 |
| | |||||
* | configuration.nix: bind on IPv6 localhost by default | Vika | 2023-07-22 | 1 | -1/+1 |
| | | | | This is so the Kittybox socket can actually listen on both IPv4 and IPv6. | ||||
* | Mount webmention handling routes and tasks | Vika | 2023-07-22 | 5 | -35/+76 |
| | |||||
* | database: more documentation | Vika | 2023-07-22 | 1 | -6/+23 |
| | |||||
* | webmentions: check webmentions and save them to the database | Vika | 2023-07-22 | 2 | -6/+183 |
| | |||||
* | database: add "add_or_update_webmention" operation | Vika | 2023-07-22 | 4 | -0/+168 |
| | | | | | | | This is an operation that atomically adds or updates a webmention cite attached to a post. This is used so a database backend can optimize for it (for example, using a transaction or shifting the JSON modification operation to the database) | ||||
* | postgres: optimize fetching of non-feeds by forgoing a second query | Vika | 2023-07-22 | 1 | -0/+9 |
| | |||||
* | Allow socket-activation for Kittybox | Vika | 2023-07-21 | 2 | -6/+23 |
| | | | | | This complements passing sockets as FDs and graceful shutdown to allow for zero-downtime restarts. | ||||
* | Allow loading TLS root certificates from file | Vika | 2023-07-21 | 1 | -7/+33 |
| | | | | | Untested, but will be useful when testing Webmentions in the end-to-end test. | ||||
* | Split Postgres schemas into two | Vika | 2023-07-21 | 3 | -15/+21 |
| | | | | | Now the postgres schemas are completely independent of each other. This took a while to figure out! | ||||
* | Move MentionType into util and fix bugs in -check-webmention app | Vika | 2023-07-21 | 2 | -12/+28 |
| | |||||
* | Put Micropub background processing tasks in a JoinSet | Vika | 2023-07-17 | 3 | -28/+71 |
| | | | | | | | This allows using tree-structured concurrency to keep background tasks in check and allow them to finish running before shutting down — a necessary prerequisite for shutdown-on-idle. (A background task may take a bit too long to complete, and we may need to wait for it.) | ||||
* | database/file: tokio::fs::create_dir_all is idempotent | Vika | 2023-07-17 | 1 | -6/+3 |
| | |||||
* | FileStorage: properly fsync() files and directories | Vika | 2023-07-17 | 1 | -9/+21 |
| | | | | | | Total crash-safety. Yank the power cord all you want, your data is going to be safe and sound. (Unless your drive controller lies to you about flushing its caches) | ||||
* | WIP: bind to UNIX sockets | Vika | 2023-07-17 | 1 | -13/+36 |
| | | | | | | Apparently this requires a helper crate to make Hyper aware of UNIX sockets. That's fine. That's not a priority for now — but the code is practically there. | ||||
* | Allow listening on several TCP sockets | Vika | 2023-07-17 | 1 | -46/+117 |
| | | | | | | | | I would also love to be able to listen on Unix stream sockets, but that would require some additional support that can thankfully be just introduced later. (It also requires a second loop over the file descriptor array) | ||||
* | shell.nix: add openssl | Vika | 2023-07-17 | 1 | -4/+5 |
| | |||||
* | cargo update, part 2: Axum | Vika | 2023-07-17 | 10 | -111/+158 |
| | | | | | | | | | Axum got some breaking changes and gained some nice features — however, features come later, breaking changes come first. Perhaps it would be nice to actually construct a State with all of my stuff, and then make functions generic over that. Could reduce the amount of generic stuff I am producing... maybe. | ||||
* | cargo update, part 1 | Vika | 2023-07-17 | 7 | -500/+799 |
| | |||||
* | webmentions/queue: move JobQueue trait into kittybox-util | Vika | 2023-07-09 | 5 | -47/+200 |
| | | | | | | | The trait itself seems basic enough that it could be reused elsewhere. Better to keep it in a separate crate. `-util` is a dumping ground for various things anyway. | ||||
* | webmentions/supervisor: ability to cancel a background task | Vika | 2023-07-09 | 1 | -13/+54 |
| | | | | | | | | This requires the background task to be cancellation-safe, as it is dropped after receiving a cancellation event. Perhaps in the future there will be a supervisor version that may forward the cancellation to the task itself. | ||||
* | webmentions/queue: give up on an item after 5 attempts | Vika | 2023-07-09 | 3 | -20/+69 |
| | | | | | | This also involves a crude "async drop" implementation that fires a future incrementing an attempt if a Job has been dropped without marking it as done. | ||||
* | New debug utilities to test checking webmentions and parsing mf2 | Vika | 2023-07-09 | 3 | -0/+211 |
| | |||||
* | WIP: incoming webmention support | Vika | 2023-07-09 | 1 | -0/+75 |
| | |||||
* | Create a job queue based on Postgres | Vika | 2023-07-09 | 4 | -0/+191 |
| | | | | | It's generic enough to be used for anything, but for now it's only gonna be used for webmentions. | ||||
* | micropub: a little bit more logging | Vika | 2023-07-09 | 1 | -0/+2 |
| | |||||
* | password-hasher: print prompts to stderr | Vika | 2023-07-09 | 1 | -3/+3 |
| | |||||
* | kittybox-indieauth-helper: move client_id to a real page | Vika | 2023-07-09 | 1 | -1/+1 |
| | | | | | This allows to use the helper on production websites that do security checks on redirect URIs, as the URI is now properly declared. | ||||
* | Implement Postgres backend | Vika | 2023-07-09 | 9 | -4/+577 |
| | | | | | | | A single giga-commit that took me weeks to produce. I know, this is not exactly the best thing ever — but I wanted to experiment first before "committing" to the implementation, so that I would produce the best solution. | ||||
* | Passthru NixOS VM tests | Vika | 2023-07-09 | 2 | -2/+9 |
| |