fix: 미게시 변경분 감사 — 떨어진 개체 선택 · RTF 여백 왕복 · 스크립트 링크 입력 경로 - #56
Merged
Merged
Conversation
1.2.0 이후 변경(PR #52~#55)을 자기 변경분부터 감사해 찾은 결함 3건. 셋 다 상류에도 있다. - 표 행·열 공개 API가 지운 행·열 안의 개체 선택을 놓지 않았다. Delete가 떨어진 행을 고치고 (되돌리기 단계만 생김), 인라인 그림이면 캐럿이 문서 밖 문단에 남았다. AfterEdit/AfterStructuralEdit에서 문서에 없는 개체 선택을 푼다(DropDetachedObjectSelection — 문서에서 아래로 걷는다. 지운 행의 셀은 표를 부모로 기억해 부모 사슬로는 "안"이다). - RTF 여백 왕복이 mm를 틀었다(15 → 850 twip → 14.993). 여백 픽커 5단계 전부 불일치. 0.1 mm 단위이고 같은 twip으로 되돌아가는 값만 스냅한다(PageSetup.TwipsToMm). Word 1800 twip = 31.75 mm는 그대로. 기존 테스트가 "1 twip 이내"를 계약으로 잡아 두어 못 봤다. - 스크립트 링크 차단이 HTML 입력에만 있었다. RTF HYPERLINK 필드와 JSON/.flow에도 SafeHref를 걸고, HTML 출력에도 같은 검사(호스트 SetHyperlink 대비). 테스트 910 → 930, 전체 통과. 퍼즈 20,000시드 통과. 반증: 개체 선택(끄면 3건 빨강, 늘 지우면 유지 테스트 빨강), 여백(스냅 제거 7건 빨강, 늘 스냅 1건 빨강), 링크(수정 전 7건 빨강). 로드맵에 감사 기록·#55 기록·남은 항목(AOT 스윕에 여백 단계, 퍼즈 생성기의 페이지 설정) 반영. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
감사 후속(남은 항목). - 문서 퍼즈가 페이지 설정(용지·방향·머리글/바닥글·쪽 번호·여백 mm)과 블록 위 여백(AutoTopMargin NaN 포함)을 만들고 Shape로 본다. 반증: JSON이 왼쪽 여백을 잃으면 446건, 구분선 자동 간격을 0으로 읽으면 578건 빨강. - 넓히자마자 결함 1건(20,000시드 중 시드 8178): HTML 목록 읽기가 data-are-empty를 보지 않고 빈 항목을 모두 버려, 양옆 항목이 한 목록으로 합쳐지고 번호 모양이 바뀌었다. 문단과 같이 표식을 따른다(외부 HTML의 빈 항목은 여전히 버림). 수정 전 빨강 확인, 수정 뒤 20,000시드 통과. - 데모 --pageprobe(PageMarginProbe): 화면 밖 에디터로 여백 DP(record struct를 담는 첫 DP) 설정·박싱 되읽기·거부·문서 캡처·JSON/RTF 왕복·적재·툴바를 거쳐 기록. fault-sweep.ps1이 함께 켠다. 실측: JIT와 AOT 출력 바이트 동일, AOT 전용 결함은 알려진 LineMetricsOf 하나. - 새 테스트의 경고 2건(CS8602, xUnit2029) 정리. 테스트 931 전체 통과. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1.2.0 이후 미게시 변경(PR #52~#55)을 자기 변경분부터 감사해 찾은 결함 3건. 셋 다 상류에도 있어 같은 수정을 상류에 따로 PR로 낸다.
결함
AfterEdit/AfterStructuralEdit에서DropDetachedObjectSelection(문서에서 아래로 걷는다 — 지운 행의 셀은 표를 부모로 기억해 부모 사슬로는 "안"이다).PageSetup.TwipsToMm: 0.1 mm 단위이고 같은 twip으로 되돌아가는 값만 스냅. Word 1800 twip(31.75 mm)은 그대로. 기존 테스트가 "1 twip 이내"를 계약으로 잡아 두어 못 봤다.HYPERLINK필드(클립보드 붙여넣기)와 JSON/.flow로 들어온javascript:링크가 내보낸 HTML·클립보드 HTML로 다시 나감. → 두 입력 경로에SafeHref, HTML 출력에도 같은 검사(호스트SetHyperlink대비).검증
[Unreleased], 로드맵(감사 기록, fix: 클립보드가 잠깐 바쁠 때 복사·붙여넣기가 조용히 실패하던 것 #55 기록, 1.3.0 전 남은 항목 — AOT 스윕에 여백 단계 추가, 퍼즈 생성기에 페이지 설정 추가, 실기 확인).공개 표면 변화 없음.
후속 커밋 (807dd22)
AutoTopMarginNaN 포함)을 만들고 관측. 반증: JSON이 왼쪽 여백을 잃으면 446건, 구분선 자동 간격을 0으로 읽으면 578건 빨강.data-are-empty를 무시해 빈 항목이 사라지고, 양옆 항목이 합쳐져 번호 모양이 바뀜. 수정 뒤 20,000시드 통과. 상류 공통.--pageprobe+fault-sweep.ps1연동. JIT·AOT 출력 바이트 동일, AOT 전용 결함은 알려진LineMetricsOf하나.🤖 Generated with Claude Code