2026-03-09
요약 (AI 작성)
2026-03-09은 매우 활발한 개발일이었다. 총 178건의 커밋이 4개 저장소에 걸쳐 이루어졌다.
- ohah/rira — Rust 기반 텍스트 에디터 프로젝트를 처음부터 구축했다. 워크스페이스 초기화, winit+wgpu 렌더러, 에디터 코어(버퍼/커서/선택/undo-redo), 키맵/테마 파서를 구현하고, DPI 스케일링 버그 수정, 커스텀 GPU 타이틀 바, 커서 이동, 라인 넘버 거터, IME 한글 입력, 클립보드, 파일 열기/저장, 마우스 클릭, 텍스트 선택, 스크롤까지 하루 만에 완성했다.
- ohah/cheolsu-proxy — 프록시 도구에 대규모 기능 추가 및 리팩토링을 수행했다. 네트워크 쓰로틀링, 글로벌 단축키, FSD 구조 리팩토링, 인터셉트 규칙 동기화 수정, Protobuf 디코더, OpenSSL dylib 번들링, 외부 기기 CA 인증서 배포, 트레이 패널 버그 수정, unwrap/expect 정리(Phase 1~4 리팩토링), 세션 저장/불러오기, 트래픽 비교(Diff), Breakpoint 편집, DNS Spoofing/Host Mapping 등을 구현했다.
- ohah/react-wasm-table — npm publish CI 워크플로우를 추가하고 bun으로 전환했다.
- ohah/ohah.github.io — CRD 크론 주기적 맞춤법 검사 상태 갱신 및 일일 요약 작성이 이루어졌다.
커밋
rira
- Initial project plan and MIT license
- Add project documentation structure (CLAUDE.md + docs/)
- Move CLAUDE.md to project root
- Initialize workspace with 10 crates, CI, and tooling
- Upgrade all dependencies to latest stable versions
- Implement winit + wgpu renderer with ratatui Backend
- Implement editor core: buffer, cursor, selection, undo/redo
- Implement keymap and theme parsing systems
- Merge pull request #1 from ohah/worktree-agent-af693608
- Merge pull request #2 from ohah/worktree-agent-a3e94054
- Merge pull request #3 from ohah/worktree-agent-a64a383f
- Fix DPI scaling bug in wgpu renderer for Retina/HiDPI displays
- feat: implement custom GPU-rendered title bar (Warp/Ghostty style)
- Fix duplicate scale_factor field from PR #4 and #5 merge conflict
- Fix blank screen after initial resize event
- Update PLAN.md progress and add /pr command
- test: add resize-redraw regression tests for blank-screen bug
- feat(ui): add LineNumberGutter widget for editor line numbers
- feat: connect winit key input to editor buffer for live text editing
- feat: add arrow key and Home/End cursor movement
- chore: remove accidentally committed worktree directories
- feat: add integration tests and apply review feedback
- feat: add IME support for Korean/CJK input
- feat: add CLI argument parsing for file:line opening
- fix: address review feedback - add Editor::from_file() and fix selection init
- feat: add file open/save with native file dialogs
- fix: address review - platform modifier, add TODO/doc comments
- feat: add system clipboard integration with Cmd+C/V/X
- fix: address review - platform modifier, add Cmd+A/Z shortcuts
- feat: add mouse click cursor positioning
- refactor: extract line_content_len to Buffer, add rounding comment
- feat: add text selection with Shift+Arrow keys and visual highlighting
- fix: add TODO comments for rendering duplication and performance
- feat: add scroll support with viewport offset management
- fix: address review - fix hardcoded line height, scroll comments, ensure_cursor_visible
cheolsu-proxy
- feat(proxyapi_v2): 네트워크 쓰로틀링(속도 제한/지연) 코어 모듈 구현
- feat(proxy_daemon): 데몬에 쓰로틀링 설정 전파 채널 추가
- feat(desktop): 데스크톱 앱에 네트워크 쓰로틀링 설정 UI 추가
- feat(tui): TUI Settings에 쓰로틀링 섹션 추가
- refactor: 쓰로틀링 리뷰 반영 — 이중 제한 수정, 중복 제거, 도움말 수정
- test: 쓰로틀링 테스트 보강 — copy_bidirectional_throttled, 프리셋 일관성, TUI 폼
- chore(desktop): 쓰로틀링 UI 문자열 i18n 번역 추가
- refactor(desktop): formatBytes 유틸을 shared/lib으로 이동
- refactor(desktop): generateCurlCommand를 shared/lib으로 이동
- refactor(desktop): widgets → features 계층 위반을 slot/callback 패턴으로 해소
- fix(desktop): Select onValueChange 및 SidebarSection 타입 에러 수정
- chore(desktop): lingui extract로 번역 카탈로그 동기화
- chore(desktop): 글로벌 단축키 플러그인 의존성 추가
- feat(desktop): 프록시 토글 글로벌 단축키 기능 추가
- chore(desktop): tauri-plugin-os 의존성 추가
- refactor(desktop): 글로벌 단축키 리뷰 반영
- refactor(desktop): 글로벌 단축키 코드 FSD 구조로 분리
- chore(desktop): lingui extract로 번역 카탈로그 동기화
- fix(proxy_daemon): 클라이언트 연결 직후 현재 인터셉트 규칙 전송
- test(mcp_server): MCP 인터셉트 규칙 broadcast 동기화 테스트 추가
- fix(desktop): 앱 UI 규칙 동기화 시 외부 규칙(MCP/TUI) 보존
- fix(proxy_daemon): 연결 직후 빈 규칙 목록도 전송하도록 수정
- fix(desktop): 초기 동기화 타이밍 레이스 조건 수정
- test(desktop): sync-rules 유닛 테스트 추가
- refactor(desktop): waitForDaemonRules 타이머 누수 수정 및 테스트 순서 검증 보강
- fix(desktop): macOS 앱 번들에 OpenSSL dylib 포함하여 코드 서명 충돌 해결
- fix(desktop): 코드 리뷰 반영 — OpenSSL 번들링 안정성 개선
- ci: OpenSSL dylib 번들링 검증 워크플로우 추가
- style(tui): dead_code 경고 suppress — CI -D warnings 대응
- fix(desktop): OPENSSL_DIR로 빌드 시점에 @rpath 참조 해결
- fix(desktop): 쿼리 연산자 앞뒤 공백 허용 — 파싱·자동완성 정규식 수정
- style(desktop): oxfmt 포맷 적용 — 테스트 파일 따옴표 스타일 수정
- style(desktop): oxfmt 포맷 적용 — tauri.conf.json 배열 한 줄 정리
- docs: README 영어/한국어 분리 — 혼재 내용 정리
- docs: README 기능 목록을 실제 구현에 맞게 보강
- docs: Charles Proxy/mitmproxy 대비 미구현 기능 목록 문서 추가
- feat(proxy_v2_models): Protobuf/gRPC DataType 및 Content-Type 감지 추가
- feat(desktop): Protobuf raw wire format 디코더 및 트리 뷰어 추가
- fix(desktop): 코드 리뷰 반영 — Protobuf 디코더/뷰어 개선
- test(desktop): Protobuf 디코더 유닛 테스트 추가
- style: lint 에러 수정 (no-plusplus, no-unused-vars)
- style: oxfmt 포맷 적용 — README 마크다운 정리
- feat(proxy_daemon): 프록시 내장 CA 인증서 다운로드 엔드포인트 추가
- feat(desktop): QR 코드 기반 외부 기기 인증서 다운로드 정보 제공
- feat(desktop): 설정 페이지에 외부 기기 인증서 설치 섹션 추가
- feat(tui): 설정 화면에 외부 기기 인증서 정보 표시
- fix(proxy_daemon): 코드 리뷰 반영 — 인증서 다운로드 기능 개선
- chore: 외부 기기 인증서 관련 i18n 번역 추가
- feat(tui): 설정 화면에 QR 코드 렌더링 추가 (CP 로고 오버레이)
- feat: QR 코드 중앙에 로고 이미지 오버레이
- test: 인증서 다운로드 기능 유닛 테스트 추가
- style: QR 코드 로고 스타일 개선
- style: QR 코드 로고 도트 색상을 블랙으로 통일
- fix(tui): QR 코드 영역 높이를 동적 계산으로 변경
- refactor(desktop): QR 코드 중앙 로고 제거
- chore: Cargo.lock 동기화 (qrcode 의존성 추가 반영)
- fix(desktop): 트레이 패널 포커스 레이스 컨디션 수정
- fix(desktop): 트레이 패널 첫 클릭 시 표시되지 않는 문제 수정
- refactor: unwrap/expect 정리 및 parking_lot 도입 (Phase 1)
- test: proxy_daemon 및 scripting 통합 테스트 추가 (Phase 2)
- style: cargo fmt 적용
- refactor: 리뷰 반영 - 이중 fallback 제거, HeaderValue::from_static 직접 사용, mqtt_versions parking_lot 전환
- refactor(proxy_daemon): 거대 함수 분해 (Phase 3)
- fix(proxy_daemon): macOS에서 cargo test 시 openssl dylib 로드 실패 수정
- test(proxy_daemon): Phase 3 분해 함수 단위 테스트 추가
- fix(proxy_daemon): build.rs 제거, 테스트 시 DYLD_FALLBACK_LIBRARY_PATH 사용으로 전환
- refactor: 리뷰 반영 - WsMessageType Copy derive, extract_ws_context URL 통합, 테스트 디스트럭처링
- refactor(proxy_v2_models): data_type.rs 모듈 분리 (Phase 4-3)
- refactor(mcp_server): main.rs 모듈 분리 (Phase 4-2)
- refactor(proxy_daemon): LoggingHandler 구조체 책임 분리 (Phase 4-1)
- docs: 리팩토링 플랜 Phase 4 완료 표시
- refactor(mcp_server): params 구조체 가시성 pub → pub(crate) 제한
- refactor(proxy_daemon): HttpState를 RequestState + ProxyConfig로 분리
- feat(proxy_daemon): 모바일 CA 인증서 배포 페이지 구현
- style: cargo fmt 포맷 수정
- test(cert_distribution): 엣지 케이스 및 누락된 경로 테스트 보강
- refactor(cert_distribution): 코드 리뷰 반영
- feat(ui): CA 인증서 배포 GUI/TUI 추가
- fix: lint 에러 수정
- fix: i18n 카탈로그 업데이트
- refactor: PR #119 UI 리뷰 반영
- feat: 트래픽 비교(Diff) 기능 구현
- style: cargo fmt 포맷 수정
- test: diff.rs 및 mcp_server 테스트 보강 (11개 추가)
- refactor: PR 리뷰 반영 및 CI 포맷 수정
- feat(ui): 트래픽 비교 GUI 커맨드 추가
- style: cargo fmt 포맷 수정
- fix: lint 에러 수정
- style: cargo fmt 포맷팅 수정 (network.rs)
- refactor: PR #120 UI 리뷰 반영
- feat: Breakpoint(실시간 요청/응답 편집) 기능 구현
- style: cargo fmt으로 코드 포맷 수정
- test: breakpoint.rs 및 protocol.rs 테스트 보강
- refactor(proxy_daemon): 리뷰 반영 - wildcard_matches 분리, 타임아웃 상수화, 모듈 가시성 제한
- feat(ui): Breakpoint GUI/TUI 추가
- fix: lint 에러 수정
- fix: i18n 카탈로그 업데이트
- feat(tui): Breakpoint 탭 UI 렌더링 및 키 핸들러 추가
- refactor: PR #122 UI 리뷰 반영
- chore(desktop): i18n 카탈로그 동기화 (rebase 후 extract)
- feat: 세션 저장/불러오기 및 HAR 가져오기 기능 구현
- fix(session): SessionTransaction 응답 데이터 손실 버그 수정 및 테스트 보강
- refactor: 코드 리뷰 반영 - stub 주석, 모듈 가시성 제한, 튜플 접근 주석 추가
- feat(ui): 세션 저장/불러오기 GUI 커맨드 추가
- style: cargo fmt 포맷 수정
- fix: lint 에러 수정
- feat(tui): 세션 저장/불러오기 기능 추가
- fix: i18n 카탈로그 업데이트
- refactor: PR #121 UI 리뷰 반영
- style: cargo fmt 및 i18n 카탈로그 업데이트
- fix: IPv6 주소 bracket 처리 수정
- feat: DNS Spoofing / Remote Host Mapping 기능 구현
- style: cargo fmt 포맷 수정
- test: host_mapping 및 protocol 테스트 보강
- refactor: 코드 리뷰 반영 - host_mapping 개선
- feat(ui): DNS Host Mapping GUI/TUI 추가
- fix: lint 에러 수정
- fix: i18n 카탈로그 업데이트
- feat(tui): Host Mapping 섹션 키핸들러 및 UI 렌더링 구현
- refactor: PR #123 UI 리뷰 반영
- style: cargo fmt 및 i18n 카탈로그 동기화
- style: cargo fmt 및 i18n 카탈로그 동기화
- fix: 머지 후 빌드 에러 3건 수정
- docs: 로드맵/기능 비교 문서 실제 구현 상태와 동기화
react-wasm-table
ohah.github.io (CRD 크론 — 대표 커밋만 표시)
- docs: 2026-03-08 요약 작성 완료
- docs: Add 2026-03-09 summary
- docs(cron): mark all mdx files as checked (CRON #85)
- chore(cron): 87차 크론 재확인 — 모든 .mdx 파일 검사 완료 상태 갱신
- CRON: 91차 업데이트 — 크론 주기적 실행, 전체 대상 .mdx 파일 검사 완료 상태 재확인
- 외 약 10건의 크론 상태 갱신 커밋 (80차~93차)