2026-08-17
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
maru의 국제화를 하루 만에 대부분 끝낸 날입니다. 전날 열린 ui.language 배선 #2292를 병합하고, 언어 드롭다운에 읽을 수 있는 이름을 띄웠으며(#2303), 컨텍스트 메뉴(#2304), config 설명문 86건(#2307), 세션 도크와 아카이브 상세·SCM 도크(#2314)를 키로 옮겼습니다. 오후에는 에이전트 도크·세팅 잔여(259/339), app_session 본체(298/339, #2338), git·diff·SCM·탐색기 잔여(337/339, #2341)까지 옮겼고, session 레이어(I3d), Swift가 UI 문장을 만들지 않게 하는 작업(I3f), 모바일과 리터럴 게이트(I3e·I3g, #2350)를 완료로 닫았습니다. 영어 고정 표면을 게이트에 넣고 CLI 출력 137건을 영어로 옮겼으며(#2364), 알림 패널 폭이 한국어 라벨에 박혀 있던 것도 고쳤습니다. 기호·프레임·단축키를 문장에서 걷어내는 #2367은 이날 PR이 열렸습니다.
Windows가 처음으로 실제 터미널 화면을 띄운 날이기도 합니다. 중립 레이어가 Windows에서 컴파일되지 않던 두 자리를 정리하고(W7.0, #2311) 경로 레이아웃을 %LOCALAPPDATA%\maru\로 정한 뒤(#2305), Win32 창과 메시지 펌프(W7.1, #2321), D3D11 + DXGI 표시 경로(W7.2a, #2328), 셀 인스턴스 드로우(W7.2b), 중립 프레임 계약 충족(W7.2c-1)을 거쳐 실제 터미널 화면이 떴습니다(W7.2c-2, #2343). DirectWrite 글리프 래스터라이저와 폰트 티어로 한글까지 나오게 하고(#2335), 키보드·IME 조합·클립보드 입력(#2346)과 마우스 선택·스크롤·복사, IME 후보창, ConPTY 번들(#2357)까지 붙였습니다. 상대 경로 링크의 마지막 갈래를 열고 GPU 백엔드 결정을 기록했으며(#2297), 공백이 든 경로는 문법이 아니라 존재로 가르게 했습니다(#2308). 전날 열린 한글·일본어 경로 열기 #2294도 병합됐습니다.
자체 SSH 클라이언트도 이날 시작됐습니다. 계약과 패킷·협상 계층(S0부터 S2, #2333), curve25519 키 교환·교환 해시·키 유도(S3, #2344), chacha20-poly1305 패킷 암호화·인증(S4, #2348), 시퀀스 번호·NEWKEYS 전환·strict KEX 게이트가 있는 전송 루프(S4b, #2352), 호스트키 서명 검증과 지문(S5a), known_hosts 대조와 TOFU·지문 변경 거부(S5b, #2356), publickey·password 사용자 인증(S6a, #2359), openssh-key-v1 개인키 파싱(S6b, #2365)까지 쌓았고, 원격 세션에 COLORTERM을 SendEnv로 알리게 했습니다(#2361).
편집기는 들여쓰기 층·전체·레벨 접기와 gutter 화살표를 갖춘 접힘(#2349)과 가로 스크롤바(#2368)를 얻었고, 전날 열린 비교 가로 스크롤 #2287도 병합됐습니다. 파일 패널은 커밋 상자를 저장소 그룹 안으로 옮기고(#2298) 저장소 머리 줄에 동작 아이콘을 두며 목록을 활성 터미널 저장소로 좁혔고, 히스토리 탭이 커밋 목록을 그리고(#2342) 커밋을 펼쳐 그 파일의 비교를 열게 했습니다(#2355). 합자는 기본값을 끄려던 #2337을 닫고, 온전히 그리되 커서가 앉은 칸만 풀어 그리는 방식으로 정리했습니다(#2339). 모바일은 iOS도 손가락 전부를 받게 하고(#2293), 터치의 목적지와 진입점을 코어로 모으고(R0부터 R3), 제스처의 뜻을 상태 하나가 들게 했으며(#2316), 상단 앱 바·마우스 휠 스크롤·글자 크기 config를 붙였습니다. CI는 캐시가 스스로를 무효화하며 열린 PR을 깨뜨리던 축을 없애고 Mermaid 게이트를 뺐습니다(#2315). cheolsu-proxy는 nightly cargo build-dir 레이아웃 변경으로 인한 로컬 실행 실패를 고치고 tauri·react를 최신화했으며(#376), 타입 체크 오류를 해결했습니다(#377). ohah.github.io에는 월간 오픈소스 타임라인 백필과 오늘의 커밋 추가 커밋이 들어갔습니다.
공개 커밋 208개, 해당일 생성 또는 병합된 PR 82개를 정리했습니다. PR 생성 78개·병합 77개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/cheolsu-proxy
- fix(desktop): use-network-dialogs 테스트의 잘못된 타입 캐스팅 수정
- fix(desktop): breakpoint store의 syncToProxy 반환 타입 정정
- chore(desktop): @types/bun 추가로 bun:test 타입 해석 활성화
- chore(deps): tauri-plugin-mcp-bridge 0.12.0으로 갱신
- chore(deps): tauri/react npm 패키지 최신 버전으로 갱신
- chore(deps): tauri 계열 crate 최신 버전으로 갱신
- fix(config): nightly cargo build-dir 새 레이아웃 비활성화로 로컬 실행 실패 수정
ohah/maru
- fix(file-panel): 소스 컨트롤 도크를 backing 스케일로 그린다
- feat(editor): 가로 스크롤바 — 세로와 짝이고, 문서를 열 때부터 뜬다 (§4.1a)
- docs(font): face 재사용 캐시를 왜 접었는지 실측과 함께 남긴다
- fix(i18n): 히스토리·커밋 파일 목록의 문구를 키로 옮긴다 (P4b 리베이스)
- fix(file-panel): P4b 적대적 검증 지적 여섯을 고친다
- feat(file-panel): 히스토리에서 커밋을 펼치고 그 파일의 비교를 연다 (P4b)
- fix(windows): 코어 명령이 조용히 버려지지 않게 센다 (W7.4d)
- fix(windows): 휠 리포트를 눈금당 한 번으로 되돌린다 (W7.4d)
- fix(windows): 적대적 검증이 찾은 8건을 닫는다 (W7.4d/W7.6)
- feat(windows): ConPTY 를 함께 배포한다 — vim·htop 이 마우스를 받는다 (W7.6)
- docs(windows): 새 ConPTY 를 물리면 마우스가 고쳐진다 — 실측으로 확인한다 (W7.4d)
- docs(windows): 마우스 리포팅이 안 오는 진짜 이유를 적는다 (W7.4d)
- feat(windows): IME 후보창을 커서에 붙인다 (W7.4d)
- feat(windows): 마우스로 고르고 굴리고 복사한다 (W7.4d)
- fix(ssh): COLORTERM 을 SetEnv 대신 SendEnv 로 보낸다 — 사용자 SetEnv 를 덮지 않는다
- docs(ssh): COLORTERM 전달 결정을 기록한다
- fix(ssh): 원격 세션에 COLORTERM 을 알린다 (SetEnv, 지원 ssh 에서만)
- docs(ssh): S8 은 제품 경로가 아니라 실서버 검증 하니스다
- feat(ssh): openssh-key-v1 개인키 파싱 (S6b)
- feat(i18n): CLI 출력을 영어로 옮긴다 (I5 137 건)
- fix(macos): 셰이핑 attributes 가 폰트를 누수하지 않는다
- fix(chrome): 적대적 검증이 찾은 run 예산·넘침 결함을 닫는다
- fix(chrome): 탭 바 렌더가 넓어진 ‹›/+ 와 같은 자리를 쓴다
- fix(chrome): 스크롤된 탭 바에서 누른 탭이 열리게 하고, ‹›/+ 를 누를 만하게 넓힌다
- feat(ssh): 사용자 인증 프로토콜 — publickey·password (S6a)
- feat(i18n): 영어 고정 표면을 게이트에 넣고 11 건을 옮긴다 (I5 착수)
- fix(ssh): known_hosts 판정을 fail-closed 로 못박는다 (검증 4~5회차)
- fix(ssh): known_hosts 호스트명은 대소문자를 안 가린다 (검증 2회차)
- feat(ssh): known_hosts 대조 — TOFU·지문 변경 거부 (S5b)
- fix(editor): 접힘 측정 시계가 Windows 타깃 컴파일을 깼다 — 분기를 comptime으로
- fix(editor): gutter 접힘 화살표가 너무 작아 안 보였다 — 보통 크기 삼각형으로
- docs(editor): 가로 스크롤바는 계약에만 있고 구현이 없다 — 계획에 남음으로 적는다
- fix(editor): 게이트 둘이 낡았다 — boundary digest 원장과 검증 매트릭스
- feat(editor): 레벨 접기 — 겹수로 접고, 합치지 않고 갈아 끼운다 (N1 접힘 잔여)
- fix(editor): 접힘 결함 셋 — diff에서 거짓 성공, gutter 예약이 번호를 밀어냄, Lab 픽스처 모순
- feat(editor): gutter 접힘 화살표 — 늘 그린다(Vim foldcolumn 선례)와 명령 배선
- fix(editor): 탭이 든 긴 줄이 랩에서 59% 잘려 있었다 — 세는 저장소를 한 곳에서 정한다
- fix(editor): 접힌 채 다시 접다 실패하면 숨은 줄을 영영 못 되찾았다
- fix(editor): 접거나 펼치면 보던 자리를 잃고 1번 줄로 튀었다
- fix(editor): 스크롤 상한을 문서 줄 수로 잡아 first_line이 보이는 배열 밖으로 나갔다
- fix(editor): 큰 파일 전체 접기가 3%만 접혔고, gutter 폭 출처가 두 곳 다 틀렸다
- fix(editor): 접힘이 바뀌어도 그것으로부터 나온 값들이 옛 것이었다
- fix(editor): 접은 뒤 끝까지 굴리면 화면이 통째로 비었다 — 스크롤과 렌더가 다른 배열을 봤다
- fix(editor): 접힘에서 결함 둘 — 보이는 줄 만들기가 O(n²), 비교에서 거짓 성공
- feat(editor): 접힘이 화면에 반영된다 — 렌더를 고치지 않고 (N1 접힘 ②-c)
- feat(editor): 접힘 상태와 전체 접기/펼치기 (N1 접힘 ②-b)
- feat(editor): 접힌 범위를 숨는 구간으로 만든다 — 전체 접기가 O(n²)였다 (N1 접힘 ②-a)
- fix(editor): 들여쓰기 규칙을 두 가지로 적어 두고 하나를 몰래 골랐다
- perf(editor): 접힘 범위 계산이 계단식 문서에서 2,000줄에 4.87초였다 — 한 번 훑기로
- feat(editor): 접을 범위를 들여쓰기로 센다 — 계약이 정한 바닥층 (N1 접힘 ①)
- feat(dock): 세션 카드 메타 줄에 세 위계를 색으로 준다
- feat(chrome): 한 줄 안의 색 구간을 실측 advance 로 잇는다 (Run.role)
- feat(ssh): 호스트키 서명 검증과 지문 (S5a)
- fix(i18n): 게이트가 잡은 CoreText 스모크 리터럴을 원장에 반영한다
- fix(i18n): 게이트가 잡은 main 의 새 리터럴을 옮긴다
- feat(i18n): 모바일을 옮기고 리터럴 게이트를 세운다 (I3e·I3g 완료)
- feat(ssh): 전송 루프 — 시퀀스 번호·NEWKEYS 전환·strict KEX 게이트 (S4b)
- docs(chrome): 탭 폭은 고정이 아니라 하한이다 — 문서·계약 테스트를 맞춘다
- fix(chrome): 탭 드래그 고스트는 바를 벗어난 뒤부터 — 바 안은 재정렬이다
- feat(chrome): 탭이 적으면 탭 바를 꽉 채운다 — 고정 폭은 하한이다
- test(render): 격자 덤프와 탭 바 픽스처를 붙인다 — 레이아웃 회귀를 헤드리스로 본다
- docs(windows): 클립보드 스모크의 두 모드를 usage 에 적는다 (W7.4b)
- fix(windows): OSC 52 읽기 정책을 코드가 말하게 한다 (W7.4b)
- fix(windows): 붙여넣기가 raw 바이트를 셸에 보내던 것을 막는다 (W7.4b)
- fix(windows): 클립보드 계수가 실패를 성공처럼 세지 않는다 (W7.4b)
- feat(windows): 클립보드는 플랫폼이 소유한다 (W7.4b)
- feat(windows): IME 조합 미리보기 (W7.4c)
- feat(windows): 키 입력이 셸까지 간다 (W7.4a)
- fix(ssh): max_packet 이 무엇의 상한인지 하나로 정한다 (검증 5회차)
- test(ssh): seal 의 버퍼·상한 검사를 못박는다 (검증 3~4회차)
- feat(ssh): chacha20-poly1305 패킷 암호화·인증 (S4)
- fix(ci): 리베이스 뒤 digest를 맞춘다
- fix(file-panel): 히스토리 탭의 적대적 검증 지적 넷을 고친다 (P4a)
- feat(file-panel): 히스토리 탭이 커밋 목록을 그린다 (P4a)
- feat(file-panel): 히스토리 탭의 읽기 층을 세운다 (P4a — 파서·명령·백엔드 슬롯)
- fix(font): 오버항은 앞 칸이 비어 있을 때만 적용한다
- fix(ime): 드롭도 조합을 먼저 확정한다 — 이미지 드래그 업로드 뒤 남던 잔상
- fix(chrome): row_hover_bg 식을 토큰 층으로 올린다 — 주석은 "활성보다 밝다"였고 값은 활성과 같았다
- feat(i18n): Swift 가 UI 문장을 만들지 않게 한다 (I3f 완료)
- docs(ssh): 내장 SSH 코어의 검증 상태를 매트릭스에 올린다 (검증 8회차)
- test(ssh): 프로토콜 상수를 명세 값과 맞댄다 (검증 5~6회차)
- feat(ssh): curve25519 키 교환·교환 해시·키 유도 (S3)
- fix(font): 오버항 상한을 u2 범위로 맞추고 커서 슬롯 over-release 를 고친다
- test(render): 글리프 비트맵을 이미지로 남기는 헤드리스 캡처를 붙인다
- feat(font): 커서가 앉은 칸은 합자를 풀어 그린다
- fix(font): 합자가 왼쪽으로 넘치는 만큼 칸을 당겨 온전히 그린다
- test(render): 터미널 렌더를 임의 문자열로 캡처하는 경로를 연다
- test(i18n): CI 전용 스위트가 잡은 언어 의존 단언을 고친다
- feat(i18n): git·diff·SCM·탐색기 잔여를 키로 옮긴다 (I3a 337/339)
- fix(windows): 터미널 스모크에 커서를 켠다 (W7.2c-2 검증 라운드 1)
- feat(windows): 실제 터미널 화면이 뜬다 (W7.2c-2)
- docs(ssh): 버전 교환을 §3.2.2 로 떼고 strict KEX 요구를 다섯으로 센다
- test(ssh): 길이 하한이 막는 범위 밖 읽기를 못박는다 (검증 10회차)
- fix(ssh): 재현된 결함 14건을 고치고 sans-io 판정자를 다시 세운다
- docs(ssh): 계획 문서를 구현 계획 인덱스에 등재한다
- test(ssh): 실서버 벡터와 sans-io 경계 잠금 (검증 6회차)
- feat(ssh): 와이어 자료형·버전 교환·KEXINIT 협상 (S2)
- docs(ssh): 명세 원문 대조로 계약을 고치고 결정 넷을 못박는다
- docs(ssh): SSH 클라이언트 계약과 계획, 바이너리 패킷 계층 (S0·S1)
- feat(windows): 중립 프레임 계약을 Windows 백엔드가 만족시킨다 (W7.2c-1)
- feat(windows): DirectWrite 글리프 래스터라이저와 폰트 티어 (W7.3) — 한글까지 나온다
- fix(i18n): rebase 뒤 원장을 다시 수렴시킨다
- feat(i18n): app_session 본체를 키로 옮긴다 (I3a 298/339)
- feat(file-panel): 목록을 활성 터미널 저장소로 좁히고 커밋 상자에 스크롤바를 둔다
- fix(ci): 리베이스 뒤 digest를 맞춘다
- fix(chrome): 소스 컨트롤 도크가 열려 있어도 도크 밖 클릭은 그 자리로 간다
- feat(i18n): 에이전트 도크·세팅 잔여를 키로 옮긴다 (I3a 259/339)
- test(windows): Cell 레이아웃과 입력 레이아웃이 서로를 검증하게 한다 (W7.2b 검증 라운드 2)
- feat(windows): 셀 인스턴스 드로우 (W7.2b) — 폰트 없이 글리프가 화면에 나온다
- feat(file-panel): 저장소 머리 줄에 동작 아이콘을 둔다 (P3d-②c)
- fix(chrome): ghost pressed 를 실제로 한 단계 낮춘다 — role 만 바꾼 앞 수정은 효과가 0이었다
- test(boundary): app_session digest 를 갱신한다 — 도크 더블클릭 가드
- fix(dock): 도크 위의 더블·트리플 클릭이 터미널 선택을 만들지 않는다
- feat(windows): D3D11 + DXGI 표시 경로 (W7.2a) — 판정식은 화면 픽셀이다
- feat(i18n): session 레이어를 키로 옮긴다 (I3d 완료, 27 건)
- feat(mobile): 글자 크기를 config 로 바꾼다 (M10d)
- docs(windows): 모듈 doc 의 거짓 수치 둘을 고친다 (W7.1 검증 라운드 8)
- build(windows): win32-window-smoke 에 zig build 스텝을 준다 (W7.1 검증 라운드 7)
- fix(cli): win32-window-smoke 를 사용법 목록에 올린다 (W7.1 검증 라운드 6)
- docs(windows): create() 의 width/height 가 창 외곽임을 이름으로 못 박는다 (W7.1 검증 라운드 5)
- test(windows): Win32 구조체 레이아웃을 comptime 으로 못 박는다 (W7.1 검증 라운드 4)
- refactor(windows): 오진을 부르는 표면 둘을 걷어낸다 (W7.1 검증 라운드 3)
- fix(windows): 창 생성 구간의 이벤트가 조용히 사라지던 구멍을 닫는다 (W7.1 검증 라운드)
- feat(windows): Win32 창과 메시지 펌프 (W7.1) — 이벤트를 잃지 않는 규율
- fix(chrome): ghost 버튼의 hover·pressed 를 한 단계 절제한다
- feat(session-dock): provider 이름에 색을 준다 — Claude·Codex 를 훑어서 가른다
- fix(mobile): Android 가 좌우 안전 영역도 지킨다
- feat(mobile): 마우스 휠·트랙패드 스크롤을 받는다
- fix(i18n): rebase 충돌을 손으로 풀고 main 의 새 라벨도 키로 옮긴다
- feat(i18n): 아카이브 상세·SCM 도크를 키로 옮긴다 (I3c 65/76)
- feat(mobile): 터미널에 상단 앱 바를 둔다 — 돌아갈 길이 보여야 한다 (A)
- feat(file-panel): 펼친 저장소는 활성이 아니어도 파일 줄을 낸다 (P3d-②d)
- perf(ci): boundary 집계 게이트를 Debug 한 모드로 줄인다
- refactor(mobile): 제스처의 뜻을 상태 하나가 들게 한다 (G0~G5)
- chore(ci): 캐시 정리를 main CI 가 끝나는 즉시 돌린다
- chore(ci): ReleaseFast session host 를 릴리스 전 수동 실행으로 옮긴다
- chore(ci): 캐시 키 해시에서 build.zig 를 뺀다
- docs(ci): required 목록을 실제 branch protection 과 맞춘다
- chore(ci): Mermaid 제품 성능 게이트를 CI 에서 뺀다
- fix(build): 새 게이트에 구멍이 있었다 — main.zig 가 빠져 있었다
- revert(pty): macOS 백엔드의 childPid는 std.c.pid_t로 되돌린다
- fix(build): 게이트가 실제로 존재하게 만든다 — 코드 리뷰 지적 반영
- fix(pty): exec-restore 표면을 UnsupportedPtySession에도 둔다 — 백엔드는 셋이다
- feat(pty): W7 선행 정리 — 중립 레이어가 Windows에서 컴파일되지 않던 두 자리
- fix(ci): 리베이스 뒤 digest를 맞춘다
- fix(chrome): 커서와 호버를 component가 선언하게 한다 (사용자 지적)
- fix(chrome): 커밋 버튼의 칠을 면에만 주고 사라진 워크트리를 목록에서 뺀다
- fix(file-panel): 주 워크트리는 git이 말한 그것이다 (P3d-② 적대적 6회차)
- fix(file-panel): 읽지 못한 저장소를 기록하고 그 사실을 적는다 (P3d-②b 적대적 5회차)
- fix(file-panel): 목록 창을 컴포넌트와 맞추고 상자를 창 안에 붙든다 (P3d-②b 적대적 4회차)
- fix(ci): 리베이스 뒤 digest를 맞춘다
- fix(file-panel): 빈 안내를 저장소 그룹의 줄로 내린다 (P3d-②b 적대적 3회차)
- feat(file-panel): 커밋 상자를 저장소 그룹 안으로 옮긴다 (P3d-②b)
- fix(chrome): 시각 골든 캡처의 UI 언어를 고정한다 — 골든이 환경에 흔들렸다
- feat(i18n): 세션 도크를 키로 옮긴다 (I3c 30/76)
- docs(mobile): iOS 길게 누르기 한계를 실측으로 닫는다
- fix(chrome): 알림 패널 폭이 한국어 라벨에 박혀 있었다 (I3c 착수)
- test(mobile): 누르고 있는 제스처를 스크립트로 만든다
- fix(mobile): 관성이 선택을 미끄러뜨리는 것을 막고, 판정 없던 성질들을 잠근다
- feat(link): 공백 든 경로를 잡는다 — 문법이 아니라 존재로 가른다
- feat(i18n): config 설명문 86 건을 키로 옮긴다 (I3b)
- docs(windows): 인용 검증의 이유와 무효했던 탐침을 정확히 적는다 (§5.3)
- fix(cli): 적대적 검증 3건 — 모르는 것을 안다고 말하던 자리들
- feat(paths): Windows 경로 레이아웃을 %LOCALAPPDATA%\maru\로 정한다 (W8.5)
- feat(cli): Windows에서 홈을 %USERPROFILE%로 폴백한다 (W8.5)
- docs(mobile): 관성을 OS 기계에 안 맡기는 이유를 적는다
- fix(mobile): 본문 관성을 코어로 옮겨 남의 제스처가 화면을 흘리는 것을 막는다
- feat(i18n): 컨텍스트 메뉴를 키로 옮긴다 (I3a 슬라이스 6, 225/339)
- refactor(mobile): 진입점 통합이 남긴 흔적을 걷어낸다
- refactor(mobile): 터치 진입점을 하나로 모은다 (R2·R3)
- feat(link): Windows 상대 경로 링크의 마지막 갈래를 연다 (W5.5 ⑴) + GPU 백엔드 결정 기록
- feat(i18n): 언어 드롭다운에 읽을 수 있는 이름을 띄운다 (I4b)
- feat(session-host): publish CR4c reconnect generation
- fix(i18n): rebase 뒤 원장을 다시 수렴시킨다
- docs(abi): ui.locale export 가 버전을 안 올리는 이유를 적는다
- docs(i18n): CI 가 확인하지 못하는 구간을 적는다
- test(i18n): 새 섹션이 GUI 에 뜨는지·네비 첫 자리인지를 테스트가 든다
- docs(i18n): 섹션 이름 13 건을 I3a 셈에 넣는다 (185 → 198/339)
- fix(i18n): 세션 생성 경로가 둘이었다 — 로케일 주입을 게이트로 잠근다
- feat(i18n): ui.language 를 배선한다 — 옮긴 문자열이 아무도 안 보는 테이블에 쌓이고 있었다
- fix(ci): 캐시 이름을 v2 로 올린다 — 넓은 restore-key 가 옛 캐시를 끌어왔다
- fix(ci): 캐시 키에 prune 스크립트를 넣는다 — 고치는 PR 이 깨진 캐시에 막혔다
- fix(ci): 캐시를 자를 때 매니페스트도 함께 버린다 — 열린 PR 이 전부 깨졌다
- refactor(mobile): 터치의 목적지를 코어가 든다 (R1)
- docs(mobile): 터치의 목적지도 코어가 정한다 (R0)
- fix(link): 한글·日本·café 이름이 든 경로도 열린다 — CRT 코드페이지를 벗어난다
- ci: 캐시를 저장 전에 예산 안으로 줄인다 — 러너 디스크가 찼다
- fix(mobile): 마지막 손가락 판정에서 남의 터치를 세지 않는다 (T3 적대적 검증)
- feat(mobile): iOS 도 손가락 전부를 받는다 (T3)
- fix(editor): gutter 자릿수를 렌더와 다른 출처로 세고 있었다 — 최소 자릿수가 가리고 있었다
- refactor(editor): 랩 불변식이 오른쪽 열에 다시 쓰여 있었다 — 규칙을 한 곳으로
- fix(editor): 앞 커밋이 "고쳤다"고 적었지만 수정은 안 들어갔다 — 스윕이 덮어썼다
- feat(editor): 비교도 열마다 가로로 민다 — 그리고
editor.wrap기본값을 방침대로 되돌린다
ohah/ohah.github.io
- fix(today-commit): 커밋 제목의 물결표 취소선 렌더 보정 (2건)
- fix(docs): 물결표가 취소선으로 렌더되던 21곳 이스케이프
- docs(monthly-opensource): zts 개발기 3-19~3-21 추가 (5/20~8/10)
- docs(monthly-opensource): 6월 초 세션 기록 반영 — maru 에이전트 축 보강
- docs(monthly-opensource): 세션 기록 반영 + suji 진행 중 상태로 수정
- docs(monthly-opensource): maru·suji 개발기 문서 신설
- docs: 오늘의 커밋 8/15~8/17 추가 + 월간 오픈소스 타임라인 동기화
- docs(monthly-opensource): 4/26~8/14 타임라인 백필 + zts→zntc 개명 반영
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.