| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This is useful for cache-busting feeds. In addition, it could also be
used for things like WebSub.
Change-Id: I8061f66c2bf233ed330dfd7b1debfe9372e81b1f
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some breaking changes. For better or for worse. The optional extractor
breaking change is a double-edged sword, since not all extractors can
be used with `Option<T>` now, and you have to use
`Result<T, T::Rejection>` even when you want to ignore an error coming
from an extractor, such as `Query`.
However, this allows catching errors on authorization extractors even
in places where authorization is optional.
Change-Id: I35f809d3adf27dbef0e7ee93dc1a7af178b7d014
|
|
|
|
|
|
|
| |
Makes logs more readable, because we aren't confused on concurrency
that the socket listener introduces.
Change-Id: Id471d314a1507b5b48d6fa53ba9ca743977c1c6a
|
|
|
|
|
|
|
|
| |
This test historically existed to showcase clustering via NFS, so we
don't use the Postgres backend for the data. That would be too easy.
Instead, we only use it for the webmention job queue!
Change-Id: I975893b974063f24f2761186df57db4b876366f6
|
|
|
|
|
|
|
|
| |
Turns out sqlx natively reads a plaintext password from this variable,
otherwise from the `$PGPASSFILE`, otherwise from `$HOME/.pgpass`, so I
don't need custom logic around passwords. Yay for sqlx being smart!
Change-Id: I14858903ea1605469f9ea8095dc3bb056f617e85
|
|
|
|
|
|
| |
This builds the entire crate using my chosen MSRV. Isn't that nice?
Change-Id: I8bbe47cc5db63ab3f27616a9e3576a50d349b89b
|
|
|
|
|
|
| |
It was outdated. Anyway, Docker is no longer in vogue anyway.
Change-Id: Ic1ace406f3f8453de174ee465d0db6d17502822e
|
|
|
|
| |
Change-Id: I6f9262d94736debf23c8f21618ed49ace8b2b8eb
|
|
|
|
| |
Change-Id: I8c0ccf651d05b33fa33cbf8bb454b27ad6b9af98
|
|
|
|
| |
Change-Id: Ibc26d9700faa0c25663146871924ee196dc62274
|
|
|
|
|
|
| |
I need to actually verify the msrv tho
Change-Id: I61ce30845b9a076849ebc6adde65e58763b3741e
|
|
|
|
|
|
|
| |
Some false positives on `serde(rename)` remain, as well as lints still
requiring my attention.
Change-Id: I3166771af20b2d07c6226b3b1a9d15fe36152356
|
|
|
|
|
|
| |
Less dependency duplication = more fun
Change-Id: Icbd0497a68fdd5bea3757e3c62c80008b87bce96
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Simplifes typing a little.
Change-Id: I2a686e5c8ce09efc047d7caec687911f08eb7628
|
|
|
|
| |
Change-Id: I5d1220b6a2abbcb460bdb13c088c3dbd7e4d9856
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ic76cbc7f5343edad057b0eca121357c56d9c79ae
|
|
|
|
| |
Change-Id: I187fbf798ea6e29a8d04c4e3a894dc4a115ea9a7
|
|
|
|
| |
Change-Id: I3c02e42596d9e307e4f155959ea5f1493322df82
|
|
|
|
| |
Change-Id: Ia72ec9b7cdaae86c3f6a963f9f22c26801f56851
|
| |
|
|
|
|
| |
Change-Id: I9ed27cbf17ab65ec35ca45b36a4144296c7b6a6e
|
|
|
|
| |
Change-Id: Ief031acfc014bf3b74874f778600ee214cf61301
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ibecb139196711eb045460739435af5dbcf258024
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
whoops
Change-Id: I695c77b76806165af88935c37f40386923d95220
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I10d8ffd53bd3c02d6de3ba4520ab859c18697c61
|
|
|
|
| |
Change-Id: I9f0a88a20078603a8fbcf14a975878126bcdefcf
|
|
|
|
|
|
| |
with crate2nix
Change-Id: Id44454df4155cc9626c4e4c19d332fd154f4e7db
|
|
|
|
| |
Change-Id: Ic684e5e127ff717fa6cb2f480d3bf1520e8ae93b
|
|
|
|
| |
Tracked upstream as https://github.com/launchbadge/sqlx/issues/3510
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
This might save a round-trip for clients that know how to cache
things. Such as Kittybox's HTTP fetcher.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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!
|
|
|
|
| |
Now it uses the same code as Kittybox itself.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|