about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Remove Docker containerVika2025-01-012-48/+0
| | | | | | It was outdated. Anyway, Docker is no longer in vogue anyway. Change-Id: Ic1ace406f3f8453de174ee465d0db6d17502822e
* Give NixOS e2e tests unique names in CIVika2025-01-013-3/+3
| | | | Change-Id: I6f9262d94736debf23c8f21618ed49ace8b2b8eb
* Bump MSRV to 1.81 due to dependency using error_in_coreVika2025-01-011-1/+1
| | | | Change-Id: I8c0ccf651d05b33fa33cbf8bb454b27ad6b9af98
* Fix Postgres setup in testsVika2025-01-013-9/+3
| | | | Change-Id: Ibc26d9700faa0c25663146871924ee196dc62274
* cargo update, bump msrv to match microformats crateVika2025-01-012-5/+5
| | | | | | I need to actually verify the msrv tho Change-Id: I61ce30845b9a076849ebc6adde65e58763b3741e
* Partially appease clippyVika2025-01-015-8/+7
| | | | | | | Some false positives on `serde(rename)` remain, as well as lints still requiring my attention. Change-Id: I3166771af20b2d07c6226b3b1a9d15fe36152356
* Get rid of base64 and hex in favor of data_encoding crateVika2025-01-015-15/+16
| | | | | | Less dependency duplication = more fun Change-Id: Icbd0497a68fdd5bea3757e3c62c80008b87bce96
* Use workspace dependencies to simplify dependency managementVika2025-01-016-190/+151
| | | | | | | | | | | | | This will reduce risks of dependency duplication in the tree when updating or adding new dependencies, as one could simply inherit from the workspace. `cargo-autoinherit` was considered, but it migrates EVERY single dependency, whereas I'd prefer that only reused dependencies are migrated. Additionally, it doesn't merge features automatically, requiring manual intervention anyway. Change-Id: If0dd19012c723ab71f599119d108e805b2d5e463
* micropub: Don't map-n-filter where we can filter_mapVika2025-01-011-2/+1
| | | | | | | | The channel iterator did its filtering of non-strings with an `unwrap_or()`, but we can safely get rid of it, since `<&'a Value>::as_str()` returns `Option<&'a str>`. Change-Id: Ie7a74247db4709e2aafd6bcd3623fab592bede81
* PostgresStorage: use query_scalar for post_existsVika2025-01-011-2/+1
| | | | | | Simplifes typing a little. Change-Id: I2a686e5c8ce09efc047d7caec687911f08eb7628
* Storage::all_posts to return all posts for ?q=source w/o filtersVika2024-12-314-0/+25
| | | | Change-Id: I5d1220b6a2abbcb460bdb13c088c3dbd7e4d9856
* microformats: 0.12.0 -> 0.14.0Vika2024-12-314-7/+132
| | | | | | | | | | Even though there is no corresponding source published to GitLab, it seems the package is fine and is still maintained. I also had to manually fix a versioning glitch because the required microformats-types version was not bumped. Change-Id: I6c052fac465f7e8c3d8cbb785f73e750c546d7a3
* ignore rsa false-positive via sqlx-mysql, since it's unusedVika2024-12-312-1/+8
| | | | Change-Id: Ic76cbc7f5343edad057b0eca121357c56d9c79ae
* Upgrade SemVer-breaking packagesVika2024-12-304-480/+128
| | | | Change-Id: I187fbf798ea6e29a8d04c4e3a894dc4a115ea9a7
* cargo upgradeVika2024-12-307-475/+801
| | | | Change-Id: I3c02e42596d9e307e4f155959ea5f1493322df82
* Fix up CLI featureVika2024-12-301-5/+3
| | | | Change-Id: Ia72ec9b7cdaae86c3f6a963f9f22c26801f56851
* fixup! microformats: 0.9.1 -> 0.12.0Vika2024-12-301-1/+1
|
* kittybox-mf2: add tracingVika2024-12-301-0/+16
| | | | Change-Id: I9ed27cbf17ab65ec35ca45b36a4144296c7b6a6e
* microformats: 0.9.1 -> 0.12.0Vika2024-12-304-21/+8
| | | | Change-Id: Ief031acfc014bf3b74874f778600ee214cf61301
* flake.lock: UpdateVika2024-12-301-14/+9
| | | | | | | | | | | | | | | | | Flake lock file updates: • Updated input 'crane': 'github:ipetkov/crane/529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf' (2024-07-24) → 'github:ipetkov/crane/72e2d02dbac80c8c86bf6bf3e785536acf8ee926' (2024-12-21) • Removed input 'crane/nixpkgs' • Updated input 'flake-utils': 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11) → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9f918d616c5321ad374ae6cb5ea89c9e04bf3e58' (2024-07-31) → 'github:nixos/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4' (2024-12-29) Change-Id: I1154855638b2fe40595dea21ecbabfa537875b71
* decrease logspam from filter_post spansVika2024-12-301-1/+1
| | | | Change-Id: Ibecb139196711eb045460739435af5dbcf258024
* kittybox-util: bump to 0.3.0Vika2024-12-038-117/+131
| | | | | | | | Changed micropub::Error's description to Option<Cow<'static, str>> to allow for that sweet sweet memory savings from not having to heap-allocate strings for static errors. Change-Id: Ic82e5ad5cacea766ea0a7e8677ce6a7f16ae8668
* unauthorized -> not_authorizedVika2024-11-152-359/+1
| | | | | | whoops Change-Id: I695c77b76806165af88935c37f40386923d95220
* tower-watchdog: init at 1.0.0Vika2024-11-135-5/+236
| | | | | | | Wait, is this my first self-contained crate? Not bad. I like this. Maybe I'll go publish it to crates.io? Change-Id: I340d0839746ff1cfbcc4c82c230ae2adff2a92f7
* media endpoint: small code cleanupVika2024-11-132-8/+5
| | | | Change-Id: I10d8ffd53bd3c02d6de3ba4520ab859c18697c61
* shell.nix: take entire nodePackagesVika2024-11-132-6/+5
| | | | Change-Id: I9f0a88a20078603a8fbcf14a975878126bcdefcf
* kittybox-util: fix incorrect features in a dependency, preventing builds ↵Vika2024-10-291-1/+4
| | | | | | with crate2nix Change-Id: Id44454df4155cc9626c4e4c19d332fd154f4e7db
* Delete the unused login codeVika2024-10-041-333/+0
| | | | Change-Id: Ic684e5e127ff717fa6cb2f480d3bf1520e8ae93b
* Fix the current-thread runtime tests w/ sqlxVika2024-09-191-0/+3
| | | | Tracked upstream as https://github.com/launchbadge/sqlx/issues/3510
* If like/bookmark-of name is empty, pretend it isn't thereVika2024-09-071-0/+2
|
* Reduce unwraps in u-ate and u-drank handlingVika2024-09-071-10/+10
|
* kittybox-frontend-renderer: use p-summary if availableVika2024-09-071-5/+15
|
* Introduce `Storage::update_with`Vika2024-08-284-7/+54
| | | | | | | | | This function takes a closure that modifies the post. This could be useful in maintenance utilities that scan and fixup posts. For now this isn't used anywhere within Kittybox, but once all backends implement this correctly, this could replace `Storage::update_post` calls. For supporting backends, `Storage::update_post` is implemented in terms of `Storage::update_with`.
* Check validity of Micropub updatesVika2024-08-281-6/+50
| | | | | | | | In Kittybox, Micropub updates cannot modify UIDs, since UIDs are used as a primary key. Additional constraints may be added later, and perhaps I'll add a Storage method that would check backend-specific constraints.
* kittybox-frontend-renderer: fix testsVika2024-08-281-3/+3
|
* Make Micropub update logic self-containedVika2024-08-283-35/+42
| | | | | | This allows for a separation of concerns between database backends and Micropub, unless such backend have special requirements, like the file backend storing children of a feed in an array.
* Add Last-Modified header to post pages to help heuristic cachingVika2024-08-261-0/+22
|
* Use `Cache-Control: private` whenever the user is authorizedVika2024-08-261-18/+31
|
* Explicitly allow caching IndieAuth client metadataVika2024-08-261-2/+23
| | | | | This might save a round-trip for clients that know how to cache things. Such as Kittybox's HTTP fetcher.
* Set MSRV to 1.75, remove #[async_trait] declarations whenever possibleVika2024-08-2614-100/+90
| | | | | | | Axum still uses `async_trait`, let them do whatever they want. I will no longer be subject to the humiliation of trying to dig through lifetime errors and unreadable declarations. Also I don't fucking care about MSRV, I'm not a library. If you don't have modern Rust, get one.
* Indicate `u-uid` as `rel=canonical`Vika2024-08-262-6/+6
| | | | | | | | | | | This only displays on top-level entries, not ones in feeds. This should help search indexers know which URI is the canonical for a given link. I wonder why Google doesn't bother to parse MF2 markup. Do they think themselves monarchs of the Internet, able to show peasants their place? their search results are shitty anyway, I'd rather ask GPT-2. Yes, GPT TWO. Not even 3, 4 or 4o!
* Fix kittybox-check-webmention CLI toolVika2024-08-262-109/+8
| | | | Now it uses the same code as Kittybox itself.
* Add HTTP fetcher cacheVika2024-08-2610-27/+233
| | | | | | | It just does its thing in the background, potentially speeding up things. Maybe I could also use the underlying in-memory cache implementation (Moka) to speed up my database. I heard crates.io got some good results from that.
* Appease most clippy warningsVika2024-08-2614-118/+38
| | | | | | The warnings only remain in places where I need them to remain, because I either need a reminder to implement something, or I need to refactor and simplify the code in question.
* Remove IndiewebEndpoints typeVika2024-08-261-10/+0
| | | | It was never used much anyway.
* FileStorage: appease clippy and use block_in_place for rewinding feedsVika2024-08-262-10/+15
| | | | | Using `tokio::task::block_in_place` downgrades the thread temporarily to avoid starvation.
* kittybox-indieauth: nicer Debug impl for MetadataVika2024-08-241-1/+23
| | | | Now the URLs are shown in their serialized form.
* indieauth_metadata -> indieauth-metadataVika2024-08-243-4/+4
|
* Add Caddyfile for reverse-proxying in-devVika2024-08-241-0/+9
|
* kittybox-indieauth: implement Display instead of ToStringVika2024-08-231-11/+12
|