wrolpi/modules
Roland 3245235185
Repo changes wait for a concurrent writer
Adding, importing, changing, deleting and updating a Repo read, then
wrote, in the request's deferred transaction, so they failed with a 500
("database is locked") when another connection wrote in between.  They
now write inside request.ctx.db.write().

Importing reads the clone with git and walks it for its size; those run
before the write transaction, so it is not held for them.  Everything
that can refuse the import still runs before the clone is changed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:20:13 -06:00
..
archive Readability extraction no longer takes minutes on image-heavy pages (#838) 2026-10-15 18:50:21 -06:00
docs Model reprs read only loaded state (#819) 2026-10-11 16:47:32 -06:00
flasher db: request-path library functions use the request's connection (#774) 2026-10-04 11:05:20 -06:00
inventory Strip whitespace from inventory item string values on save 2026-07-30 17:34:46 -06:00
map Map previews that never drew, and a Docker map with no world under it (#658) 2026-08-11 20:37:23 -06:00
repos Repo changes wait for a concurrent writer 2026-10-21 08:20:13 -06:00
videos Video transcodes run at the least CPU priority (#824) 2026-10-12 12:10:44 -06:00
zim Model reprs read only loaded state (#819) 2026-10-11 16:47:32 -06:00
__init__.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00