fix(B06): 저장 뒤 상세 캐시를 버려 새 구조물 벽이 붙게 함

구조물 초안이 저장으로 정본이 되면, 화면이 들고 있던 상세는 초안 기준으로 벽을 얹은
사본이라 새로 저장된 구조물의 벽이 다음 조회까지 안 붙었음(8+0.0 흙막이 실측).

검증: 캐시를 비우면 벽 5 → 7개로 붙음. 테스트 390 통과.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-06 20:20:08 +09:00
co-authored by Claude Opus 5
parent d529ebd170
commit 81a86fcc0d
@@ -16,6 +16,7 @@ import {
type SectionContextResponse,
type SectionDetailResponse,
} from "./B06_Section_Api_Fetch";
import { invalidateSectionDetail } from "./B06_Section_Section_Store";
import { flushPendingStructures } from "../B05_Profile/B05_Profile_Api_Structures";
import { flushUphillOverrides } from "../B05_Profile/B05_Profile_Api_Fetch";
import { buildCrossPatches, type CrossPatchSources } from "./B06_Section_UI_Page_Patches";
@@ -270,6 +271,10 @@ export async function saveCurrentSections(ctx: SectionPersistContext): Promise<v
edits.crossPatches.length ? edits.crossPatches : undefined,
edits.massHaul,
);
// 저장으로 구조물 초안이 정본이 됐다 — 화면이 들고 있던 상세는 초안 기준으로 벽을
// 얹은 사본이라, 그대로 두면 새로 저장된 구조물의 벽이 다음 조회까지 안 붙는다
// (2026-09-06 실측: 8+0.0 흙막이가 저장 뒤 화면 사본에만 빠져 있었음).
invalidateSectionDetail(ctx.projectId, routeId);
showToast(L("B06_Profile_Save_Success"), "success");
} catch (error) {
const detail = error instanceof Error ? ` ${error.message}` : "";