View toggles and Confirm/Reject controls hidden after digitize auto-advance (#28 regression) #43
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Bug — Image/Stitches/Both view toggles and Accept/Reject controls hidden after #28 auto-advance
Severity: P2 (UX — digitize completes but user can't switch view or confirm/reject)
Root cause: #28 fix (
8da6c17) auto-advancesappStateto'digitized'on digitize success. But the view toggles (Image/Stitches/Both) and Accept/Reject controls (Adjust Settings / Confirm & Edit) are rendered inside{appState === 'digitizing' && (...)}at CanvasArea.tsx line 353. When appState advances to'digitized', the outer AnimatePresence guard unmounts these controls before they ever render.The inner conditions (
processingStep >= 4at line 421 and 454) are correct — they gate on the right step. But they're nested inside a parent that checks forappState === 'digitizing'. The #28 fix dispatchesSET_STATE('digitized')right afterSET_PROCESSING(step 4), so processingStep is 4 but appState is no longer 'digitizing'.Repro (verified live, 2026-07-24):
Expected: View toggles and controls should be visible when
appState === 'digitized'as well asappState === 'digitizing'.Fix: Change line 353 from
{appState === 'digitizing' && (to{(appState === 'digitizing' || appState === 'digitized') && (}. Or restructure to move the toggle/reject blocks outside the AnimatePresence and gate onappState !== 'image-uploaded'.Related: #28 introduced this regression.