| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
It's generic enough to be used for anything, but for now it's only
gonna be used for webmentions.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Working:
- Tokens and codes
- Authenticating with a password
Not working:
- Setting the password (need to patch onboarding)
- WebAuthn (the JavaScript is too complicated)
|
|
|
|
| |
Wiremock doesn't require external C dependencies.
|
|
|
|
|
| |
Kittybox now uses tracing instead of log. Why would I keep an
unneccesary dependency in my Cargo.lock?
|
|
|
|
|
| |
It turns out that BufWriter requires calling `flush()` manually and
doesn't do it on `drop()`. I forgot about that.
|
|
|
|
|
|
| |
This requires the `axum` feature to be enabled, to prevent unwanted
dependencies (e.g. in client apps or when using a different framework,
since the library doesn't concern itself with I/O)
|
|
|
|
|
|
|
|
|
| |
This will allow to display a prettier error page in the future.
There is a possibility of instantiating the panic handler per-module
to allow for custom panic messages expressed in the same form the
module itself gives error messages (e.g. pretty HTML for frontend,
MicropubError for Micropub messages etc.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Some kittybox-indieauth crate bugs were fixed
- Things should mostly work...
- ...if you somehow supply your own backend store
- YES I MADE IT MODULAR AGAIN
- NO I AM NOT SORRY
- YOU WILL THANK ME LATER
- DO NOT DENY THE HEAVENLY GIFT OF GENERICS IN RUST
- Retrieving profiles doesn't work for now because I am unsure how to
implement it best
|
|
|
|
|
|
|
|
|
|
| |
This crate is the base framework-agnostic implementation of all data
structures and methods required for IndieAuth protocol. Anything that
can deserialize HTTP request payloads with serde can utilize this
crate.
This is a good candidate to independently release on crates.io when
the interface becomes stable enough.
|
|
|
|
|
|
|
|
|
|
| |
Supported features:
- Streaming upload
- Content-addressed storage
- Metadata
- MIME type (taken from Content-Type)
- Length (I could use stat() for this one tho)
- filename (for Content-Disposition: attachment, WIP)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Axum has streaming bodies and allows to write simpler code. It also
helps enforce stronger types and looks much more neat.
This allows me to progress on the media endpoint and add streaming
reads and writes to the MediaStore trait.
Metrics are temporarily not implemented. Everything else was
preserved, and the tests still pass, after adjusting for new calling
conventions.
TODO: create method routers for protocol endpoints
|
|
- Kittybox's source code is moved to a subfolder
- This improves build caching by Nix since it doesn't take changes
to other files into account
- Package and test definitions were spun into separate files
- This makes my flake.nix much easier to navigate
- This also makes it somewhat possible to use without flakes (but
it is still not easy, so use flakes!)
- Some attributes were moved in compliance with Nix 2.8's changes to
flake schema
|