Skip to content

fix(goose2): avoid transform-rasterized dialog text#8937

Merged
kalvinnchau merged 2 commits intomainfrom
kalvin/dialog-content-blur
May 1, 2026
Merged

fix(goose2): avoid transform-rasterized dialog text#8937
kalvinnchau merged 2 commits intomainfrom
kalvin/dialog-content-blur

Conversation

@kalvinnchau
Copy link
Copy Markdown
Collaborator

@kalvinnchau kalvinnchau commented Apr 30, 2026

Category: fix
User Impact: Dialog text in Goose 2 renders more sharply on external displays.
Problem: On macOS/Tauri WebView, transformed text can be rasterized on a composited layer. That is usually hard to see on a Retina laptop display, but on lower-DPI or scaled external monitors, fractional pixel placement can make dialog text look blurry.
Solution: Center dialog surfaces with an untransformed positioner instead of translating and scaling the dialog content layer, while preserving fade transitions and allowing tall dialogs to scroll naturally.

File changes

ui/goose2/src/shared/ui/dialog.tsx
Moves dialog centering into a full-screen positioner so the content layer is no longer translated or scaled. Adds scroll-aware vertical layout for tall dialogs and keeps existing per-dialog width overrides working through Tailwind class merging.

ui/goose2/src/shared/ui/alert-dialog.tsx
Applies the same untransformed centering and scroll-aware layout to alert dialogs so confirmation surfaces follow the shared dialog rendering behavior.

Reproduction Steps

  1. Open Goose 2 on an external monitor where dialog text previously appeared blurry.
  2. Open the Agents panel and create or edit an agent.
  3. Open the Skills editor.
  4. Confirm dialog text appears sharp and that oversized dialog content can scroll instead of clipping.

Screenshots/Demos

branch on left, main on right

image

Center dialogs with an untransformed positioner instead of translating and
scaling the content layer. This avoids macOS/Tauri WebView rasterizing dialog
text on a composited transform layer, which is more visible on lower-DPI or
scaled external displays.
@kalvinnchau kalvinnchau force-pushed the kalvin/dialog-content-blur branch from c6c7ebb to b652a34 Compare April 30, 2026 21:39
@morgmart
Copy link
Copy Markdown
Collaborator

🤖 Pushed a follow-up fix for the dialog scroll-lock edge case we found during review. The update keeps the Radix Content element as the scroll container via inset/m-auto centering, which preserves the no-transform text rendering improvement while keeping react-remove-scroll tied to the allowed content ref. Also kept the newer overlay/content z-index layering from the rebased branch.

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: 03d4bf8683

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/goose2/src/shared/ui/dialog.tsx Outdated
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: 9229246e97

ℹ️ 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".

Comment thread ui/goose2/src/shared/ui/dialog.tsx Outdated
@kalvinnchau kalvinnchau force-pushed the kalvin/dialog-content-blur branch from 9229246 to 46fd93d Compare April 30, 2026 23:49
@kalvinnchau kalvinnchau added this pull request to the merge queue May 1, 2026
Merged via the queue into main with commit a6e74a4 May 1, 2026
25 checks passed
@kalvinnchau kalvinnchau deleted the kalvin/dialog-content-blur branch May 1, 2026 01:45
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