2026-08-01
요약 (AI 작성)
"세션이 사라진다"는 문제를 정면으로 판 날입니다. 세션이 유실되는 세 경로를 고치고 원인을 관측 가능하게 만들었으며, 죽은 host 의 잔여 entry 가 살아 있는 host 를 밀어내지 못하게 하고, host 연결 실패 사유를 notice 와 로그에 남기도록 했습니다. 앱 업데이트 경로도 손봐서 살아 있는 host 를 exec 으로 이어받되 업그레이드된 host 만 채택하고 실패 사유를 남기도록 했고, 재연결 예산을 host pause budget 위로 올렸습니다. 남의 stream revoke 가 화면 resync 를 막던 경로는 테스트로 고정하고, observer 로 강등된 터미널이 입력을 받지 못한다는 사실을 사용자에게 알리도록 했습니다. pane 표시 grid 는 runtime 실패와 무관하게 레이아웃을 따르도록 바꾸고, 표시 grid 의 소유권이 레이아웃에 있다는 계약을 문서에 명문화했습니다.
소스 컨트롤 뷰에는 "에이전트가 방금 바꾼 것"을 다섯 번째 섹션으로 넣었습니다. 커밋이 없는 저장소에서도 턴 스냅샷을 찍도록 하고, 섹션 표시 상한과 "모두 보기"를 넣으면서 파일 크기 상한을 실측으로 올렸습니다. 에디터 쪽은 E1 을 종료 근거와 함께 닫고 턴 diff 를 앞당겼으며, 저장소 루트 밖 접근을 세 겹으로 막고 브리지 왕복 비용을 재면서 닫기 경로를 검증했습니다.
파일 패널은 리치 편집 경험을 채웠습니다. 읽기 모드가 frontmatter 를 메타데이터 표로 보여 주고 리치에서는 잠그지 않고 편집할 수 있게 했으며, 문서 영역 우클릭 메뉴를 붙이고 그 편집 동작이 실제로 문서에 반영되도록 고쳤습니다. 메뉴 인자 문자열의 수명은 계약으로 못박고, 리치 편집기 chrome 은 React 루트 하나로 모았습니다. zntc 에서는 #4604 URL 상대 지정자가 형제 파일보다 tsconfig paths 를 먼저 타던 문제, jsx preserve 에서 실체화된 namespace 변수가 intrinsic 태그로 해석되던 문제, JS API 가 엔진 이름 target 을 조용히 무시하던 문제를 고쳤습니다.
커밋
ohah/maru
- fix(session-host): 죽은 host의 잔여 entry가 살아 있는 host를 밀어내지 않습니다
- docs(tabs-splits): 표시 grid를 레이아웃이 소유한다는 계약을 명문화합니다
- fix(app-session): pane 표시 grid가 runtime 실패와 무관하게 레이아웃을 따릅니다
- feat(file-panel): 읽기 모드가 frontmatter를 메타데이터 표로 보여 줍니다
- feat(file-panel): frontmatter를 잠그지 않고 리치에서 편집합니다
- test(session-host): 남의 stream revoke가 화면 resync를 막는 경로를 고정합니다
- fix(session-host): 세션이 사라지는 세 경로를 고치고 원인을 관측 가능하게 만듭니다
- refactor(file-panel): 리치 편집기 chrome을 React 루트 하나로 모읍니다
- fix(file-panel): 메뉴 인자 문자열의 수명을 계약으로 못 박습니다
- fix(file-panel): 우클릭 메뉴의 편집 동작이 실제로 문서에 적용됩니다
- feat(file-panel): 문서 영역 우클릭 메뉴를 붙입니다
- fix(session-host): 업그레이드된 host만 채택하고 실패 사유를 남깁니다
- fix(session-host): 업그레이드 재연결 예산을 host pause budget 위로 올립니다
- feat(session-host): 앱 업데이트 때 살아 있는 host를 exec으로 이어받습니다
- feat(session-host): host 연결 실패 사유를 notice와 로그에 남깁니다
- feat(scm): 에이전트가 방금 바꾼 것을 다섯 번째 섹션으로 보여 줍니다
- docs(editor): E1을 종료 근거와 함께 닫고 턴 diff를 앞당깁니다
- fix(scm): 커밋이 없는 저장소에서도 턴 스냅샷을 찍습니다
- fix(editor): 저장소 루트 밖 접근을 세 겹으로 막습니다
- test(editor): 브리지 왕복 비용을 재고 닫기 경로를 검증합니다
- feat(session-host): close 2b2e integration
- docs(session-host): close 2b2e integration transactions
- feat(scm): 섹션 표시 상한과 "모두 보기"를 넣고 파일 크기 상한을 실측으로 올립니다
- fix(web): 타입 검사를 전체로 넓히고 오류 51건을 고칩니다
ohah/zntc
- fix(bundler): #4604 URL 상대 지정자가 형제 파일보다 tsconfig paths 를 먼저 타던 문제
- fix(bundler): jsx preserve 에서 실체화된 namespace 변수가 intrinsic 태그로 해석되던 문제
- fix(core): JS API 가 엔진 이름 target 을 조용히 무시하던 것 — CLI 와 동일 처리