2026-02-03
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
electron-mcp-server는 패키지 이름을 @ohah/electron-mcp-server로 바꾸고 데모 앱에 Vite dev 서버·HMR·preload 경로·CSP를 넣은 #4를 병합한 뒤, 도구 중심 구조로 리팩터링하면서 Chrome DevTools MCP 로드맵의 도구를 스텁으로 등록했습니다(#5). 이후 페이지 컨텍스트에서 JS를 실행하는 evaluate_script(#7), Chrome DevTools MCP와 같은 방식으로 요청을 상시 수집하는 list_network_requests·get_network_request(#8), list_pages·select_page·navigate_page·wait_for 같은 내비게이션 도구(#9)를 차례로 구현하고 데모 E2E 테스트를 붙였습니다. 도구 스펙을 Chrome DevTools MCP와 같게 맞춘다는 규칙도 문서에 넣었습니다.
스크린샷은 Playwright connectOverCDP가 실패하는 문제로 CDP Page.captureScreenshot만 쓰게 고쳤다가 take_screenshot을 빼고 take_snapshot만 남겼고(#6), 뒤이어 take_screenshot을 다시 추가하면서 hover·drag를 개선했습니다(#10). handle_dialog는 Electron 원격 환경에서 Page.handleJavaScriptDialog가 동작하지 않아 등록을 막았습니다. SDK registerTool 제네릭이 Zod 스키마와 얽혀 생기던 타입 오류도 래퍼로 해결했습니다.
chrome-remote-devtools는 React Native 인스펙터의 AsyncStorage 기반 기기 ID를 없애고, 선택적인 deviceId를 받되 없으면 UUID를 만드는 방식으로 바꿨습니다(#110). 예제 앱은 react-native-device-info의 getUniqueId()를 쓰고, 클라이언트 목록에는 RN 기기의 deviceId를 표시합니다. MMKV 보기에서 적용 바와 검증을 없애 편집이 바로 반영되게 한 #109, 외부 링크를 tauri-plugin-opener로 열게 한 #111도 병합했고, MMKV v3·v4 인스턴스를 모두 받도록 고쳤습니다.
ohah.github.io에는 월간 오픈소스에 CRD(Chrome Remote Debugger) 카테고리를 추가해 개발 배경·기술 스택·개발 과정 문서 구조를 잡고, 개발 배경 문단을 다듬었습니다.
공개 커밋 49개, 해당일 생성 또는 병합된 PR 10개를 정리했습니다. PR 생성 8개·병합 10개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/chrome-remote-devtools
- style: apply review feedback (opener + deviceId)
- fix(inspector): show deviceId in client list for React Native
- chore(examples): update react-native app to use deviceId from getUniqueId
- docs: update quick-start with device ID example for React Native
- feat(react-native-inspector): optional deviceId and UUID fallback; docs update
- fix(inspector): use opener only for external links from DevTools iframe
- refactor(inspector): use IFRAME_SANDBOX_DEVTOOLS in replay route
- chore(examples): update iOS Podfile.lock and PrivacyInfo for react-native-device-info
- refactor(inspector): replay iframe sandbox and root cleanup
- chore(examples): use react-native-device-info for stable device ID in example app
- docs(guide): add device ID usage example to quick-start
- fix(react-native-inspector): accept v4/v3 MMKV instances in registerMMKVDevTools
- feat(react-native-inspector): remove AsyncStorage device ID, add optional deviceId and UUID fallback
- style(inspector): remove redundant mock casts in mmkv.test.ts
- fix(config): add issues: write to workflows that post PR comments
- test(inspector): add MMKV CDP handler tests
- chore(react-native-inspector): remove DevTools console.log and add MMKV valueType in CDP
- chore(inspector): add devtools iframe cache-bust and no-store for dev
- refactor(devtools): remove MMKV Update bar and validation, keep type column only
ohah/electron-mcp-server
- refactor: Copilot 리뷰 반영
- docs: 이슈 #3 로드맵 체크리스트 업데이트
- test(e2e): click 도구 응답 기대값을 실제 메시지에 맞춤
- chore(mcp): handle_dialog 지원 제외 및 데모 취소선 표시
- fix(demo): hover 시 영역 크기 불변
- feat(mcp): take_screenshot 도구 추가
- fix(server): takeSnapshotImpl export로 drag includeSnapshot 동작
- fix(mcp): 리뷰 제안 반영 — wait_for text min(1), close_page 설명·문서 정리
- feat(mcp): 내비게이션 도구 실구현 및 데모·E2E 테스트 추가
- test(mcp): 네트워크 E2E에서 수집 선시작 후 Fetch 트리거
- test(mcp): E2E 대기·재시도 및 실행 방법 주석 보강
- fix(mcp): Copilot 리뷰 반영
- docs: AGENTS.MD에 MCP 구현 스펙 규칙 추가
- docs(config): MCP 구현 스펙을 Chrome DevTools MCP와 동일하게 한다는 규칙 추가
- feat(mcp): 네트워크 도구 레퍼런스 스펙 + CDP id 전역화 + 데모 테스트 UI
- chore(config): dev 스크립트에 build:mcp 선행 실행 추가
- docs(config): PR 규칙에 이슈 링크 확인 단계 추가, 로드맵 evaluate_script 체크
- refactor(mcp): evaluate_script 리뷰 제안 반영
- feat(mcp): evaluate_script 도구 구현 및 E2E 테스트 추가
- fix(server): MCP registerTool 타입 에러(TS2589·TS2339) 해결
- style(config): .gitignore 섹션 주석 앞 빈 줄 정리
- fix(server): 스크린샷을 Playwright 없이 CDP만 사용
- feat(demo): 패키지명·Vite dev·CSP 반영 및 MCP 도구 스키마 zod 정리
- refactor(demo): 리뷰 제안 반영 — env 단순화·포트 동기화 주석
- chore(demo): Copilot 리뷰 반영 — 미사용 cross-env 제거
- feat(demo): electron-mcp-demo Vite dev·HMR·preload 경로·CSP·포트 킬
- chore(config): 패키지 이름 @ohah/electron-mcp-server로 변경 및 Cursor MCP·루트 dev 스크립트 반영
ohah/ohah.github.io
- docs: CRD 개발 배경 - '다시 불붙은 계기' 문단 AI 환경 반영으로 수정
- chore: CRD 개발 배경에서 '글 내용은 단순 요약이 아니었다' 문장 제거
- feat: 월간 오픈소스에 CRD(Chrome Remote Debugger) 카테고리 추가
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.