Review follow-ups: PR #670 — perf(import): review queue keys ~90ms → ~3ms; flag big price gaps (Check price) #903
Reference in New Issue
Block a user
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?
Non-blocking findings from the auto code review of PR #670 (perf(import): review queue keys ~90ms → ~3ms; flag big price gaps (Check price)) — captured for batch cleanup rather than blocking the PR.
Commit
31479db· https://github.com/Gambit-Inc/gambit/pull/670SHOULD-FIX:
frontend/app/hq/imports/page.js:1705-1707—ParkedPanelnow owns its own localpicksstate instead of sharing the wizard-levelpickspassed down fromImportWizard/TriageStep. Previously the samepicksobject (keyed byrow_id) was shared across the queue and the Parked panel, so a candidate index chosen while a row was still in the queue carried over once the row was set aside. Now that selection silently resets to index 0 the moment a row lands in Parked, because the new localuseState({})starts empty. Not data-destructive (nothing commits until the seller picks again), but it's an unannounced UX regression from the pre-refactor behavior.NITS:
frontend/app/hq/imports/page.js:1784vs:1818— the new top-levelconst setPick = useCallback((id, i) => ...)and the pre-existing keyboard handler's localconst setPick = (i) => ...insideonKeyhave the same name but different signatures (row-id-based vs index-based). The inner one shadows the outer; functionally harmless but confusing to read/lint.frontend/app/hq/imports/_components/QueueRow.jsx:33—containIntrinsicSize: "auto 80px"is a fixed guess; rows with a wrapped title, multiple badges, warning/error text, and now the addedGapNoteline can exceed 80px, which can cause a visible jump when an off-screencontent-visibility: autorow scrolls into view and its real height replaces the placeholder. Cosmetic only.Filed from a Claude Code session