Maintenance-queue health + modal/tagging keyboard pass #80
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
All CI-green on dev (run 670; 671 is a compose-only follow-up).
Maintenance queue — long runs no longer block (operator-flagged 24h failures)
f2e9ae0, alembic 0039):scan_library_for_ruleran one 2h pass that timed out and hogged the concurrency-1 queue. Now ~10-min chunks that persist a keyset cursor + matches and re-enqueue until done; recovery sweep measureslast_progress_atso a progressing audit isn't killed.d9d502a):normalize_tags_tasktimed out at 40 min on a large back-catalog. Now 600s chunks + re-enqueue; UI is fire-and-forget ("Queued — runs in the background").maintenance_longlane (c217009,68cda61): backups / audits / admin one-shots run on a separate worker so they can never starve the quick recovery sweeps / vacuum. Compose adds the worker; scoped to/images, and the dead/downloadsmount is dropped.shm_size: 512m(64MB/dev/shmwas too small for VACUUM). Backup timeout → 12→30/35 min (a183be7).Modal / tagging keyboard pass
22dc516): the tag-chip kebab (used the v-menu pattern that doesn't open inside the teleported modal — now uses the proven explicit pattern) and ESC-after-accept (now keys off the event origin, not a DOM-wide overlay query).T//jump-to-tag, and a?cheatsheet (1819caa).Deploy note: needs
docker-compose up -d(new worker + shm_size) and a fresh frontend bundle.🤖 Generated with Claude Code
normalize_tags_task timed out at the 40-min hard limit on a large back-catalog (the first run recases the whole booru vocabulary) — operator-flagged, and it monopolized the concurrency-1 maintenance queue while doing so. normalize_existing_tags now takes time_budget_seconds: the live run stops cleanly at the budget and reports {partial, remaining}. The task runs 600s chunks and re-enqueues itself until nothing remains (idempotent — commits per group, so the next chunk skips already-canonical groups). Short chunks let the recovery sweep and other maintenance tasks interleave instead of being blocked for 40 minutes. Frontend: the Standardize button is now fire-and-forget ("Queued — runs in the background; re-run Preview to confirm") instead of poll-until-done, which would have falsely reported "complete" after the first chunk. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>