QA Session Recordings

ComfyUI Frontend · Automated QA · PR #10247 · main @ 08b1199 · #10247 @ 3fee860 · CI Job
QA Badge
🐧LinuxReport
Before main
After PR
AI Comparative Review
# linux QA Video Report - Generated at: 2026-03-27T02:13:40.668Z - Model: `gemini-3-flash-preview` - Target: https://github.com/Comfy-Org/ComfyUI_frontend/pull/10247 - Before video: `./qa-artifacts/qa-report-Linux-23627581093/qa-before-session.mp4` (3.8 MB) - After video: `./qa-artifacts/qa-report-Linux-23627581093/qa-session.mp4` (2.6 MB) - Mode: **Comparative (before/after)** ## AI Review ## Summary The PR successfully addresses viewport persistence and navigation state issues when working with subgraphs and multiple workflow tabs. - **BEFORE** video confirms the bug where switching between workflow tabs causes the application to lose the active subgraph navigation, reverting the view to the root graph. - **AFTER** video demonstrates that the active subgraph and its viewport position are now correctly persisted across tab switches. - The architectural changes (workflow-scoped keys and sync flushing) ensure that multiple "Unsaved Workflow" tabs do not interfere with each other's viewport states. ## Behavior Changes | Behavior | Before (main) | After (PR) | Verdict | |---|---|---|---| | **Subgraph Tab Persistence** | Switching tabs resets the view to the root graph, losing the active subgraph navigation. | Switching tabs preserves the active subgraph and its specific viewport position. | **Fixed** | | **Viewport Cache Isolation** | Viewports could potentially leak between workflows using generic IDs. | Viewports are scoped to specific workflow instances (verified with multiple "Unsaved" tabs). | **Improved** | | **First-visit Positioning** | Default viewport might leave nodes off-screen on the first entry. | Automatically fits the viewport to nodes on the first visit via `fitToBounds`. | **Improved** | ## Timeline Comparison | Time | Type | Severity | Before (main) | After (PR) | |---|---|---|---|---| | 0:13 | State | None | Enters subgraph in "Unsaved Workflow". | Enters subgraph in "Unsaved Workflow". | | 0:17-0:18 | Behavior | **Fixed** | Switches to a new tab and back; the original tab has **reverted to the Root graph**, losing the subgraph view. | N/A | | 0:12-0:14 | Behavior | **Fixed** | N/A | Switches to a second "Unsaved Workflow" tab and back; the **subgraph remains open** exactly where it was left. | | 0:21 | Behavior | None | Re-enters subgraph manually to check for "drift". No significant drift visible in this specific trace. | N/A | ## Confirmed Issues ### Loss of subgraph context on tab switch `MAJOR` `0:17` `Confidence: HIGH` In the BEFORE branch, navigating into a subgraph is not "sticky" across tab switches. Returning to a tab resets the user to the root graph. **Evidence:** Video 1 at 0:13 (inside subgraph) vs 0:18 (returned to root graph after tab switch). **Suggested Fix:** This is the core fix of the PR, using `subgraphNavigationStore` to persist state. --- ## Possible Issues (Needs Human Verification) - **Node Visibility**: In both videos, the subgraph area appears empty (dark grid). While the code implements `fitToBounds`, the specific template used in the demo might not have nodes inside the subgraph to verify the visual centering logic. ## Overall Risk **Low**. The PR fixes a clear regression/limitation in the tabbed workflow system. The use of `WeakMap` for instance IDs and `flush: 'sync'` for watchers are appropriate senior-level solutions for timing issues in reactive state management. No regressions were observed in standard workflow navigation.