fix(B04): 조합 생성 요청에 전용 타임아웃을 준다

화면 검증에서 드러났다. 드롭다운으로 classification/dtm 을 요청하면 UI가 실패하고
드롭다운이 되돌아갔다. 서버는 200을 돌려주고 있었다 — 실측 114초·144초가 걸리는데
API_ANALYSIS_TIMEOUT_MS(60초)가 먼저 abort 했다.

조합 하나를 만드는 요청은 구조화된 점군(4,900만 점) 전체를 다시 보간하므로
분석용 60초로도 모자란다. API_SURFACE_BUILD_TIMEOUT_MS(15분)를 새로 두고
analyzeSurface 에만 쓴다. 사용자에게는 모달이 미리 "수 분이 걸립니다"로 알린다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-01 12:55:59 +09:00
co-authored by Claude Opus 5
parent 10a629973b
commit 813ab3ab55
2 changed files with 13 additions and 3 deletions
+8 -3
View File
@@ -11,7 +11,12 @@
* - 오류 응답 형식 {status:"error", message:"..."}을 Error로 변환.
* ========================================================================== */
import { API_ANALYSIS_TIMEOUT_MS, API_BASE_URL, API_TIMEOUT_MS } from "@config/config_frontend";
import {
API_ANALYSIS_TIMEOUT_MS,
API_BASE_URL,
API_SURFACE_BUILD_TIMEOUT_MS,
API_TIMEOUT_MS,
} from "@config/config_frontend";
/** 지표면 분석 실행 요청 (SurfaceAnalyzeRequest) */
export interface SurfaceAnalyzeRequest {
@@ -178,11 +183,11 @@ export async function analyzeSurface(
projectId: string,
request: SurfaceAnalyzeRequest,
): Promise<SurfaceAnalyzeResponse> {
// 조합 하나를 새로 만드는 요청이라 기본 30초로는 못 끝난다.
// 조합 하나를 새로 만드는 요청 — 실측 114초(4,900만 점)라 분석용 60초로도 abort 된다.
return requestJson<SurfaceAnalyzeResponse>(
`/projects/${projectId}/surface/analyze`,
{ method: "POST", body: JSON.stringify(request) },
API_ANALYSIS_TIMEOUT_MS,
API_SURFACE_BUILD_TIMEOUT_MS,
);
}