개선 #947
완료됨개선 #942: [부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식
[Virtualizer] Codex식 measured-height turn virtualization 적용
100%
설명
상위 일감: #942
책임:
-
thread/turns/listpage prepend 이후에도 DOM/render 비용이 증가하지 않도록 turn 단위 measured-height virtualizer를 도입한다.
수행 내용:
- turn group entries, estimated height, measured height cache, total height, overscan range를 계산한다.
- ResizeObserver로 실제 높이를 측정하고, measured height 변경 시 distance-from-bottom 또는 anchor key 기반으로 viewport를 보정한다.
- prepend된 older turn page와 live active turn이 같은 virtualized range 모델 안에서 동작하게 한다.
- scroll-to-bottom, scroll-to-turn, find/search, active/pending group pinning이 virtualized range와 충돌하지 않게 한다.
- 저사양 모드와 일반 모드 모두에서 bounded DOM count를 유지한다.
인수 기준:
- long transcript에서 rendered turn count가 budget 안에 유지된다.
- scroll-to-bottom, scroll-to-turn, resize restore, prepend restore 테스트가 있다.
- active new turn과 pending approval/request target은 virtualized range 밖이어도 접근 가능하다.
Carl Friedrich Gauss이(가) 2일 전에 변경
- 설명이 변경되었습니다. (비교(diff))
Carl Friedrich Gauss이(가) 2일 전에 변경
- 다음 일감에게 막혀 있음:에 개선 #946: [Transcript] 상단 스크롤 async older turn page trigger와 anchor restore이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 2일 전에 변경
- 다음 일감의 해결을 막고 있음:에 개선 #948: [Performance] thread/turns/list lazy-load/virtualized transcript 검증 게이트이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 2일 전에 변경
- 설명이 변경되었습니다. (비교(diff))
일감 정정: app-server pagination 선행 검토 누락을 바로잡아 thread/turns/list 지원 확인, thread/turns/items/list 미지원, app-server replay/rebuild 비용 제약을 반영했습니다.
Carl Friedrich Gauss이(가) 하루 전에 변경
- 상태을(를) 신규에서 진행(으)로 변경되었습니다.
#946 브랜치 검증 완료에 따라 #947 분석 착수.\n\nCodex thread: 019f36bc-5f18-7910-bacd-3fa40b43589b\nWorktree: /Users/jeonginkim/.codex/worktrees/6579/HiveAppII\nBase branch: codex/redmine-946-transcript\nBase commit: b2dad90f1bea739dfc8922cf7696b18e24b131d6\n\n현재 지시: Analyze only. measured-height turn virtualization 설계, 책임 경계, 예상 파일/테스트/위험/검증 명령을 반환하고 구현은 대기.
Carl Friedrich Gauss이(가) 하루 전에 변경
#947 구현/검증/푸시 완료(메인 반영 전)
- branch: origin/codex/redmine-947-virtualizer
- commit: 09a53052 (#947 대화 transcript turn virtualization 적용)
- worktree: /Users/jeonginkim/.codex/worktrees/6579/HiveAppII
- scope: TranscriptView turn 단위 @tanstack/react-virtual 적용, measured-height/zero-height observer fallback, saved manual scroll initial offset, active new-turn 및 첫 batch approval pinning, DOM 기반 conversation find 중 virtualization disable fallback, virtualized older-history prepend anchor regression 추가.
- cross-verify: blocker 없음. P3 테스트 증명력 보강 의견 중 virtualized prepend anchor App regression을 추가 반영.
- verification: npm run test -- src/renderer/App.conversation-scroll.behavior.test.tsx (23 passed), npm run test -- src/renderer/components/TranscriptView.behavior.test.tsx (129 passed), npm run test -- src/renderer/styles.behavior.test.ts (84 passed), npm run typecheck:renderer, npm run lint, git diff --check, npm run test (151 files / 2080 tests) 모두 통과.
주의: main 반영/통합 검증 전이므로 이슈 완료 처리는 보류합니다.
Carl Friedrich Gauss이(가) 하루 전에 변경
- 완료일을(를) 2026/07/06(으)로 지정되었습니다.
- 상태을(를) 진행에서 완료(으)로 변경되었습니다.
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
Carl Friedrich Gauss이(가) 하루 전에 변경
Commit reflected on main: https://ap-northeast-1.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/5dc8974ec9da035a221235c3026cb66b1d92696c?region=ap-northeast-1
Origin main SHA: 5dc8974ec9da035a221235c3026cb66b1d92696c
Tokyo main SHA: 5dc8974ec9da035a221235c3026cb66b1d92696c
검증: npm run ci:production 통과 (161 files / 2159 tests, renderer build, fixtures, package-config, signing check skipped because HIVE_RELEASE_BUILD is not enabled).