fix: smooth session history scrolling and loading older messages - #41
Open
snowykr wants to merge 2 commits into
Open
fix: smooth session history scrolling and loading older messages#41snowykr wants to merge 2 commits into
snowykr wants to merge 2 commits into
Conversation
2 tasks
Add the two history-loading error/retry keys to all eight remaining locales. PR devswha#41 added them only to English and Korean, breaking locale parity in both Node 22 and Node 24 CI jobs. Keep the parity check intact. The focused locale and full scripts suites, lint, identity and build pass. Local full verify still encounters the previously reproduced Node oneDark import issue, unrelated to this fix.
Contributor
Author
|
Fixed the CI locale-parity failure in b896f5c. Both failed Node 22/24 jobs in run 34031218313 reached the scripts phase and failed Verification:
No tests/checks were skipped or relaxed to fix CI. Fresh GitHub checks are running on the pushed commit. |
Contributor
Author
|
Confirmed on the pushed fix b896f5c: CI run https://github.com/devswha/gajae-code-app/actions/runs/34034993754 is green.
The missing translation keys were the CI blocker; all checks remained enabled. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
content-visibility/intrinsic heights that changed the scroll range again after prepends.Rebased onto current upstream main (
aedb95c), preserving its session-visit isolation, replay-generation cursors, and explicit skill-request parsing. This PR contains one focused commit; the earlier bypass-dialog fix is not included.Why
In a reported conversation, scrolling stopped at 204 loaded rows even though the transcript contained 823 visible normalized rows. The backend returned an empty page with
hasMore: true, causing repeated requests and a flashing “Retrieving earlier messages” indicator. Raw tool-result rows consumed the bounded buffer before visible-row pagination was applied.Separately, prepends could trigger false new-message badges, reset expanded groups, and move the reader's content. Estimated offscreen heights also caused an additional large scroll-range correction after the initial prepend.
Known limitations / review notes
Verification
After rebasing and installing upstream's locked dependencies with
npm ci --no-audit --no-fund:npm run verify: not fully passing. Audit, licenses, notices, typecheck, core checks and server suites ran successfully; the Node client-test stage reports 415 passing and 12 failing test files. All 12 fail at module loading withreact-syntax-highlighter/dist/esm/styles/prismnot exportingoneDark. The shared syntax-highlighter file is unchanged by this PR. The same failure class was also present before the rebase. Tests were not disabled or suppressed.dist-native/bun test src/components/chat/hooks/useChatSessionState.dom.bun.test.tsx src/components/chat/hooks/useChatFollowScroll.dom.bun.test.tsx src/components/chat/view/ChatScrollAnchor.dom.bun.test.tsx src/components/chat/view/TurnWorkBlock.dom.bun.test.tsx src/stores/useSessionStore.dom.bun.test.tsx: 75 passed.dist-native/bun test src/components/chat/tests/chatMessagesPaneCount.test.tsx: 5 passed.TSX_TSCONFIG_PATH=tsconfig.json node --import tsx --test src/components/chat/tests/useChatMessages.test.ts src/stores/sessionMessageFetch.test.ts src/components/chat/utils/paneItemIdentity.test.ts: 26 passed.npm run lint,npm run check:identity,npm run build, andgit diff --check: passed.Before rebase, actual-conversation browser/API verification (not a synthetic transcript):
No recordings attached. Browser measurements describe the pre-rebase local verification; focused tests and gates above were rerun on the rebased source.
npm run verifypasses, or I have said below which gate fails and why.