2026-03-09
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
cheolsu-proxy는 PR 스물두 개를 main에 병합했습니다. 오전에는 속도 제한과 지연을 흉내 내는 네트워크 쓰로틀링을 코어·데몬·데스크톱·TUI에 넣고(#103), 프록시를 켜고 끄는 글로벌 단축키(#104)와 FSD 계층 위반 정리(#105)를 병합했습니다. MCP의 add_rule이 기존 규칙을 지우던 문제와 앱·MCP·TUI 사이 규칙 동기화를 고쳤고(#106, #107), macOS 앱 번들에 OpenSSL dylib를 넣어 코드 서명 충돌을 해결했습니다(#109, #110). Protobuf·gRPC 감지와 raw wire format 디코더·트리 뷰어(#108), README 영어·한국어 분리(#111), 필터 쿼리 연산자 앞뒤 공백 허용(#112)도 들어왔습니다.
오후에는 프록시에 내장한 CA 인증서 다운로드 엔드포인트와 QR 코드 안내로 외부 기기 인증서 설치를 지원했고(#113), 트레이 패널의 포커스 경쟁과 첫 클릭 문제를 고쳤습니다(#114, #115). 이어 unwrap·expect 정리와 parking_lot 도입, 통합 테스트 추가(#116), 데몬의 거대 함수 분해(#117), 구조체 책임과 모듈 분리(#118)로 단계별 리팩터링을 마쳤습니다. 저녁에는 모바일 CA 인증서 배포 페이지(#119), 트래픽 비교(#120), 세션 저장·불러오기와 HAR 가져오기(#121), 요청·응답을 실시간으로 멈춰 고치는 Breakpoint(#122), DNS Spoofing과 원격 호스트 매핑(#123)을 GUI·TUI와 함께 병합하고 병합 뒤 빌드 오류를 바로잡았습니다(#124). Breakpoint 화면 분할 수정 #127과 빠른 설정 토글·HTTP 요청 작성·정규식 Rewrite 규칙·고급 반복 #128·#129·#130·#131은 이날 열려 다음 날 병합됐고, 같은 내용의 #125·#126은 닫혔습니다.
Rust 텍스트 편집기 rira가 이날 시작됐습니다. 프로젝트 계획과 MIT 라이선스, 크레이트 10개짜리 워크스페이스와 CI를 만든 뒤, ratatui 백엔드를 얹은 winit·wgpu 렌더러, 버퍼·커서·선택·실행 취소가 있는 편집기 코어, 키맵·테마 파서를 각각 PR로 병합했습니다(#1, #2, #3). 이어 Retina 배율 버그와 첫 리사이즈 뒤 빈 화면을 고치고 GPU로 그리는 커스텀 타이틀 바를 넣었으며(#4, #5, #7), 줄 번호 거터, 키 입력 연결, 방향키 이동, 한글·CJK IME, file:line 형식 CLI 인자, 파일 열기·저장 대화상자, 클립보드, 마우스 클릭 위치 지정, Shift 선택, 스크롤을 #10부터 #20까지 차례로 병합했습니다. 마우스 클릭 좌표 수정과 드래그 선택 #21은 다음 날 병합됐습니다.
react-wasm-table은 전날 연 npm 배포 워크플로 #78을 bun으로 배포하도록 고쳐 병합했습니다. ohah.github.io에는 크론의 맞춤법 점검 상태 기록과 요약 갱신 커밋 17개가 남았습니다.
공개 커밋 178개, 해당일 생성 또는 병합된 PR 51개를 정리했습니다. PR 생성 50개·병합 43개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/cheolsu-proxy
- docs: 로드맵/기능 비교 문서 실제 구현 상태와 동기화
- fix: 머지 후 빌드 에러 3건 수정
- style: cargo fmt 및 i18n 카탈로그 동기화
- style: cargo fmt 및 i18n 카탈로그 동기화
- fix: IPv6 주소 bracket 처리 수정
- refactor: PR #123 UI 리뷰 반영
- feat(tui): Host Mapping 섹션 키핸들러 및 UI 렌더링 구현
- fix: i18n 카탈로그 업데이트
- fix: lint 에러 수정
- feat(ui): DNS Host Mapping GUI/TUI 추가
- refactor: 코드 리뷰 반영 - host_mapping 개선
- test: host_mapping 및 protocol 테스트 보강
- style: cargo fmt 포맷 수정
- feat: DNS Spoofing / Remote Host Mapping 기능 구현
- style: cargo fmt 및 i18n 카탈로그 업데이트
- refactor: PR #121 UI 리뷰 반영
- fix: i18n 카탈로그 업데이트
- feat(tui): 세션 저장/불러오기 기능 추가
- fix: lint 에러 수정
- style: cargo fmt 포맷 수정
- feat(ui): 세션 저장/불러오기 GUI 커맨드 추가
- refactor: 코드 리뷰 반영 - stub 주석, 모듈 가시성 제한, 튜플 접근 주석 추가
- fix(session): SessionTransaction 응답 데이터 손실 버그 수정 및 테스트 보강
- feat: 세션 저장/불러오기 및 HAR 가져오기 기능 구현
- chore(desktop): i18n 카탈로그 동기화 (rebase 후 extract)
- refactor: PR #122 UI 리뷰 반영
- feat(tui): Breakpoint 탭 UI 렌더링 및 키 핸들러 추가
- fix: i18n 카탈로그 업데이트
- fix: lint 에러 수정
- feat(ui): Breakpoint GUI/TUI 추가
- refactor(proxy_daemon): 리뷰 반영 - wildcard_matches 분리, 타임아웃 상수화, 모듈 가시성 제한
- test: breakpoint.rs 및 protocol.rs 테스트 보강
- style: cargo fmt으로 코드 포맷 수정
- feat: Breakpoint(실시간 요청/응답 편집) 기능 구현
- refactor: PR #120 UI 리뷰 반영
- style: cargo fmt 포맷팅 수정 (network.rs)
- fix: lint 에러 수정
- style: cargo fmt 포맷 수정
- feat(ui): 트래픽 비교 GUI 커맨드 추가
- refactor: PR 리뷰 반영 및 CI 포맷 수정
- test: diff.rs 및 mcp_server 테스트 보강 (11개 추가)
- style: cargo fmt 포맷 수정
- feat: 트래픽 비교(Diff) 기능 구현
- refactor: PR #119 UI 리뷰 반영
- fix: i18n 카탈로그 업데이트
- fix: lint 에러 수정
- feat(ui): CA 인증서 배포 GUI/TUI 추가
- refactor(cert_distribution): 코드 리뷰 반영
- test(cert_distribution): 엣지 케이스 및 누락된 경로 테스트 보강
- style: cargo fmt 포맷 수정
- feat(proxy_daemon): 모바일 CA 인증서 배포 페이지 구현
- refactor(proxy_daemon): HttpState를 RequestState + ProxyConfig로 분리
- refactor(mcp_server): params 구조체 가시성 pub → pub(crate) 제한
- docs: 리팩토링 플랜 Phase 4 완료 표시
- refactor(proxy_daemon): LoggingHandler 구조체 책임 분리 (Phase 4-1)
- refactor(mcp_server): main.rs 모듈 분리 (Phase 4-2)
- refactor(proxy_v2_models): data_type.rs 모듈 분리 (Phase 4-3)
- refactor: 리뷰 반영 - WsMessageType Copy derive, extract_ws_context URL 통합, 테스트 디스트럭처링
- fix(proxy_daemon): build.rs 제거, 테스트 시 DYLD_FALLBACK_LIBRARY_PATH 사용으로 전환
- test(proxy_daemon): Phase 3 분해 함수 단위 테스트 추가
- fix(proxy_daemon): macOS에서 cargo test 시 openssl dylib 로드 실패 수정
- refactor(proxy_daemon): 거대 함수 분해 (Phase 3)
- refactor: 리뷰 반영 - 이중 fallback 제거, HeaderValue::from_static 직접 사용, mqtt_versions parking_lot 전환
- style: cargo fmt 적용
- test: proxy_daemon 및 scripting 통합 테스트 추가 (Phase 2)
- refactor: unwrap/expect 정리 및 parking_lot 도입 (Phase 1)
- fix(desktop): 트레이 패널 첫 클릭 시 표시되지 않는 문제 수정
- fix(desktop): 트레이 패널 포커스 레이스 컨디션 수정
- chore: Cargo.lock 동기화 (qrcode 의존성 추가 반영)
- refactor(desktop): QR 코드 중앙 로고 제거
- fix(tui): QR 코드 영역 높이를 동적 계산으로 변경
- style: QR 코드 로고 도트 색상을 블랙으로 통일
- style: QR 코드 로고 스타일 개선
- test: 인증서 다운로드 기능 유닛 테스트 추가
- feat: QR 코드 중앙에 로고 이미지 오버레이
- feat(tui): 설정 화면에 QR 코드 렌더링 추가 (CP 로고 오버레이)
- chore: 외부 기기 인증서 관련 i18n 번역 추가
- fix(proxy_daemon): 코드 리뷰 반영 — 인증서 다운로드 기능 개선
- feat(tui): 설정 화면에 외부 기기 인증서 정보 표시
- feat(desktop): 설정 페이지에 외부 기기 인증서 설치 섹션 추가
- feat(desktop): QR 코드 기반 외부 기기 인증서 다운로드 정보 제공
- feat(proxy_daemon): 프록시 내장 CA 인증서 다운로드 엔드포인트 추가
- style: oxfmt 포맷 적용 — README 마크다운 정리
- style: lint 에러 수정 (no-plusplus, no-unused-vars)
- test(desktop): Protobuf 디코더 유닛 테스트 추가
- fix(desktop): 코드 리뷰 반영 — Protobuf 디코더/뷰어 개선
- feat(desktop): Protobuf raw wire format 디코더 및 트리 뷰어 추가
- feat(proxy_v2_models): Protobuf/gRPC DataType 및 Content-Type 감지 추가
- docs: Charles Proxy/mitmproxy 대비 미구현 기능 목록 문서 추가
- docs: README 기능 목록을 실제 구현에 맞게 보강
- docs: README 영어/한국어 분리 — 혼재 내용 정리
- style(desktop): oxfmt 포맷 적용 — tauri.conf.json 배열 한 줄 정리
- style(desktop): oxfmt 포맷 적용 — 테스트 파일 따옴표 스타일 수정
- fix(desktop): 쿼리 연산자 앞뒤 공백 허용 — 파싱·자동완성 정규식 수정
- fix(desktop): OPENSSL_DIR로 빌드 시점에 @rpath 참조 해결
- style(tui): dead_code 경고 suppress — CI -D warnings 대응
- ci: OpenSSL dylib 번들링 검증 워크플로우 추가
- fix(desktop): 코드 리뷰 반영 — OpenSSL 번들링 안정성 개선
- fix(desktop): macOS 앱 번들에 OpenSSL dylib 포함하여 코드 서명 충돌 해결
- refactor(desktop): waitForDaemonRules 타이머 누수 수정 및 테스트 순서 검증 보강
- test(desktop): sync-rules 유닛 테스트 추가
- fix(desktop): 초기 동기화 타이밍 레이스 조건 수정
- fix(proxy_daemon): 연결 직후 빈 규칙 목록도 전송하도록 수정
- fix(desktop): 앱 UI 규칙 동기화 시 외부 규칙(MCP/TUI) 보존
- test(mcp_server): MCP 인터셉트 규칙 broadcast 동기화 테스트 추가
- fix(proxy_daemon): 클라이언트 연결 직후 현재 인터셉트 규칙 전송
- chore(desktop): lingui extract로 번역 카탈로그 동기화
- refactor(desktop): 글로벌 단축키 코드 FSD 구조로 분리
- refactor(desktop): 글로벌 단축키 리뷰 반영
- chore(desktop): tauri-plugin-os 의존성 추가
- feat(desktop): 프록시 토글 글로벌 단축키 기능 추가
- chore(desktop): 글로벌 단축키 플러그인 의존성 추가
- chore(desktop): lingui extract로 번역 카탈로그 동기화
- fix(desktop): Select onValueChange 및 SidebarSection 타입 에러 수정
- refactor(desktop): widgets → features 계층 위반을 slot/callback 패턴으로 해소
- refactor(desktop): generateCurlCommand를 shared/lib으로 이동
- refactor(desktop): formatBytes 유틸을 shared/lib으로 이동
- chore(desktop): 쓰로틀링 UI 문자열 i18n 번역 추가
- test: 쓰로틀링 테스트 보강 — copy_bidirectional_throttled, 프리셋 일관성, TUI 폼
- refactor: 쓰로틀링 리뷰 반영 — 이중 제한 수정, 중복 제거, 도움말 수정
- feat(tui): TUI Settings에 쓰로틀링 섹션 추가
- feat(desktop): 데스크톱 앱에 네트워크 쓰로틀링 설정 UI 추가
- feat(proxy_daemon): 데몬에 쓰로틀링 설정 전파 채널 추가
- feat(proxyapi_v2): 네트워크 쓰로틀링(속도 제한/지연) 코어 모듈 구현
ohah/ohah.github.io
- docs: crd-write cron status update - 2026-03-10 8:30 AM (all files already checked)
- doc: 크론 검사 완료 상태 갱신 (93차 업데이트)
- CRON: 92-ch update - 2026-03-10 7:30 AM (Asia/Seoul), periodic recheck, all mdx completed
- CRON: 91차 업데이트 - 크론 주기적 실행, 전체 대상 .mdx 파일 검사 완료 상태 재확인
- chore: 크론 재확인 실행 - docs/monthly-opensource/hwpjs/development-5.mdx 검사 완료 (2026-03-10 6:00 AM KST)
- crd: 2026-03-10 5:30 AM check-in - all mdx files already inspected, no corrections needed
- 2026-03-10 03:32 (Asia/Seoul) - 크론 주기적 실행. 모든 대상 .mdx 파일이 이미 검사 완료된 상태로 추가 맞춤법 교정 작업 없음. Lint 통과, CRON_CRD_WRITE.md 상태만 갱신하여 커밋.
- chore(cron): 87차 크론 재확인 - 모든 .mdx 파일 검사 완료 상태 갱신 (02:30 AM)
- cron-crd-write: 86차 상태 재확인
- docs(cron): mark all mdx files as checked (CRON #85)
- docs: cron crd-write update - all 25 mdx files already checked
- docs(cron): 83rd heartbeat - all mdx files processed
- docs(CRON_CRD_WRITE.md): 82차 크론 주기적 재확인 실행 - 전체 대상 .mdx 파일의 맞춤법 검사 완료 상태 확인
- docs: Add 2026-03-09 summary
- cron: update CRON_CRD_WRITE.md - 2026-03-09 11:30 AM reconfirm all files checked, no corrections needed
- chore: 80번째 크론 주기적 재확인 실행. 전체 대상 .mdx 파일 검사 완료 상태 재확인. 추가 맞춤법 교정 필요 없음. Lint 통과.
- docs: 2026-03-08 요약 작성 완료
ohah/react-wasm-table
ohah/rira
- fix: address review - fix hardcoded line height, scroll comments, ensure_cursor_visible
- feat: add scroll support with viewport offset management
- fix: add TODO comments for rendering duplication and performance
- feat: add text selection with Shift+Arrow keys and visual highlighting
- refactor: extract line_content_len to Buffer, add rounding comment
- feat: add mouse click cursor positioning
- fix: address review - platform modifier, add Cmd+A/Z shortcuts
- feat: add system clipboard integration with Cmd+C/V/X
- fix: address review - platform modifier, add TODO/doc comments
- feat: add file open/save with native file dialogs
- fix: address review feedback - add Editor::from_file() and fix selection init
- feat: add CLI argument parsing for file:line opening
- feat: add IME support for Korean/CJK input
- feat: add integration tests and apply review feedback
- chore: remove accidentally committed worktree directories
- feat: add arrow key and Home/End cursor movement
- feat: connect winit key input to editor buffer for live text editing
- feat(ui): add LineNumberGutter widget for editor line numbers
- test: add resize-redraw regression tests for blank-screen bug
- Update PLAN.md progress and add /pr command
- Fix blank screen after initial resize event
- Fix duplicate scale_factor field from PR #4 and #5 merge conflict
- feat: implement custom GPU-rendered title bar (Warp/Ghostty style)
- Fix DPI scaling bug in wgpu renderer for Retina/HiDPI displays
- Merge pull request #1 from ohah/worktree-agent-af693608
- Merge pull request #3 from ohah/worktree-agent-a64a383f
- Merge pull request #2 from ohah/worktree-agent-a3e94054
- Implement keymap and theme parsing systems
- Implement editor core: buffer, cursor, selection, undo/redo
- Implement winit + wgpu renderer with ratatui Backend
- Upgrade all dependencies to latest stable versions
- Initialize workspace with 10 crates, CI, and tooling
- Move CLAUDE.md to project root
- Add project documentation structure (CLAUDE.md + docs/)
- Initial project plan and MIT license
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.