| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
This reduces the worst-case complexity to O(n) from O(n^2).
|
| |
|
|
|
|
| |
This allows interactively testing the markup.
|
|
|
|
| |
Finally I can properly add child elements without using the string hack.
|
| |
|
|
|
|
|
|
| |
This is an experimental approach to templates, using `yoshuawuyts`'s
`html` crate. The crate itself has a promising API, but is notably
incomplete.
|
|
|
|
|
| |
This avoids the need for the ./dev.sh script, except when `cargo watch`
is involved.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is so the Kittybox socket can actually listen on both IPv4 and IPv6.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
| |
This complements passing sockets as FDs and graceful shutdown to allow
for zero-downtime restarts.
|
|
|
|
|
| |
Untested, but will be useful when testing Webmentions in the
end-to-end test.
|
|
|
|
|
| |
Now the postgres schemas are completely independent of each
other. This took a while to figure out!
|
| |
|
|
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
It's generic enough to be used for anything, but for now it's only
gonna be used for webmentions.
|
| |
|
| |
|
|
|
|
|
| |
This allows to use the helper on production websites that do security
checks on redirect URIs, as the URI is now properly declared.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
This gives me much more readable traces. JSON logging is still
superior in production, where logs are stored in systemd-journald and
preferably need to be self-contained lines.
|