mirror of
https://github.com/penpot/penpot.git
synced 2026-09-24 21:06:14 +00:00
Lock in the fix from 31b73460c3 (#11803) with a regression test for the exact reported scenario: loading the viewer with a URL that already contains `zoom=fill`. At 2.18.0-RC5 `update-zoom-querystring` navigated without any comparison, so the load sequence bundle-fetched → zoom-to-fill → update-zoom-querystring → nav → navigated re-ran forever and crashed the page with React error #185 ("maximum update depth exceeded"). The guard added in 31b73460c3 breaks the cycle; the new test asserts that a bundle fetch against a `zoom=fill` route emits no navigation events. Also updates the dashboard/viewer frontend memory to document the guard and the loop it prevents. AI-assisted-by: glm-5.3-flash