프로젝트

일반

사용자정보

Actions

개선 #946

완료됨

개선 #942: [부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식

[Transcript] 상단 스크롤 async older turn page trigger와 anchor restore

개선 #946: [Transcript] 상단 스크롤 async older turn page trigger와 anchor restore

Carl Friedrich Gauss이(가) 하루 전에 추가함. 약 20시간 전에 수정됨.

상태:
완료
우선순위:
보통
담당자:
범주:
-
시작일:
2026/07/06
완료일:
2026/07/06
진척도:

100%

추정시간:

설명

상위 일감: #942

책임:

  • #689의 local reveal 기반 상단 스크롤 흐름을 thread/turns/list async older turn page load와 통합한다.

수행 내용:

  • near-top threshold에서 older turn page load를 요청하고, in-flight guard와 cursor equality guard로 중복 요청을 막는다.
  • load 성공 시 prepend 이후 scrollHeight 차이 또는 anchor turn/item key를 사용해 사용자가 보고 있던 위치를 유지한다.
  • nextCursor === null이면 이후 top-scroll 반복 호출을 멈춘다.
  • app-server가 매 요청마다 rollout history를 재구성하므로 rapid wheel/scroll에서 request coalescing과 retry backoff를 둔다.
  • 실패 시 재시도 가능한 표시 또는 버튼 fallback을 제공하되, composer/live output stickiness를 깨지 않는다.
  • thread switch 중 돌아온 응답은 버린다.

인수 기준:

  • 기존 #689 scroll anchoring/reveal 회귀 테스트가 유지된다.
  • top-scroll async load 후 viewport 위치 유지 테스트가 있다.
  • load 실패, no-more-history, 빠른 반복 wheel/scroll, thread switch 케이스가 검증된다.
  • repeated top-scroll request 수가 Performance child metric으로 전달된다.

연결된 일감 2 (모두 완료2 건 완료)

다음 일감에게 막혀 있음: 개선 #945: [Runtime] turn page prepend merge와 history page 상태 모델완료정인 김2026/07/062026/07/06

Actions
다음 일감의 해결을 막고 있음: 개선 #947: [Virtualizer] Codex식 measured-height turn virtualization 적용완료정인 김2026/07/062026/07/06

Actions

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #1

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #2

  • 다음 일감에게 막혀 있음:개선 #945: [Runtime] turn page prepend merge와 history page 상태 모델이(가) 추가되었습니다.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #3

  • 다음 일감의 해결을 막고 있음:개선 #947: [Virtualizer] Codex식 measured-height turn virtualization 적용이(가) 추가되었습니다.

Carl Friedrich Gauss이(가) 약 24시간 전에 변경 Actions #4

  • 제목을(를) [Transcript] 상단 스크롤 load trigger와 anchor restore에서 [Transcript] 상단 스크롤 async older turn page trigger와 anchor restore(으)로 변경되었습니다.
  • 설명이 변경되었습니다. (비교(diff))

일감 정정: app-server pagination 선행 검토 누락을 바로잡아 thread/turns/list 지원 확인, thread/turns/items/list 미지원, app-server replay/rebuild 비용 제약을 반영했습니다.

Carl Friedrich Gauss이(가) 약 22시간 전에 변경 Actions #5

  • 상태을(를) 신규에서 진행(으)로 변경되었습니다.

#946 Transcript 분석 worker 시작.\n\nThread: 019f369e-1401-7051-bb82-d910b0a95966\nWorktree: /Users/jeonginkim/.codex/worktrees/ae6d/HiveAppII\nBase: origin/codex/redmine-945-runtime / commit a1869073\n\n범위: #689 local reveal/windowing을 #944 bridge + #945 runtime history events와 연결하는 top-scroll async older turn page trigger와 anchor restore 분석.\n\n제외: measured-height virtualizer(#947), performance report/gate(#948), Redmine closeout/commit/push.\n\n필수 확인: 기존 #689 scroll anchoring/reveal 회귀, duplicate rapid scroll guard, no-more stop, load failure fallback, thread switch stale response, live output stickiness.

Carl Friedrich Gauss이(가) 약 22시간 전에 변경 Actions #6

#946 분석 계획 검토 완료 및 구현 착수 지시 예정.\n\n확인 사항:\n- 현재 #946 worktree는 a1869073 / origin/codex/redmine-945-runtime 기반으로 확인됨\n- 기존 #689 로직은 TranscriptView에서 이미 로드된 turn group을 local window로 reveal하며, near-top 시 scrollHeight delta로 anchor를 보정함\n- 현재 코드는 top-scroll에서 app-server older page를 추가 로드하지 않음\n- #944 bridge와 #945 runtime history events/state는 사용 가능\n\n채택 방향:\n- App.tsx가 bridge 호출, requestId 생성, runtime event dispatch, stale identity, saved scroll/bottom stickiness, anchor restore를 소유\n- TranscriptView는 기존 local reveal/windowing을 유지하고 near-top async load signal 및 top control/error/retry 표면만 추가\n- local hidden turn reveal을 먼저 수행하고, 더 이상 local hidden group이 없을 때만 server older page load 요청\n- initial server page limit은 기존 local reveal increment와 맞춰 80으로 고정\n- success/failure는 #945 reducer가 discard할 수 있도록 동일 threadId/projectId/requestId/cursor로 dispatch\n- prepend 후 anchor restore는 first visible turn/item key + offset 기준, 실패 시 scrollHeight delta fallback\n\n제외:\n- measured-height virtualizer(#947), performance report/gate(#948), main closeout/commit/push.\n\n구현 전 검증 기준:\n- #689 local reveal/anchor 회귀 유지\n- async top-scroll load, duplicate rapid scroll guard, no-more stop, failure retry, thread switch stale response, live output stickiness 테스트.

Carl Friedrich Gauss이(가) 약 21시간 전에 변경 Actions #7

#946 구현 브랜치 검증 완료(원격 push 완료, main 미반영으로 완료 처리 보류).\n\n브랜치: codex/redmine-946-transcript\n커밋: b2dad90f1bea739dfc8922cf7696b18e24b131d6\n기준: origin/codex/redmine-945-runtime / a1869073\n\n반영 내용:\n- Transcript 상단 near-top 스크롤에서 #689 local hidden turn reveal을 우선 처리하고, 로컬 hidden turn이 없을 때만 older-history page load 요청\n- App 소유 loadOlderThreadHistoryPage orchestration 추가: request identity, 중복/in-flight/complete guard, start/success/failure 런타임 이벤트, limit 80, stale selected-thread 방어\n- prepend 후 scroll anchor restore와 stickToBottom=false 보존\n- 복원 중 programmatic scroll이 near-top trigger로 재진입하여 다음 page를 연쇄 호출하지 않도록 suppression guard 추가\n- loading/error/retry/no-more top control 및 fallback button 연결\n\n교차검증:\n- factual pass: accept / material finding 없음\n- solution-fit pass: revise / anchor restore scroll이 서버 load를 재호출할 수 있다는 finding 수용 후 guard와 회귀 테스트 추가\n\n검증:\n- npm run test -- src/renderer/App.conversation-scroll.behavior.test.tsx (22 passed)\n- npm run test -- src/renderer/components/TranscriptView.behavior.test.tsx (129 passed)\n- npm run test -- src/renderer/styles.behavior.test.ts (84 passed)\n- npm run typecheck:renderer\n- npm run lint\n- git diff --check\n- git diff --cached --check\n\n완료 조건은 main 반영 commit URL 확인 후 처리 예정.

Carl Friedrich Gauss이(가) 약 20시간 전에 변경 Actions #8

  • 완료일을(를) 2026/07/06(으)로 지정되었습니다.
  • 상태을(를) 진행에서 완료(으)로 변경되었습니다.
  • 진척도을(를) 0에서 100(으)로 변경되었습니다.

Carl Friedrich Gauss이(가) 약 20시간 전에 변경 Actions #9

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).

Actions

내보내기 PDF Atom