2026-02-22
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
hwpjs는 각주·미주 처리 공통화를 담은 #13을 병합하고, HTML 뷰어 스냅샷의 기준이 될 fixture HTML·CSS와 .hwp, 참고 이미지를 추가·갱신했습니다(#14). 이어 문서 요약 정보의 제목을 HTML title로 쓰는 등 fixture와 스냅샷을 비교하는 1단계 작업과 차이 분석 노트를 #15로 병합했고, 리뷰 워크플로 설정 파일도 추가했습니다(#16). HTML 뷰어에는 각주·미주, 머리말·꼬리말, 구역·단 정의 내용 렌더링과 문단 안 굵게·기울임·밑줄 글자 모양 적용, HTML·Markdown 개요 번호 출력이 들어갔습니다. 취소선과 문서 스냅샷 E2E를 담은 #17은 이날 열렸습니다.
react-native-mcp는 iOS는 idb, Android는 adb screenrecord로 화면을 녹화하는 start_video_recording·stop_video_recording 도구와 YAML startRecording·stopRecording 스텝을 병합했습니다(#79). 앱 연결 없이 쓰는 list_apps·terminate_app·get_screen_size·get_orientation·set_orientation 도구를 추가해 전체 도구 수를 47개로 늘렸고(#83), 문서 사이트의 빠진 항목을 채웠습니다(#86).
나머지는 E2E 안정화였습니다. Android 첫 탭 실패를 줄이려고 초기 렌더를 기다리게 하고(#80), 상태 바·내비게이션 바·caption bar inset을 읽어 탭과 오버레이 좌표를 보정했으며(#82), iOS 시뮬레이터를 세로 방향으로 고정했습니다(#84). 탭은 짧은 swipe로 바꾸거나 iOS 타임아웃 때 재시도하는 등 여러 방식을 거쳐 Android input tap과 10초 타임아웃으로 단순화했고, 전체 스텝 대기 시간을 늘리고 Android 제스처 드래그를 안정화한 #85를 병합했습니다. 같은 대기 시간 조정을 담았던 #87은 병합 없이 닫혔고, MCP 도구 설명과 E2E·배포·문서를 정리하는 #88은 이날 열렸습니다. ohah.github.io에는 2월 22일 요약이 올라갔습니다.
공개 커밋 58개, 해당일 생성 또는 병합된 PR 14개를 정리했습니다. PR 생성 12개·병합 11개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/hwpjs
- chore(config): add compound-engineering.local.md for review workflows
- docs: Phase 2 정리 (line-height 열외, 추가 코드 수정 없음)
- feat(core): set HTML title from summary_information for fixture match
- docs: conclude 133line group common issues and strategy
- docs: add page to 133line group diff analysis
- docs: add 133line group diff analysis notes (aligns)
- refactor(core): extract character shape logic into helper function
- test(core): update snapshots and add sample_5017_pics HTML snapshot
- docs: add fixtures vs snapshots HTML comparison summary
- refactor(core): deduplicate paragraphs_from_children_or_param in ctrl_header
- refactor(core): remove duplicate else branch in tracker initialization
- fix(core): fix tracker ownership issues
- feat(core): render outline numbers in HTML and Markdown viewers
- test(core): remove invalid test accessing private modules
- feat(core): apply character shape (bold/italic/underline) in paragraph rendering
- feat(core): render section and column definition content in HTML viewer
- feat(core): render header and footer content in HTML viewer
- feat(core): render footnote and endnote content in HTML viewer
- refactor(core): improve hex literal readability with separators
- style(core): apply rustfmt formatting corrections
- docs(core): fix unresolved link warnings in Script::parse documentation
- refactor(core): fix documentation warnings in hwp-core doc comments
- refactor(core): simplify table caption parsing conditional
- refactor(core): extract table-caption parsing logic into helper
- docs(core): enhance HTML placeholder module documentation
- refactor(core): remove dead code and optimize container access
- refactor(core): extract common logic for footnote/endnote processing
- chore(core): add and update test fixtures (HTML/CSS, .hwp, images)
ohah/ohah.github.io
ohah/react-native-mcp
- fix(e2e): Android 제스처 드래그(Step 28) 실패 방지
- fix(test): E2E all-steps 전반 대기 시간을 PR #87과 동일하게 적용
- fix(test): Step 14 webviewEval 직후 대기 추가
- fix(test): Android E2E Step 8·9 스크롤·탭 후 대기 증가
- docs(docs): rspress 미문서 갭 반영
- fix(config): iOS E2E 시뮬레이터 orientation을 GraphicsOrientation=1로 고정
- docs: list_apps, terminate_app, get_orientation, set_orientation, get_screen_size rspress 문서 추가
- fix(server): 비디오 녹화 저장 경로 및 Android pull 타이밍 수정
- feat(server): list_apps, terminate_app, get_orientation, set_orientation, get_screen_size 도구 추가
- fix(server): tap 디버그 로그 제거, iOS tap 타임아웃 시 1회 재시도
- fix(server): Android insets 및 오버레이 topInset 보정
- refactor(server): tap 단순화 - 타임아웃 10s, Android input tap, iOS 재시도 제거
- fix(server): tap 안정화 - Android swipe 통일, iOS 타임아웃 시 idb_companion kill
- fix(server): tap 타임아웃·재시도·반환 전 대기 조정
- style(server): websocket-server topInsetDp 포맷 정리
- fix(server): E2E Android tap/오버레이 좌표 및 top inset 처리 수정
- fix(server): Android E2E top inset 및 window 포함 여부 판별 수정
- chore(server): tap 단계 디버그 로그 추가
- chore(config): E2E Android 에뮬 진단 출력 및 flakiness 문서 보강
- fix(ci): E2E Android step1(첫 tap) 실패 완화
- fix(e2e): Step 8/9 버튼 20 탭·검증 안정화
- fix(e2e): Android E2E 버튼 20 waitForText 간헐 실패 완화
- fix(server): iOS tap 타임아웃 시 1회 재시도로 간헐 실패 완화
- fix(ci): E2E 실패 시 스크린샷·로그·아티팩트 단계에 타임아웃 추가
- fix(ci): E2E Android job 타임아웃 45분 → 60분으로 상향
- style(server): video-recording 테스트 포맷 수정 (oxfmt)
- test(server): 비디오 녹화 도구·YAML 스텝 테스트 추가
- feat(server): E2E YAML startRecording/stopRecording 스텝 추가 (v2)
- feat(server): E2E 화면 비디오 녹화 MCP 도구 추가
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.