| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
In newer versions of `crane`, cross-compilation ✨just works✨ with no
extra set-up required. It's nice to see the Nix cross-compilation story
improving.
Change-Id: Ib3d0cc965a08d517b5526154dcd9afa40a98fc7c
|
|
|
|
|
|
|
|
|
|
| |
Flake lock file updates:
• Updated input 'crane':
'github:ipetkov/crane/72e2d02dbac80c8c86bf6bf3e785536acf8ee926' (2024-12-21)
→ 'github:ipetkov/crane/25ca4c50039d91ad88cc0b8feacb9ad7f748dedf' (2025-04-19)
Change-Id: Ib474e0233cc963fe2e91aeb1af9586089cdd4874
|
|
|
|
| |
Change-Id: I571ec98b760a583300a810abd756e5f6f2bca25a
|
|
|
|
|
|
|
| |
why is this a thing... should've just put `default-src 'self'` to get
behavior similar to what was in the past
Change-Id: I0d3850931fe97f87a1aa10223502791a78cbe7fc
|
|
|
|
| |
Change-Id: I42a97a5a782174995b815b9d822250c594fb26a0
|
|
|
|
|
|
|
| |
This should fix logging into legacy IndieAuth applications that don't
request scopes.
Change-Id: I7063f825fdd26ecf57aef52bc172d5bf81d05ca2
|
|
|
|
|
|
|
| |
`Scopes` now includes `len()` and `is_empty()` to check if an
application didn't request any scopes.
Change-Id: I7c9c0366131445b11374cf6e66ebbc3a9ba27e0b
|
|
|
|
|
|
| |
I've read the troff manual and now I am enlightened.
Change-Id: I1c39db8f67081e35994ad64100a12d63d331f3ff
|
|
|
|
| |
Change-Id: I575d88828533d184fea86b4282b6ce1e4e5f40cd
|
|
|
|
| |
Change-Id: I403c2f856353e4762b3fb2e573b8f182cf4c5628
|
|
|
|
| |
Change-Id: I80e81ebba3f0cdf8c094451c9fe3ee4126b8c888
|
|
|
|
| |
Change-Id: I4b0bed232d6274d161bebafcee9ac22a63c01772
|
|
|
|
|
|
| |
`ClientMetadata` now returns a `ClientIdMismatch` error type.
Change-Id: I51d3adfd2114f6cb89948bb5ba54588dde795142
|
|
|
|
|
|
|
|
| |
This is a little bit more idiomatic.
Perhaps I should consider doing the same with other tuples I return?
Change-Id: I85f0e5dc76b8212ab6d192376d8c38ce2048ae85
|
|
|
|
|
|
|
|
| |
The `html` crate is not currently maintained, and it's not exactly
production-ready anyway. This was a fine experiment, but I don't think
it currently belongs in-tree.
Change-Id: I38019e5fb3ee549ec0b883dd7bd14f32dc746bdb
|
|
|
|
|
|
|
| |
Bandcamp embeds use iframes. I should probably collect more info on
popular embeds and potentially allowlist them here.
Change-Id: I7e0b4dae2ac052f6a48ad629c658b2bf851151ff
|
|
|
|
|
|
| |
This makes it more readable.
Change-Id: Iefbdef1029c9759fe68ebc8fa61002e827e7d728
|
|
|
|
|
|
| |
You never know when you need it.
Change-Id: I323d25977a5e4ee67768cee0f1f7d94b1997224a
|
|
|
|
|
|
|
|
|
| |
I could expose the flag for generated images in the same way alt-text
is currently represented. But this is for the future.
I don't think I'll ever use this feature, this is just for completeness.
Change-Id: Ide942b9cf8b03488c0cb50774e7a35f3e0fbdbaf
|
|
|
|
| |
Change-Id: I264c278552cd7096b50a6a8fbacb90f62fc6c14f
|
|
|
|
|
|
| |
Leftovers from my experiments with monorepos. Ugh.
Change-Id: I1a98938fb92707377aec97b7559f81c5a4636554
|
|
|
|
| |
This fixes like icon rendering in WebKit.
|
|
|
|
| |
Change-Id: I81fe5b0432b31061c15b298d353e64822dd8c0ac
|
|
|
|
| |
Change-Id: I145777043c043163f7c7f3acbb405994d73b479f
|
|
|
|
| |
Change-Id: I17af1bd69de0f885e28db161d9ca81fa199a8aa5
|
|
|
|
| |
Change-Id: I991a3b935b4ae435acd852ee62a8d2893cf00950
|
|
|
|
| |
Change-Id: I31362b3ec779a1eaea54c0d9567daa5de0ae0fc0
|
|
|
|
| |
Change-Id: I1b4e56874b86151c9b76495f3a1f63ba8bd527b3
|
|
|
|
|
|
| |
Oh, that's how it's done. Fuck.
Change-Id: I40c5296ba05ddec7aa277308520017e5068e6fc9
|
|
|
|
|
|
| |
Might be useful, who knows :3
Change-Id: I9f2886575cfa3ab0c89a074a494d97b5b2547e5c
|
|
|
|
|
|
|
| |
These fonts are licensed under OFL 1.1, which means I can freely
redistribute them. Ain't that nice?
Change-Id: Ide32286305680865652db17c8d482b5ac0f20a50
|
|
|
|
|
|
| |
I really need to figure out how to rip fonts from Google Fonts.
Change-Id: I66f62ca639bf399223a1cd030d057bdcc3bc0de1
|
|
|
|
|
|
|
|
|
|
|
| |
- Styles and scripts can now only be loaded from Kittybox
(hint: use the media endpoint if you wish to upload custom CSS)
- Inline scripts are now completely prohibited
(this means it's safe to show arbitrary HTML from Webmentions)
- `<base>` element is prohibited (who uses that anyway?)
- Loading anything else is only allowed via HTTPS
Change-Id: I285a18b71dd9860416b18dd0e88f8fe7c8511e0b
|
|
|
|
|
|
|
|
| |
This prevents browsers from guessing the Content-Type, and since we're
always making sure to serve with the known-correct content type, we
don't need the browser to guess.
Change-Id: I02550d6763969f999ec22ec41e5539f945ea7ca4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|