2026-05-26
요약 (AI 작성)
zntc는 MCP 통합과 dev PostCSS 안정화 두 축으로 가장 많은 변경이 있었습니다. #3867을 기반으로 MCP app channel 작업이 단계별로 진행되어, server의 transport-agnostic dispatcher 분리(PR-A, #3872)와 stdio transport·zntc mcp 서브커맨드(PR-B, #3873)를 시작으로 WS endpoint(PR-E1, #3879)와 react-native MCP runtime WS client(PR-E2, #3880), WebView wrapper alias(PR-D, #3878)까지 채널이 구성되었습니다. 그 위에 ping_app(#3888), find_element(PR-F1, #3892), inspect_state(PR-F2, #3893), eval_code(PR-F3, #3895), get_logs(PR-F4, #3896), take_snapshot(PR-F5, #3897) 같은 MCP tool이 차례로 추가되었고, AppChannel.request API와 응답 매칭(PR-E3a, #3887)도 함께 들어갔습니다. 이 과정에서 DevServer.deinit graceful shutdown(#3889), recv_buf 크기 조정(#3881·#3886), JSON-RPC 2.0 notification 응답 금지(#3874) 등 retroactive code-review 후속 수정이 다수 반영되었습니다.
dev path의 PostCSS 처리에서는 회귀 수정과 RFC #3833 후속 작업이 이어졌습니다. zero-config PostCSS double-pass 해소(#3848), postcssDirDeps 보존과 skipPostcssRun 머지(#3850 관련, #3855·#3856), caller-side pre-warm 도입(#3845)과 silent ignore 회귀 수정(#3851, #3854)이 정리되었고, css({root}) 단독 명시 시 auto-discover search base routing(#3857), reconcileOutdirCss 회귀와 rescan boundary(#3860 관련, #3862) 등이 처리되었습니다. native watch가 graph 외 .css 신규 파일을 감지하도록 FileWatcher의 dir-watch 지원(#3858 PR-1~3)이 추가되었으며, dev-incremental PostCSS 회귀와 DELETE test를 통과시켜 main CI를 복구했습니다(#3868). 이 외에 __zntc_modules Proxy fallback으로 .zntc.css side-effect import를 noop 처리(#3869, #3870·#3871)했고, napi target의 BoringSSL static link로 SSL_CTX_free undefined symbol을 해결했습니다(#3894).
suji는 Windows 패키징과 백엔드/플러그인 dylib 번들링이 중심이었습니다. Windows에서 backend/plugin dylib을 번들하고 런타임에 해석하도록 한 작업(#40)을 시작으로, sentinel marker와 dylib 사전 검증(#41), 누락 시 fail-loud하는 --strict 모드(#42), macOS/Linux로의 dylib 번들링 parity(#43)가 더해졌습니다. self-contained CEF/Node runtime과 packaged exe bootstrap(#39), Windows autoUpdater의 zip 포맷 지원(#44)이 추가되었고, MSYS2 libnode 사용과 Windows CI toolchain 정리, Linux GTK dialog backend 추가 등도 함께 진행되었습니다. ohah.github.io에서는 누락된 5월 항목(05-19, 05-21~05-25) 등록과 today-commit 요약 작성, 다수의 CRON 기반 MDX 맞춤법 검사 작업이 기록되었습니다.
커밋
ohah/ohah.github.io
- docs(today-commit): register missing May entries (05-19, 05-21~05-25)
- docs: add CRON_CRD_WRITE.md entry for 2026-05-26 14:00 KST
- docs: complete cron task - CRD development-4.mdx spelling check (2026-05-26 15:00 KST)
- chore(cron): add 2026-05-26 12:30 KST CRON task entry
- chore: update cron CRD write completion for development-4.mdx
- docs: add cron entry for 2026-05-26 10:30 KST CRD write verification
- docs: mark 2026-05-26 03:30 KST cron task as completed
- cron: document CRON_CRD_WRITE.md completion at 17:30 KST
- cron: document CRON_CRD_WRITE.md completion at 18:00 KST
- docs: cron task completed - one mdx file verified (development-2.mdx)
- docs: cron task completed - one mdx file verified (development-2.mdx)
- docs: verify spelling for CRON_CRD_WRITE.md completion entry (2026-05-26 16:30 KST)
- cron: complete spelling check for tech-stack.mdx
- docs: complete today-commit summary for 2026-05-26
- docs: complete CRD spelling check at 23:00 KST (2026-05-26)
ohah/suji
- Bundle backend/plugin dylibs in Windows package + runtime resolution
- Add --strict packaging flag to fail on missing backend/plugin dylibs
- Fix PR #40 code-review findings: sentinel marker + dylib validation
- Update CLAUDE.md with recent Windows native + plugin progress
- Add Windows e2e + wrapper-bundle runners for state/sqlite plugins
- Fix Rust wrapper on stable Rust (specta typescript opt-in)
- Windows packaging: bundle CEF/Node runtime, detect packaged exe
- Fix Windows CI toolchain setup
- Use MSYS2 libnode for Windows Actions
- Align native API documentation
- Export MSYS2 MinGW root in Actions
- Add Linux GTK dialog backend
ohah/zntc
- fix(cli,web): dev-incremental PostCSS test 회귀 fix + DELETE test 통과 (CI 복구)
- docs(readme): fix dev server example command
- fix(napi,cli): reconcileOutdirCss 회귀 + rescan boundary (#3860 /code-review max)
- fix(cli): PR #3865 /code-review max — double broadcast + outdir==root edge
- fix(cli): drain rebuildAppDevCss 가 prepare 도 호출 (Closes #3861)
- feat(napi,cli,web): native watch 가 graph 외 .css 신규 file detect (#3858 PR-3)
- fix(server): 삭제 path 의 UAF 차단 (#3858 PR-2 /code-review max #1)
- feat(server): dev_server.watchLoop 가 root_dir dir-watch + rescan (#3858 PR-2)
- fix(server): InotifyBackend removePath 의 inotify wd leak 차단 (/code-review max #3)
- feat(server): FileWatcher 의 dir-watch 지원 (#3858 PR-1)
- fix(web,cli): #3857 /code-review max — require base 분리 + guard 추가
- fix(cli,web): css({root}) 단독 명시 시 auto-discover search base routing (Closes #3857)
- fix(bundler): __zntc_modules Proxy fallback — .zntc.css side-effect import noop (Closes #3869)
- refactor(server): dispatcher 자체에 -32603 fallback 내장
- refactor(server): handleMcp 본문을 transport-agnostic dispatcher 로 분리
- fix(web): AppDevControllerOptions/PrepareAppCssPipelineRootOptions 에 postcssOverride.root 타입 추가 (/code-review max #1/#12)
- Revert "fix(web): preparePostcssApplied 가 sass-only false-positive 해소 (/code-review max #1)"
- fix(web): preparePostcssApplied 가 sass-only false-positive 해소 (/code-review max #1)
- fix(web): prepare 의 postcssDeps 가 incremental 시 carry-over (/code-review max #1)
- fix(web): prepare 의 postcssDirDeps 보존 + afterBundle skipPostcssRun 머지 (Closes #3850)