diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/dialog-message.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/dialog-message.tsx index ff17b5567eb..44e009b51f2 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/dialog-message.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/dialog-message.tsx @@ -18,6 +18,7 @@ export function DialogMessage(props: { return ( { onFilter?: (query: string) => void onSelect?: (option: DialogSelectOption) => void skipFilter?: boolean + sort?: boolean keybind?: { keybind?: Keybind.Info title: string @@ -108,7 +109,10 @@ export function DialogSelect(props: DialogSelectProps) { const result = pipe( filtered(), groupBy((x) => x.category ?? ""), - // mapValues((x) => x.sort((a, b) => a.title.localeCompare(b.title))), + (groups) => { + if (!props.sort || store.filter) return groups + return mapValues(groups, (x) => x.sort((a, b) => a.title.localeCompare(b.title))) + }, entries(), ) return result