I kinda hate the push towards passkeys. If you have two factor Auth, going to passkeys makes you go back to 1 factor, aka less secured.
There's also more and more 2FA fatigue attacks going on, and they can affect passkeys too, and if you don't have a 2FA that involves the user writing a code on the 2FA device, passkeys could be quite possibly worse than passwords
This is also part of my death, because it's much easier to not deadlock when you are FIFO.
Personally I went for the nuclear option, and any transaction is sent as a tokio task to make sure the transaction keeps getting polled despite other futures getting polled. Coupled with a generous busy timeout timer (60secs) and Wal mode, it works pretty well.
Probably should also put the mutex strategy (perhaps a tokio semaphore instead?) although due to lifetimes it might be hard to make a begin() function on my DB pool wrapper.
... Congratulations. You nerd snipped me. Time for it to go on the todo stack.
Hyped for it too, but wouldn't use until sqlx suport. Compile time checked queries are just so good. I don't use rustsqlite for that reason alone (you often don't need async SQLite anyways)
Looking back at the code (Sigh), it's to prevent setting the CARGO variable to cargo mommy, and causing an infinite loop.
You can still do cargo mommy mommy if you like double praises
... Although... It could be made, and sending the error could lead to a more personalized response. As well as being able to use character definitions from ai chat bots.
They didn't even have mentioned the comments in the source code
rust
/// Mommy intentionally lets her little ones call her recursively, since they might want to hear more from her~
///
/// If they call her a thousand times in a row, though, something has probably gone wrong 😏
const RECURSION_LIMIT: u8 = 100;
/// This name is intentionally not user-configurable. Mommy can't let the little ones make *too*
/// much of a mess~
const RECURSION_LIMIT_VAR: &str = "CARGO_MOMMY_RECURSION_LIMIT";
Rust made me have an habit of using snake_case... .rs