2026-05-17
요약 (AI 작성)
오늘 세 레포에서 광범위한 기능 개발이 진행되었습니다. ohah/ohah.github.io에서는 CRD_WRITE 크론 작업을 통해 hwpjs/tech-stack.mdx 검증, CRON_CRD_WRITE.md 문서 업데이트, 여러 mdx 파일 맞춤법 검사를 완료했습니다. ohah/suji에서는 iOS/Android용 @suji/api 모바일 SDK에 대한 대규모 개발이 이어졌습니다. core 확장(dialog, clipboard, shell, fs, safe_storage, 앱 메타), BrowserWindow OO 래퍼, 윈도우 캡처/스크린샷, 보안 강화(contextIsolation), CEF 개선 등이 포함되었습니다. ohah/zntc에서는 Module Federation v2 인프라 구축이 집중되었습니다. interop, manifest 검증, shared-namespace dead-emit, bundle-context const 병합, minifier 강화, 여러 RFC 구현 등이 포함되어 다중-remote/멱등/manifest 한계 보강과 표준 rspack/enhanced remote 호환성 테스트가 수행되었습니다. 또한 React Native 개선(HMR sourcemaps, require 처리)도 이루어졌습니다.
커밋
ohah/ohah.github.io
- chore: crd-write cron - verify development-6.mdx spelling (2026-05-17 05:30 UTC)
- docs: update CRON_CRD_WRITE.md - 2026-05-17 13:00 UTC check completed
- chore: verify CRD development-4.mdx spelling (2026-05-17 14:00 UTC)
- docs: CRON write task 2026-05-17 19:00 UTC (hwpjs/tech-stack.mdx verified)
- cron: CRD_WRITE spelling check (2026-05-17 14:00 UTC)
ohah/suji
- refactor(pkg): /simplify — run.sh glob-safe 산출물 체크 + fingerprint 주석
- feat(safeStorage): Linux secret-tool + Windows DPAPI 패리티 (배치4 슬라이스)
- refactor(#13): 비-macOS bundle_macos 스텁 제거 + PLAN 정정(EmbedRuntime/dispatch)
- test(pkg): Zig 패키지 소비성 회귀 가드 + 검증 (배치3)
- Revert "feat(safeStorage): Linux secret-tool + Windows DPAPI 패리티 (배치4 슬라이스)"
- refactor(sdk): /simplify — BrowserWindow create 실패 시맨틱 4-SDK 정합
- feat(sdk/rust,go): BrowserWindow OO 래퍼 + Phase 6 완료
- feat(window): capture_page (CDP Page.captureScreenshot) — 코어 + 4 SDK
- refactor(e2e): /simplify — capture-page leftover 정리 + UA 400ms WHY
- docs: set_user_agent PLAN e2e 반영 + CLAUDE e2e 목록(capture/UA)
- test(e2e): capture_page/set_user_agent 실 CEF CDP 실증
- feat(security): contextIsolation — window.suji frozen + 슬롯 봉인 (Phase 7)
- feat(cef): Linux PDF print handler + PLAN 잔여 정합
- feat(mobile): http.fetch 를 모바일 임베드 경로까지 배선 (zig:http)
- refactor(cef): /simplify — capture_page data 추출/슬롯/release 정리
- refactor(window): /simplify — get_user_agent 에러/미설정 시맨틱 분리
- feat(sdk/node): BrowserWindow OO 래퍼 (@suji/node, Phase 6)
- feat(sdk/js): BrowserWindow OO 래퍼 (@suji/api, Phase 6)
- feat(window): set_user_agent/get_user_agent 동적 (CDP) — 코어 + 4 SDK
- fix(android): MainActivity.kt raw NUL 바이트 → 이스케이프 (위생)
- feat(mobile): core dialog 확장 (Slice 8) — error/open/save
- feat(mobile): core app 메타 (Slice 6) — get_path/locale/name/version
- feat(mobile): core clipboard 확장 (Slice 7) — html/rtf/image
- feat(mobile): core shell 확장 (Slice 9) — beep/open_path/show_item/trash
- feat(mobile): core shell.openExternal + notification (Slice 2·3)
- feat(mobile): core clipboard buffer/has/formats + fs stat/mkdir/rm (Slice 11)
- feat(examples): 모바일 네이티브 @suji/api 인터랙티브 데모 (8 index.html)
- docs(plan): 코드서명 표기 정정 — notarize 구현됨 + adhoc 로컬 실증
- feat(mobile): core fs (Slice 10) — read/write/readdir
- docs(ios): shell_beep SystemSoundID 1057=Tink 출처 주석 명시
- docs(embed): suji_core_register_handler channel 인자 계약 정정 (root cause)
- feat(mobile): 진짜 기능 e2e (iOS 시뮬 + Android 에뮬) + Android 배선 버그픽스
- feat(mobile): core safe_storage (Slice 5) + PLAN 커버리지 표
- feat(mobile): core 네이티브 와이어 + clipboard (Tauri 동형, Slice 1)
- feat(mobile): core dialog (Slice 4, 호스트-측 async 가로채기)
- docs(plan): 모바일 네이티브 @suji/api 최종 정리 (Slice 1~11 완료)
- feat(menu): Programmatic context menu — Menu.popup(items,{x?,y?})
- feat(cli): npx @suji/cli init — 의존 0 순수 Node 스캐폴더
ohah/zntc
- test(rn-dev-server): clear rebuild timeout to avoid leaked handle
- fix(rn): keep sourcemap after HMR rebuild
- fix(linker): wrapper-barrel default 술어를 default_export_named_local 로 교정
- docs(mf): §8.1 에 청크 실브라우저 e2e(S0) 통합 (#3318)
- test(e2e): 코드스플리팅 런타임 실브라우저 e2e — JS 동적청크+CSP nonce (#3318 §8.1 S0)
- refactor(stmt-info): extract memberAssignTargetParts 공통 코어 (#3359 중복 제거)
- docs(mf): MF2 계약 실측 반영 — docs.module-federation.io 정독 (#3318)