Series manage redesign (FC-6.4) + migration/normalize hardening + UX fixes #84
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?
Second batch since the last main cut. All on
devat green CI (run #267,a00a278).Migration safety
alembic/env.pywrapsrun_migrations()in apg_advisory_xact_lockacquired before the version read. Every web replica migrates on boot, so underdocker stack deploytwo replicas raced 0040 in prod (duplicate CREATE TABLE → one replica crash-looped onAdminShutdown). The first replica now migrates; siblings block then no-op at head.FC-6.4 — series manage view redesign
Operator feedback: thumbnails too small to order, no way to mark "this is Part 2", busy two-pane picker.
series_chapter.stated_part(alembic 0042), separate from the auto-managedchapter_numberso reorder/delete can't wipe a hand-set number; "Missing Part N" hints.Fixes
lock_timeout=30s) + logs progress — it had run to the 40-min hard limit with no logs when itsseries_pagerepoint blocked behind the wedged 0040 migration.Schema: alembic head moves to 0042 (one new migration; applied with 0041 behind the advisory lock).
🤖 Generated with Claude Code
Operator feedback: thumbnails too small to judge order, no obvious way to mark 'this installment is Part 2', and the permanent two-pane picker was busy and competed with the ordering work. - Full-width parts, each a card with a big page grid (150px, contain so whole pages are visible) and drag-to-reorder; positional page number as a badge. - Editable Part # (hero field) backed by new series_chapter.stated_part — separate from the auto-managed chapter_number, mirroring the page_number vs stated_page split so reorder/delete renumbering can't wipe a hand-set part. Missing-Part hints when consecutive parts' stated_part jump >1. - Each part labels its source post (derived from pages' primary_post_id) and shows the printed-page range with clear labels. - Picker demoted to an on-demand right slide-over ('Add pages') with a target- part selector; part actions (move/merge/delete) collapsed into an overflow ⋮. alembic 0042 adds series_chapter.stated_part (nullable int). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>The image-modal tag kebab's rename dialog still showed a leftover stub ('Merging two tags into one lands in FC-2c') on a name collision, dead-ending the operator. The merge machinery has existed for a while — the Tags view already resolves rename collisions this way. Wire TagRenameDialog to it: on the 409 collision hint, show the same merge confirmation FandomSetDialog uses (target name, image associations moved, alias kept) and POST /api/tags/<id>/merge into the existing tag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>