| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This is so minimal it can't be much less than this.
Use it with `docker load`.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will be used to embed fonts into the executable to not rely on
Google Fonts anymore.
|
|
|
|
|
|
|
|
|
| |
Warp is using hyperium/http instead of http-types, so I replaced all
of the http-types usage (mostly status codes) by Warp's
http::StatusCode.
Additionally some of the struct fields were made public to allow
initialization from public code.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This adds the ability to use mocks that don't actually touch the
network and alternative transports such as using OpenSSL instead of
rustls (but rustls is still superior).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
require_token() uses a token endpoint URI and an HTTP client to query
the token endpoint and return a User object if the user was
authorized, or rejecting with IndieAuthError if not. It is recommended
to use recover() and catch the IndieAuthError at the application level
to show a "not authorized" error message to the user.
This function is more intended for API consumption, but is general
enough to permit using in other scenarios.
TODO: make a variant that returns Option<User> instead of rejecting
|
|
|
|
|
|
|
|
|
|
|
| |
Warp allows requests to be applied as "filters", allowing to flexibly
split up logic and have it work in a functional style, similar to
pipes.
Tokio is just an alternative runtime. I thought that maybe switching
runtimes and refactoring the code might allow me to fish out that
pesky bug with the whole application hanging after a certain amount of
requests...
|
| |
|
| |
|
|
|
|
|
|
| |
This is to prevent spinning in a loop waiting for a lock. This hangs
often, though I suspect this should have been fixed in the previous
commit.
|
|
|
|
|
|
|
| |
This may or may not be the cause for the app hanging while waiting for
a lock. Now the operations with locks are never performed over an
async boundary, excluding any shenanigans that can happen when
accidentally leaving a file locked over async boundaries.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This will allow readers to view private posts intended just for them.
Additionally fixed bugs in patterns due to which webmentions might not
have been sent.
|
| |
|
|
|
|
| |
Because sometimes seeing the problem is better than searching for it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It works. Launch it using the "kittybox-database-converter" command.
First argument should be the old database URI, second should be the
new one. It will migrate the DB for you.
If you're doing this on a test machine, you can then migrate the
database to production using `rsync -rl` to preserve symbolic links
created by Kittybox's database backend.
|
|
|
|
|
|
| |
Thanks to @Kloenk I was able to get rid of the unsafety and
tell the compiler how to properly check what I needed for
the StorageError to be declared thread-safe.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flake lock file changes:
• Updated input 'nixpkgs':
'github:kisik21/nixpkgs/28ab753837babd73e2200fb76a6c40f6cb8aee28' (2021-07-14)
→ 'github:kisik21/nixpkgs/e2b7e226ac2f83039d0f116c3693619a8bd6444c' (2021-11-23)
• Updated input 'rust':
'github:oxalica/rust-overlay/63cff1cea66f1cd76fe5377776e5e597c6635a42' (2021-08-06)
→ 'github:oxalica/rust-overlay/885ef5bf9d2857dff8689292aedb511dfc952862' (2021-11-23)
• Updated input 'rust/flake-utils':
'github:numtide/flake-utils/f7e004a55b120c02ecb6219596820fcd32ca8772' (2021-06-16)
→ 'github:numtide/flake-utils/bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4' (2021-11-15)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
When an error is found, the site name passed to Storage::get_setting
in the error handler is incorrect. The ASCII serialisation of the
hostname should get used.
|