| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We insert published time into all objects anyway, and expect feeds to
be ordered by publishing time. We should let databases rely on that
assumption when returning feeds.
|
|
|
|
|
| |
Some database backends may have optimized ways of tracking feed
contents. Others might just use the "children" property directly.
|
|
|
|
|
| |
This allows disregarding http/https comparisons and simplifies some
database designs.
|
|
|
|
|
| |
read_feed_with_cursor allows using an arbitrary string as a cursor,
unlike read_feed_with_limit, which uses last post's UID as a cursor.
|
|
|
|
|
| |
This allows avoiding an unnecessary allocation whenever the error
message is static.
|
|
|
|
|
|
| |
This allows proper separation of backend initialization and Kittybox
construction code. Some boilerplate is still present, but there's much
less of it now thanks to functions being generic.
|
| |
|
| |
|
|
|
|
| |
should've been a LazyLock tho
|
|
|
|
|
|
| |
- cleaner format!()
- syndication links
- broke up a long line
|
| |
|
|
|
|
|
|
|
|
| |
Fixes accessibility issue and allows non-sighted users to learn how
your profile picture looks.
Generating alt-text with AI might be a nice idea, except I don't know
how to integrate this yet.
|
|
|
|
| |
Optional at first. Onboarding UI not yet exposed.
|
|
|
|
| |
This allows much for a cleaner and idiomatic settings interface.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
I tried to run my website through a screen reader, and thought this
would be a nice addition.
Also it turns out my website is *mostly* accessible as it is -- yay
for semantic HTML!
|
|
|
|
| |
More rainbows! π³οΈβπ
|
|
|
|
|
| |
A cute little easter-egg from an old version of my site, now available
all year round, because I'm sick of hiding my true self.
|
| |
|
| |
|
|
|
|
|
| |
Bytes buffers are already reference-counted and cheaply clonable;
there is no need to wrap them further.
|
|
|
|
| |
When did I implement that?!!!
|
| |
|
| |
|
|
|
|
|
|
|
| |
For now it is not yet exposed on the frontend, but that is merely a
matter of time.
TODO possibly remove the legacy methods, since they're obsoleted
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes more sense to keep CSS near the templates, and the
client-side JavaScript code too, since it depends on the DOM structure
to work. Additionally, the overhead of `include_dir!()` is almost
completely mitigated by the fact that this is a separate crate that
isn't recompiled often.
The linking stage, however, is still expected to take a little bit
long. But I doubt it'd be longer than what it was before, since it's
the same exact files that get linked into the app.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note: this requires a reindex of the media database. For the default
CAS backend, use the following:
```bash
for i in */*/*/*/*.json; do
etag="$(echo $i | sed -e 's/\///g' -e 's/\.json$//')";
mv "$i" "$i.bak"
cat "$i.bak" | jq '. + { "etag": '\""$etag"\"'}' > "$i"
rm "$i.bak"
done
```
This change is backwards compatible, but caching headers won't be
emitted without etags present in the metadata.
Actual etags are backend-specific and might differ from backend to
backend.
|
|
|
|
|
|
| |
I don't know how worthwhile that was, given that LibreJS developers
themselves don't care to properly declare licenses on the Bazaar
frontend they use to host the extension's source code on the Web π€‘
|
|
|
|
|
| |
This is a naive implementation that doesn't have some security
checks. It's ok tho, should work fine... can refine it later
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This neccesitates installing TypeScript to build Kittybox, but
thankfully Nix actually takes care of that. Build Kittybox with Nix
and you won't have problems.
Also now I can safely do stuff.
|
|
|
|
| |
AAAAAAAAAAAAAAAAAAAAAAAAA
|
| |
|
| |
|
|
|
|
|
|
|
| |
It looks like some badly-behaved apps require "scope" even though it
is optional according to OAuth2. Additionally, both of these fields
are not present in the IndieAuth spec (this is an error in the spec,
tracked here: https://github.com/indieweb/indieauth/issues/116
|
|
|
|
| |
JavaScript is a hellpit i want out of it please help me
|