Skip to content

Add i18n support and improve conversation UI behavior#591

Open
DamnCrab wants to merge 2 commits intoDimillian:mainfrom
DamnCrab:pr/upstream-feature-clean
Open

Add i18n support and improve conversation UI behavior#591
DamnCrab wants to merge 2 commits intoDimillian:mainfrom
DamnCrab:pr/upstream-feature-clean

Conversation

@DamnCrab
Copy link
Copy Markdown

@DamnCrab DamnCrab commented Apr 2, 2026

Summary

This PR adds i18n support across recently updated app surfaces and improves conversation UI behavior on top of the latest upstream main.

The main focus is introducing translated handling for user-facing text in updated areas of the app, while also fixing a set of conversation-related interaction issues around scrolling, tool calls, command output, and terminal paste behavior.

What’s included

  • added i18n support for updated user-facing text across settings, sidebar, home, composer, messages, and related views
  • added locale entries for the current language set
  • made tool call sections collapsed by default and avoided rendering hidden command output until expanded
  • improved conversation scrolling behavior, especially when reopening existing threads or while content is still growing
  • reduced unnecessary rendering and interaction overhead during active sessions
  • fixed terminal paste shortcuts in the embedded terminal

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0472cfce9b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be5a1dd927

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

}

compactCandidates.forEach((threadId) => {
loadedThreadsRef.current[threadId] = false;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reload compacted threads when reopening them

Marking compacted threads as loaded=false here is not enough to trigger a reload, because setActiveThreadId later treats any thread with remaining cached items as a local snapshot (hasLocalThreadSnapshot checks itemsByThreadRef.current[threadId]?.length > 0) and returns early without calling resumeThreadForWorkspace. In practice, once an inactive thread is compacted to 32 items, switching back to it can permanently show only the truncated tail until a manual sync, which breaks expected history continuity for reopened threads.

Useful? React with 👍 / 👎.

Comment on lines +332 to +333
onWheelCapture={handleUserScrollIntent}
onTouchStartCapture={handleUserScrollIntent}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Gate scroll-intent capture on actual viewport movement

Fresh evidence relative to the prior pointer-down report: the new onWheelCapture/onTouchStartCapture wiring still calls handleUserScrollIntent unconditionally, so auto-follow is disabled before any real scroll displacement is confirmed. A downward wheel at the bottom (or a simple touchstart tap) can fire without a subsequent scroll change, leaving auto-scroll disabled while messages stream, and users must scroll away and back to recover. This should only mark manual scroll intent after detecting a meaningful upward/away-from-bottom movement.

Useful? React with 👍 / 👎.

@xkonjin
Copy link
Copy Markdown

xkonjin commented Apr 2, 2026

Review: This PR is quite large (~100 files). Key areas verified: i18n integration looks solid, auto-scroll preservation and locale reset fixes are targeted. The Git diff improvements in git_ui_core show good test coverage (221 new test lines). Message viewport handling and composer dictation test additions are positive. Consider breaking future UI PRs of this size into stacked PRs for easier review. LGTM pending CI pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants