2026-08-18

요약 (AI 작성)

SSH 클라이언트를 직접 세운 날입니다. session 채널 열기·pty-req·shell·데이터·종료(S7)에서 출발해 받는 쪽 흐름 제어로 대량 출력이 멈추지 않게 하고(S7b), 잡 메시지에 답하고(S7c), 재키잉으로 한 시간 넘는 세션이 끊기지 않게 한 뒤(S7d), 일회용 sshd 를 띄워 8MiB 를 왕복하는 실서버 하네스(S8)로 증명했습니다. 이어 세션 상태기계를 도구에서 승격해 모바일과 같은 것을 쓰게 하고(S9-1), SSH 세션을 C ABI 로 내어 핸들·배압·난수를 host 가 들게 했으며(S9-2), 안드로이드에서는 소켓 펌프와 포그라운드 서비스로 배경에서도 살게 했습니다(S9-3a·b).

편집기는 성능을 팠습니다. 랩 계수가 매 프레임 돌고 4,096줄에서 잘리던 것을 접두합 캐시로 바꾸고, 폭을 라이브로 끄는 드래그가 16fps 이던 것을 저하 동작으로 내리고, 놓는 순간의 62ms 를 프레임에 나눠 점진 계수로 만들었습니다(§2.1). 비교 뷰를 네이티브로 여는 기본 경로 전환(N1.5)과 세로·가로 스크롤바 드래그, 합자가 잘려 // 가 / 로 보이던 결함도 이날입니다. 탐색기는 언어별 파일 아이콘, git 이 무시하는 항목 흐리기, 단일 자식 디렉터리 접기, 헤더의 새로 고침·전체 접기 버튼을 얻었고, 소스 컨트롤 도크는 fetch 를 직접 실행하고(P6a) push·pull 을 터미널에 넣어 주며(P6b) ahead/behind 기준을 기본 브랜치로 옮겼습니다 — @{u} 는 작업 브랜치에서 늘 0 이었습니다.

Windows 는 경로와 사용자 config 배선(W7.5)이 들어갔고, 파일 패널의 에이전트 탭이 턴 타임라인을 그리기 시작했습니다(P5). i18n 적대적 검증이 뜻이 뒤집힌 번역·미끄러지는 선택·스레드 경합 다섯을 잡았고, 리베이스 규율("팁에서 고치면 히스토리가 죽는다")과 커밋된 머지 충돌 마커를 막는 게이트가 문서·CI 에 들어갔습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#2410mergedfix(gate): 충돌 마커 게이트가 중첩된 생성물 디렉터리도 거르게 한다
ohah/maru#2409mergeddocs: 리베이스 규율을 적는다 — 팁에서 고치면 히스토리가 죽는다
ohah/maru#2408mergedfeat(mobile): SSH 소켓 펌프 + 안드로이드 포그라운드 서비스 — 기기에서 붙고 배경에서도 산다 (S9-3a·b)
ohah/maru#2407mergedfeat(scm): 커밋 상자를 휠로 굴린다 — 그 위에서 굴리면 뒤의 목록이 움직였다
ohah/maru#2406mergedfeat(editor): 비교 뷰의 막대도 잡아 끌 수 있다 — 세로는 공유, 가로는 각자 (§3.5)
ohah/maru#2405mergedfeat(mobile): SSH 세션을 C ABI 로 낸다 — 핸들·배압·난수는 host 가 (S9-2)
ohah/maru#2404mergedfix(scm): ahead/behind 기준을 기본 브랜치로 옮긴다 — @{u}는 작업 브랜치에서 늘 0이었다
ohah/maru#2403mergedfeat(editor): 스크롤바를 잡아 끌 수 있다 — 세로·가로 (ScrollArea 가로 축 개방)
ohah/maru#2402mergedfix(docs): 커밋된 머지 충돌 마커를 해소하고, 다시 못 들어오게 막는다
ohah/maru#2401mergedfeat(scm): ∨가 push·pull을 터미널에 넣어 준다 (P6b)
ohah/maru#2400mergedfeat(ssh): 잡 메시지에 답한다 — UNIMPLEMENTED·DISCONNECT 이유·전역 요청 (S7c)
ohah/maru#2399mergeddocs(comments): 값이 바뀐 뒤 남은 코드 주석 둘을 고친다
ohah/maru#2398mergeddocs: 구현이 앞서간 상수·동작 세 자리를 따라잡는다
ohah/maru#2397mergedfix(chrome): 브랜치 줄을 색으로 읽히게 한다 — ahead/behind 조각 둘·칩은 색만
ohah/maru#2396mergeddocs: 측정으로 확인한 다섯 자리를 코드에 맞춘다
ohah/maru#2395mergedfeat(editor): 비교를 네이티브로 연다 — 기본 경로 전환과 가로 막대 (N1.5)
ohah/maru#2394mergedfeat(scm): 원격 갱신(fetch)을 도크가 직접 실행한다 (P6a)
ohah/maru#2393mergedfeat(ssh): 세션 상태기계를 도구에서 승격한다 — 모바일과 같은 것을 쓴다 (S9-1)
ohah/maru#2392mergedfeat(ssh): 재키잉 — 한 시간 넘는 세션이 멈추지 않는다 (S7d)
ohah/maru#2391mergedfix(editor): 합자가 잘려 // 가 / 하나로 보이던 것을 고친다 (#2123)
ohah/maru#2390mergeddocs(editor): 여는 경로를 그대로 두는 근거를 실측으로 정정한다
ohah/maru#2389mergedfeat(explorer): 탐색기 헤더에 새로 고침·전체 접기 버튼을 둔다
ohah/maru#2388mergedfeat(ssh): 실서버 검증 하니스 — 일회용 sshd 와 8MiB 를 왕복한다 (S8)
ohah/maru#2387mergedperf(editor): 놓는 순간 62ms를 프레임에 나눈다 — 점진 계수 (§2.1 배치 변경)
ohah/maru#2386mergedfeat(ssh): 받는 쪽 흐름 제어 — 대량 출력이 멈추지 않는다 (S7b)
ohah/maru#2385mergedfix(windows): Win32 호출 규약을 한 자리에서 접는다 — 다른 타깃에서 전체 빌드가 멈췄다
ohah/maru#2384mergedfix(i18n): 적대적 검증이 잡은 다섯을 고친다 — 뜻이 뒤집힌 번역·미끄러지는 선택·스레드 경합
ohah/maru#2383mergeddocs(editor): 저하 동작의 베이스와 버린 대안을 §2.1에 적는다
ohah/maru#2382mergedfeat(ssh): session 채널 — 열기·pty-req·shell·데이터·종료 (S7)
ohah/maru#2381mergedfix(editor): 자기 회귀를 못 잡는 감지선을 실측 사이로 내린다
ohah/maru#2380mergedperf(editor): 폭을 라이브로 끄는 드래그가 16fps였다 — 저하 동작으로 (§2.1)
ohah/maru#2379mergedfix(test): 편집기 열기 측정선을 자릿수로 둔다 — 러너 편차로 무관한 PR 이 빨강
ohah/maru#2378mergedfeat(explorer): 단일 자식 디렉터리 체인을 한 줄로 접는다
ohah/maru#2377mergedfeat(explorer): git 이 무시하는 항목을 흐리게 그린다
ohah/maru#2376mergedfeat(file-panel): 에이전트 탭이 턴 타임라인을 그린다 (P5)
ohah/maru#2375mergedfix(ssh): 적대적 리뷰가 찾은 15건과 그 수정이 만든 결함을 닫는다
ohah/maru#2374mergedfeat(explorer): 웹 계열 파일 아이콘을 언어별로 가른다
ohah/maru#2373mergedfeat(chrome): 탭 바 ✕·+ 도 호버하면 배경이 선다
ohah/maru#2372mergedfeat(windows): 경로와 사용자 config — 루트 스트라이핑·입구 정규화·설정 배선 (W7.5)
ohah/maru#2371mergedperf(editor): 랩 계수가 매 프레임 돌고 4,096줄에서 잘렸다 — 접두합 캐시로 (§2.1)