2026-06-21

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

maru는 전날 열린 확인 모달 버튼 클릭 #781과 접기 토글 정렬 #782를 병합한 뒤 설정 화면 작업에 들어갔습니다. 세팅 페이지 계획과 config 역직렬화 토대(#783), bold를 밝은 색으로 그리는 theme.bold-is-bright(#784), env.<KEY> 환경 변수 주입(#786), 커스텀 셸 shell.command·shell.args(#787), 커서 색 설정을 넣었고, 메타 정보를 필드에 두는 스키마 주도 config를 설계해 프레임워크와 대표 항목 이주(#791), 나머지 스칼라 일괄 이주, 스키마와 문서의 어긋남을 잡는 가드(#794)까지 진행했습니다. 그 위에 ChromeHost 포인터 입력 라우팅(#802)을 깔고 ⌘,로 여는 세팅 화면(#807)에 toggle·slider·dropdown·text·color 위젯(#825), 섹션 네비게이션과 스크롤, 즉시 write-back, 테마 프리셋과 통합 리셋, ANSI 16색 팔레트 그리드, 셸 인자·환경 변수 에디터(#832), 단축키를 GUI로 다시 묶는 keybind recorder(#834)를 붙였습니다. 리뷰용으로만 연 누적 diff #823은 병합하지 않고 닫았고, 거기서 나온 결함 7건은 따로 고쳤습니다.

이미지를 다루는 흐름도 생겼습니다. 클립보드나 드래그로 들어온 비트맵을 임시 PNG 경로로 바꿔 붙여넣게 했고(#811), SSH 통합 전략 문서를 새로 쓴 뒤 control socket 경로 고정, OSC 5379로 maru ssh 원격 세션 인식(#810), 드롭한 파일과 붙여넣은 이미지를 원격에 업로드(#817), JPEG 지원과 원격 저장본 7일 보존 정리까지 이어 갔습니다. 이 밖에 alt screen에서도 ⌘F로 현재 화면을 찾게 했고(#795), 탭 전환 때 남던 IME 조합을 확정하도록 고쳤으며(#790), split 탭에서 새 워크스페이스가 이전 panel 크기를 물려받던 버그, 에이전트 세션 상태가 unknown에 고정되던 문제도 수정했습니다. 커맨드 팝업의 Install CLI(#826), VS16·키캡 이모지의 폭 2 기본값과 키캡 컬러 렌더(#831, #833), 공장 기본값 복원으로 바꾼 Reset to Defaults, 제품 렌더러 스크린샷 하니스도 들어왔습니다. 리셋 위임 #835와 세팅 폼 검색 #836은 이날 PR이 열렸습니다.

zntc는 전날 열린 디스크 캐시 npm 노출 #4454를 병합하고, 32비트 타깃 빌드를 깨던 캐시 카운터를 고쳤으며(#4458), codec 직렬화에서 초기화되지 않은 padding과 union 꼬리를 없애 결과를 결정적으로 만들었습니다(#4460). target을 지정하지 않으면 hashbang이 지워지던 회귀는 먼저 esnext를 명시하는 방식(#4456)으로 막았다가, target과 무관하게 항상 보존하는 근본 수정(#4459)으로 바꿨습니다. CI의 Debug Test와 Test262 runner 단위 테스트는 zig 0.16 IPC runner의 오보고를 피하려 테스트 바이너리를 직접 실행하게 했습니다(#4457). 블로그 저장소에는 오늘의 커밋 요약 커밋이 올라갔습니다.

공개 커밋 77개, 해당일 생성 또는 병합된 PR 63개를 정리했습니다. PR 생성 60개·병합 60개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/maru

ohah/ohah.github.io

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#836생성mergedmainfeat(chrome): 세팅 폼 검색 — '/'로 현재 섹션 행 필터 (CS-4-4 후속)
ohah/maru#835생성mergedmainReset to Defaults 메뉴를 통합 리셋(파일 삭제)에 위임 — code-review #829 후속
ohah/maru#834생성 · 병합mergedmainfeat(chrome): 세팅 keybind recorder — 단축키 GUI 재바인딩 + 영속 (CS-4-3)
ohah/maru#833생성 · 병합mergedmainfix(macos): 키캡 이모지(2️⃣)를 컬러로 렌더 — 셰이퍼에서 VS16 재주입
ohah/maru#832생성 · 병합mergedmainfeat(chrome): 세팅 셸 인자·환경 변수 에디터 — shell.args + env.<KEY> (CS-4-5)
ohah/maru#831생성 · 병합mergedmainfix(terminal): 이모지 표현(VS16·키캡) 폭 2 승격 — text.emoji-width 기본 wide
ohah/maru#830생성 · 병합mergedmainfeat(chrome): 세팅 ANSI 16색 팔레트 그리드 — theme.palette.0~15 인라인 편집 (CS-4-5)
ohah/maru#829생성 · 병합mergedmain[NO-ISSUE] Reset to Defaults를 공장 기본값 복원 + config 영구 초기화로
ohah/maru#828생성 · 병합mergedmaindocs: 문서-구현 싱크 정정 — CS-4 위젯 상태·macOS 호스트 "아직 안 함" 목록
ohah/maru#827생성 · 병합mergedmainfeat(chrome): 세팅 테마 프리셋 dropdown + 통합 리셋 (CS-4 후속)
ohah/maru#826생성 · 병합mergedmainfeat(macos): 커맨드 팝업에 "Install CLI" — maru CLI를 PATH에 설치
ohah/maru#825생성 · 병합mergedmainfeat(chrome): 세팅 color 위젯 — 스와치 + 16색 프리셋 + raw-RGB draw (CS-4-2)
ohah/maru#824생성 · 병합mergedmainfix(chrome): /code-review max #823 후속 — 세팅 GUI 결함 7건 수정
ohah/maru#823생성closed기능 브랜치: review/settings-baseline[리뷰 전용·머지 금지] 세팅 GUI 이니셔티브 누적 diff (#800~#822 종합)
ohah/maru#822생성 · 병합mergedmainfeat(chrome): 세팅 text 위젯 — 폰트 패밀리·색 hex 인라인 편집 (CS-4-1d)
ohah/maru#821생성 · 병합mergedmainfeat(chrome): 세팅 Section 그룹 네비 — 좌측 섹션 목록 + 섹션별 폼 (CS-4-4 §4)
ohah/maru#820생성 · 병합mergedmainfeat(ssh): 이미지 paste 후속 — JPEG 지원 + PID 충돌 방지 (#6·#7)
ohah/maru#819생성 · 병합mergedmainfeat(ssh): 클립보드 이미지 paste 업로드 (이미지 드롭 4단계)
ohah/maru#818생성 · 병합mergedmainfix(chrome): tui 세팅 위젯을 셀 정렬 text로 — 겹침·선택 하이라이트 가림 해소
ohah/maru#817생성 · 병합mergedmainfeat(ssh): 드롭 파일 → maru ssh 원격 업로드 (이미지 드롭 3단계)
ohah/maru#816생성 · 병합mergedmainfeat(config): 커서 색 커스텀 — cursor.color/cursor.text opt-in (F1-4a)
ohah/maru#815생성 · 병합mergedmainfeat(chrome): 세팅 폼 스크롤(윈도잉) — 긴 폼 뷰포트 넘침 해소 (CS-4-4 scroll)
ohah/maru#814생성 · 병합mergedmainfeat(chrome): 세팅 화면 dropdown(enum) 통합 — 값 사이클러 (CS-4-1c)
ohah/maru#813생성 · 병합mergedmainfeat(chrome): 세팅 화면 슬라이더 통합 — 숫자 필드 드래그·저장 (CS-4-1b 통합)
ohah/maru#812생성 · 병합mergedmainfeat(chrome): slider 위젯 컴포넌트 — 범위 숫자(f32/u32+range) (CS-4-1b)
ohah/maru#811생성 · 병합mergedmainfeat: 클립보드·드래그 비트맵 이미지 붙여넣기 (스크린샷 → claude/codex)
ohah/maru#810생성 · 병합mergedmainfeat(ssh): OSC 5379로 maru ssh 원격 세션 인식 (이미지 드롭 2단계)
ohah/maru#809생성 · 병합mergedmainfeat(chrome): 세팅/사이드바 config 즉시 write-back 일반화 (CS-4-4c)
ohah/maru#808생성 · 병합mergedmainfeat(ssh): SSH 이미지 드롭 설계 + control socket 결정론적 경로 (1단계)
ohah/maru#807생성 · 병합mergedmainfeat(chrome): 세팅 화면 시각 배선 — ⌘, 열기·schema bool 렌더·라이브 적용 (CS-4-4b)
ohah/maru#806생성 · 병합mergedmainfeat(chrome): settings 모달 컴포넌트 — schema-주도 세팅 폼(bool) (CS-4-4a)
ohah/maru#805생성 · 병합mergedmainfeat(chrome): toggle 위젯 컴포넌트 — 설정 폼 on/off 스위치 (CS-4-1a)
ohah/maru#804생성 · 병합mergedmainfix: 에이전트 세션 상태·완료알림 복구 + 사이드바 아이콘 가독성
ohah/maru#803생성 · 병합mergedmainfeat(chrome): 포인터 ABI 배선 — app_session.mouse → ChromeHost.handlePointer (CS-4-0b)
ohah/maru#802생성 · 병합mergedmainfeat(chrome): ChromeHost 포인터 입력 라우팅 토대 — InputEvent.pointer (CS-4-0)
ohah/maru#801생성 · 병합mergedmainrefactor(platform): paste/드롭 셸 이스케이프를 Swift host에서 Zig로 이주 (ABI v67)
ohah/maru#800생성 · 병합mergedmainfeat(macos): 제품 Metal renderer 스크린샷 하니스 — MARU_SCREENSHOT
ohah/maru#799생성 · 병합mergedmainfix(tabs): split 탭에서 새 워크스페이스 생성 시 전 활성 panel 크기 물려받던 버그
ohah/maru#798생성 · 병합mergedmainfeat(config): per-key write-back 일반화 — updateForKeys (S0-1b)
ohah/maru#797생성 · 병합mergedmaindocs(config): 스키마-주도 세팅 화면(GUI) 설계 — config-gui.md (CS-4)
ohah/maru#796생성 · 병합mergedmainfix(config): /code-review max 후속 — width sentinel range·키 가드·doc 정합
ohah/maru#795생성 · 병합mergedmainfeat(find): alt screen에서도 ⌘F Find — 현재 화면 검색 (게이트 제거)
ohah/maru#794생성 · 병합mergedmainfeat(config): 스키마↔문서 doc-drift 가드 (CS-3)
ohah/maru#793생성 · 병합mergedmainfeat(config): 스키마-주도 최상위 스칼라 이주 (CS-2b)
ohah/maru#792생성 · 병합mergedmainfeat(config): 스키마-주도 sub-struct 스칼라 일괄 이주 (CS-2)
ohah/maru#791생성 · 병합mergedmainfeat(config): 스키마-주도 config 프레임워크 + 대표 4종 이주 (CS-1)
ohah/maru#790생성 · 병합mergedmainfix(ime): 탭 전환 시 살아남는 IME 조합 누수 제거 — 비-텍스트 상호작용이면 조합 확정
ohah/maru#789생성 · 병합mergedmaindocs(config): 스키마-주도 config 설계(메타 1급 필드, D안)
ohah/maru#788생성 · 병합mergedmainfix(confirm): code-review max 후속2 — 모달 호버 stale 제거·1003 dedup·테스트 강화
ohah/maru#787생성 · 병합mergedmainfeat(config): shell.command/shell.args — 커스텀 대화형 셸 (F1-9)
ohah/maru#786생성 · 병합mergedmainfeat(config): env.<KEY> 환경변수 주입 — 부모 상속 위 upsert (F1-8)
ohah/maru#785생성 · 병합mergedmainfix(confirm): code-review max — 우클릭 보호·@intFromFloat 패닉 제거·모달 hover/scroll 게이트
ohah/maru#784생성 · 병합mergedmainfeat(config): theme.bold-is-bright — bold가 indexed 0~7 전경을 bright로 (F1-3)
ohah/maru#783생성 · 병합mergedmainfeat(config): 세팅 페이지 계획 + config 역직렬화 토대(S0-1a)
ohah/maru#782병합mergedmainfix(sidebar): 접힘 펼치기 토글(◧) 호버·신호등 가로 간격·세로 정렬
ohah/maru#781병합mergedmainfix(confirm): 확인 모달 버튼 마우스 클릭 — 확인/취소 hit-test
ohah/zntc#4460생성 · 병합mergedmainfix(cache): #4438 codec 직렬화 결정화 — uninitialized padding/union-tail 제거 (Debug Test 진짜 근본)
ohah/zntc#4459생성 · 병합mergedmainfix(compat): hashbang(#!) 을 target 무관 항상 보존 — strip 회귀 근본 수정 + #4456 rollback
ohah/zntc#4458생성 · 병합mergedmainfix(cache): #4438 디스크 캐시 카운터를 usize atomic 으로 — 32-bit 타겟 빌드 회귀
ohah/zntc#4457생성 · 병합mergedmainfix(ci): Debug Test 를 직접 test binary 실행으로 — zig 0.16 IPC runner 오보고 회피
ohah/zntc#4456생성 · 병합mergedmainfix(core): target 미지정 시 hashbang(ES2023) strip 회귀 — optionsJson 에 esnext 명시
ohah/zntc#4455생성 · 병합mergedmainfix(test): 빈 소스 transpile test outdated 수정 (빈출력 의도)
ohah/zntc#4454병합mergedmainfeat(cache): 디스크 캐시 npm 표면 (NAPI/JS/config) + experimentalCodeCache 정리 (#4438 graph 통합 3 PR3-2)