You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TUI: dialog-pair.tsx calls dialog.setSize/setCentered during render #56140
You're right that DialogPair calls dialog.setSize("large") and dialog.setCentered(true) directly in the component body. Both are plain store setters, though. In Solid a component body runs once and isn't tracked, so this pattern doesn't break anything by itself, and several other dialogs do the same. Moving the calls to onMount could even make the first frame render at the default size before resizing.
To look into this, could you tell us what actually goes wrong when you open the pairing dialog?
Your OpenCode version (opencode --version), OS and terminal
What you did to open the dialog
What you expected and what you saw instead, e.g. wrong size or position, flicker, a warning in the logs, or a crash. A screenshot or log excerpt would help.
If this came from reading the code and you haven't seen a visible problem, please say so too.
You can reply here, or edit the issue. If you edit it, please also leave a comment saying you've updated it so we know when you're done.
Related issues, ordered from most to least likely to be relevant:
Source code review finding. packages/tui/src/component/dialog-pair.tsx:18-19 calls dialog.setSize(large) and dialog.setCentered(true) in the component body, while other dialogs use onMount (dialog-session-list.tsx:194, dialog-integration.tsx:518, dialog-workspaces.tsx:55). No visible problem observed today, but it's a consistency/cleanup issue. Related: #56136-#56139, #56141-#56145.
Thanks for clarifying, @Addin. Since nothing goes wrong in practice, we'll treat this as a code cleanup suggestion rather than a bug: making DialogPair (and the other dialogs) consistent in how they set the dialog size and centering.
One thing to weigh: these calls are plain store setters, and in Solid a component body runs only once and isn't tracked, so calling them there is safe. Moving them to onMount could make the dialog show at the default size for one frame before resizing. Another option would be to pass the size and centering when the dialog is opened. It probably makes sense to decide this once for all the affected dialogs, so the related reports are best looked at together:
Thanks for reviewing the code. You confirmed that the pairing dialog has no visible problem and that this is a consistency suggestion, so we're closing it. If an actual failure occurs, please share the steps and impact.
Activity
opencode-agent commentedon Oct 16, 2026
Thanks for the report, @Addin.
You're right that
DialogPaircallsdialog.setSize("large")anddialog.setCentered(true)directly in the component body. Both are plain store setters, though. In Solid a component body runs once and isn't tracked, so this pattern doesn't break anything by itself, and several other dialogs do the same. Moving the calls toonMountcould even make the first frame render at the default size before resizing.To look into this, could you tell us what actually goes wrong when you open the pairing dialog?
opencode --version), OS and terminalIf this came from reading the code and you haven't seen a visible problem, please say so too.
You can reply here, or edit the issue. If you edit it, please also leave a comment saying you've updated it so we know when you're done.
Related issues, ordered from most to least likely to be relevant:
setSize/setCenteredpattern indialog-image-preview.tsx,dialog-shell-output.tsxanddialog-execute.tsxplugin/api.tsxsetCenteredduring render indialog-update.tsxanddialog-highlights.tsxsetSizeduring render indialog-skill.tsxanddialog-debug.tsxdialog-prompt.tsxcallstextarea.gotoLineEndduring renderAddin commentedon Oct 16, 2026
Source code review finding. packages/tui/src/component/dialog-pair.tsx:18-19 calls dialog.setSize(large) and dialog.setCentered(true) in the component body, while other dialogs use onMount (dialog-session-list.tsx:194, dialog-integration.tsx:518, dialog-workspaces.tsx:55). No visible problem observed today, but it's a consistency/cleanup issue. Related: #56136-#56139, #56141-#56145.
opencode-agent commentedon Oct 16, 2026
Thanks for clarifying, @Addin. Since nothing goes wrong in practice, we'll treat this as a code cleanup suggestion rather than a bug: making
DialogPair(and the other dialogs) consistent in how they set the dialog size and centering.One thing to weigh: these calls are plain store setters, and in Solid a component body runs only once and isn't tracked, so calling them there is safe. Moving them to
onMountcould make the dialog show at the default size for one frame before resizing. Another option would be to pass the size and centering when the dialog is opened. It probably makes sense to decide this once for all the affected dialogs, so the related reports are best looked at together:dialog-image-preview.tsx,dialog-shell-output.tsxanddialog-execute.tsxplugin/api.tsxsetCenteredindialog-update.tsxanddialog-highlights.tsxsetSizeindialog-skill.tsxanddialog-debug.tsxdialog-prompt.tsxcallstextarea.gotoLineEndduring renderMaintainers will consider it.
neriousy commentedon Oct 20, 2026
Thanks for reviewing the code. You confirmed that the pairing dialog has no visible problem and that this is a consistency suggestion, so we're closing it. If an actual failure occurs, please share the steps and impact.