fix(M02): 집계표 열 고른 뒤 CAD 불러오기 죽는 자리 고침
M02_MasterTemplete_UI_Main.ts 의 표 onSelect 가 `sheet?.getDoc().열 ?? []` 로 짜여 있었음 — 옵셔널 체이닝이 `sheet?.getDoc()` 까지만 걸리고 그 뒤 `.열` 은 그대로라, [다시 열기](재열기)가 drop() 으로 sheet 를 null 로 되돌린 그 짧은 사이에 옛 표 부품에 남은 클릭 이벤트가 이 줄을 부르면 `undefined.열` 을 읽어 죽음 (사용자 보고: 여러 열 · 빠르게 바꿔 고르기 · 새로 고친 직후에 CAD 불러오기 오류). `.열` 앞에도 `?.` 를 이어 붙여 sheet 가 없으면 조용히 빈 배열로 감 — 그 뒤 StructurePanel.show() 는 이미 빈 배열 · 없는 colId 를 안전하게 처리함. ORCA 로 정상 경로(열 고르면 도면 정보 패널이 오류 없이 뜸)는 확인함 — 이 브라우저 환경이 오늘 자주 끊겨(Tab was closed while command was running, crashpad 등록 실패가 매 명령마다 뜸) 경합(레이스) 그 자체의 재현까지는 못 잡음. 원인은 코드를 끝까지 읽어 확인함(정황 증거 아님). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K7JS47SacjPxZ718QsZKyr
This commit is contained in:
@@ -171,8 +171,12 @@ export function createMain(isAdmin: boolean, onSaved?: () => void): MainHandle {
|
||||
...(struct
|
||||
? {
|
||||
drawingLabel: (colId: string) => struct.numbers()[colId] ?? "",
|
||||
// ⚠ sheet 는 바깥(다시 열기 등으로 drop() 이 null 로 되돌리는) 값 — 표 부품이
|
||||
// 헐린 뒤에도 안 떼인 이벤트가 이 줄을 부르면 sheet?.getDoc() 가 undefined 라
|
||||
// 그 뒤 .열 을 그대로 읽으면 죽는다(2026-09-28 사용자 보고 — 열 고른 뒤 CAD
|
||||
// 불러오기 오류). getDoc() 뒤에도 옵셔널 체이닝을 이어야 한다.
|
||||
onSelect: (s: { colId: string | null }) =>
|
||||
struct.show(s.colId, sheet?.getDoc().열 ?? []),
|
||||
struct.show(s.colId, sheet?.getDoc()?.열 ?? []),
|
||||
}
|
||||
: {}),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user