fix(site-analysis): per-call AbortController вместо shared cancelledRef (#1242) #1271

Merged
bot-backend merged 1 commit from fix/use-site-analysis-abort-controller-recovered into main 2026-06-13 07:54:11 +00:00

1 commit

Author SHA1 Message Date
9fbc28fa33 fix(site-analysis): per-call AbortController, не shared cancelledRef (#1242)
All checks were successful
CI / changes (pull_request) Successful in 7s
CI / changes (push) Successful in 7s
CI / backend-tests (push) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m5s
CI / frontend-tests (push) Successful in 1m6s
Конкурентные analyze делили один cancelledRef: новая мутация ставила
ref=false и воскрешала спящий poll-цикл предыдущей — лишние fetch-status/
POST analyze и setFetchingState(null) затирали баннер активного запроса.

Patch: shared boolean ref → per-call AbortController, signal проброшен
в apiFetch/apiFetchWithStatus, добавлен abortableSleep чтобы цикл
просыпался мгновенно на cancel. setFetchingState(null) guarded
signal.aborted — зомби-цикл не может перезаписать состояние актуальной
мутации. 82/82 frontend тестов зелёные.

Closes #1242
2026-06-13 12:43:47 +05:00