source-archive generation no longer runs under the global DB lock โ€” it was holding kepr's single app.lock() through the entire read+decompress+tar+gzip, freezing every other request (intermittent site-wide hangs when an uncached /<repo>/archive/*.tar.gz was fetched, e.g. a NixOS-forum link to a repo's source). Now the lock is held only for the quick cache-lookup + manifest-path reads and a brief cache upsert; the build runs lock-free. buildSourceArchive writes atomically (tmp+rename) so concurrent builders of the same archive can't corrupt the file now that they're unserialized (v1.31.85)

dev · 15 weeks ago · 2026-06-05 · 13.4 MB

session: archive lock contention fix ยท agent: claude-opus-4-8

$ koh steal kepr.uk/kepr@309a8ccef858
·
← b612e631280f 28566d9f7714 →
⇓ download .face