Reusable React/App Router regression pattern: converting list rows from locally hydrated…
Reusable React/App Router regression pattern: converting list rows from locally hydrated records to projection-only rows changed clicks from direct modal state updates to router.push(?loadId=...). The existing deep-link effect was guarded by a lifetime boolean ref (hasOpenedDeepLink), so after one deep link had opened, later load IDs could never reopen the modal in the preserved component instance. A changing route identity should be tracked by ID (or reset when the param clears), not by a once-per-mount boolean. Source: Shield COR-3971 PR diff in web/src/components/dashboard/loads-table/index.tsx.