gendesign/frontend/src
Light1YT f7eb98b971
All checks were successful
Deploy / changes (push) Successful in 6s
Deploy / build-backend (push) Has been skipped
Deploy / build-worker (push) Has been skipped
Deploy / build-frontend (push) Successful in 2m52s
Deploy / deploy (push) Successful in 1m1s
fix(site-finder): handle 202 on-demand geometry in analyze + error boundaries (#1001)
Critical demo-blocker: POST /analyze returns 202 {status:fetching} for parcels
whose geometry isn't cached yet (#93 on-demand НСПД fetch). useParcelAnalyzeQuery
treated 202 as success → the stub (no score/competitors) reached render → Section 3/4
threw TypeError → white screen (no error boundary). Repro confirmed on prod.

- useParcelAnalyzeQuery: 202-aware — poll /fetch-status (2s, 2-min cap), re-POST
  on ready (status-checked, no stub on 202 race), throw HTTPError on
  not_in_nspd/failed/invalid_format; horizon preserved in both POSTs; retry: false
- error boundaries: app/site-finder/analysis/[cad]/error.tsx + app/error.tsx —
  no white screen ever; calm RU message in prod, error detail in dev
- Section3/Section4: guard competitors/score against partial payloads
- CadInput: drop hardcoded default cad (empty + placeholder), raw hex → tokens

Map parcel-select already fixed by 3cea915. Part of EPIC #958.
2026-06-05 16:12:21 +05:00
..
app fix(site-finder): handle 202 on-demand geometry in analyze + error boundaries (#1001) 2026-06-05 16:12:21 +05:00
components fix(site-finder): handle 202 on-demand geometry in analyze + error boundaries (#1001) 2026-06-05 16:12:21 +05:00
hooks feat(#254,#114): custom POI UI + score breakdown stacked-bar viz 2026-05-17 09:35:35 +03:00
lib fix(site-finder): handle 202 on-demand geometry in analyze + error boundaries (#1001) 2026-06-05 16:12:21 +05:00
types feat(site-finder): forecast Section 6 (прогноз/сценарии/confidence) on analysis screen (#998) 2026-06-05 14:09:55 +05:00
instrumentation.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00