fix(web): contain dialog content and localize agent fork dialog - #567
Open
Yevanchen wants to merge 1 commit into
Open
fix(web): contain dialog content and localize agent fork dialog#567Yevanchen wants to merge 1 commit into
Yevanchen wants to merge 1 commit into
Conversation
The New Thread dialog let its assign-to control and composer surface grow
far past the dialog's right edge, pushing Dispatch off-screen. The shared
DialogContent grid had no column template, so the implicit auto column
floored at the widest child's min-content contribution (nowrap truncation
targets and the content-sized composer textarea). Constrain the single
grid column with minmax(0,1fr) so every dialog child resolves against the
dialog's own width and inner truncate/min-w-0/wrap rules apply.
The Change Agent type (fork) dialog rendered raw i18n keys and an
uninterpolated 'Fork as {{kind}}' action. Reuse the canonical agent kind
labels and taglines (agent.assistantAgent, agent.taskAgent,
agent.kindAssistantTagline, agent.kindTaskTagline), add the missing
agentLifecycle fork entries to en, zh-CN, zh-TW, and ja, and pass the
kind variable the forkAs catalog entry expects.
Add reported-regression coverage: every fork dialog key must resolve in
every locale, the forkAs call must pass {{kind}}, and the dialog grid
must keep its shrinkable column.
Yevanchen
force-pushed
the
fix/web-dialog-overflow-and-fork-i18n
branch
from
August 21, 2026 16:33
f8f0202 to
9fd494a
Compare
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.
Fill what changed. Use N/A for irrelevant or maintainer-only items. See
CONTRIBUTING.mdfor branch, CLA, generated file, and CI rules.Summary
DialogContent's grid had no column template, so the implicitautocolumn floored at the widest child's min-content contribution (nowraptruncatetargets inAgentAssignField, thefield-sizing-contentcomposerTextarea). The New Thread dialog's assign-to control and composer extended ~760px past the dialog edge and pushed Dispatch off-screen. Fixed at the shared boundary withgrid-cols-[minmax(0,1fr)]— no viewport-specific fixed widths.AGENTLIFECYCLE.KINDCATTLETAGLINE,agentLifecycle.forkCarried*,forkAddedSandbox,forkStays*,assistantSandboxState) and an uninterpolatedFork as {{kind}}button. The kind chips now reuse the canonicalagent.assistantAgent/agent.taskAgentlabels andagent.kind*Taglinetaglines, the seven missingagentLifecycleentries were added to en / zh-CN / zh-TW / ja, and the confirm label passes thekindvariable theforkAscatalog entry expects.apps/web/tests/reported-i18n-layout-regressions.test.ts: every key referenced by the fork dialog must resolve in every locale, theforkAscall must pass{{kind}}, and the shared dialog grid must keep its shrinkable column.Why
Verification
just test-package @mosoo/web— 236 pass / 0 failjust test-file apps/web/tests/reported-i18n-layout-regressions.test.tsandapps/web/tests/i18n-catalog-parity.test.ts— passjust tc-package @mosoo/web,just fmt-check,git diff --check,just commit-check— passjust devwith the loopback@mosoo.ailogin. Before fix at 1440×900 the dialog's right edge was at 1100px while the assign control / composer / Dispatch measured 1840 / 1857 / 1872px (Dispatch outside the 1440px viewport, expand toggle unclickable). After fix: 1047 / 1064 / 1079px, all inside the dialog; verified in normal, expanded, 1024×800, and 390×844 layouts, with long descriptions truncating without changing dialog width. Fork dialog audited in both directions (Assistant → Task and Task → Assistant) in en, zh-CN, zh-TW, ja: zero rawnamespace.keyor{{var}}tokens; before/after screenshots attached on the tracking issue.just checkfull gate stops on 12 pre-existingapps/driverACP/watchdog test failures that also fail on cleanmainwith this change stashed (environment-dependent process-supervision fixtures); fmt, doc links, lint, tc, and GraphQL freshness stages pass.Impact
DialogContent) and fork dialog copy in four locales. No API or contract changes.grid-cols-[minmax(0,1fr)]affects every dialog; dialogs always had definite widths (w-full+max-w-*), so the column template only stops children from outgrowing the popup. Revert the single commit to roll back.Review
apps/web/src/shared/ui/dialog.tsx(shared grid template),apps/web/src/routes/agent/lifecycle/kind-fork-dialog.tsx(key reuse +{{kind}}interpolation), translation catalogs.agent.*keys) instead of carrying duplicateagentLifecycle.kind*Taglinecopy — one canonical name per concept.