diff --git a/src/components/views/dialogs/SpotlightDialog.tsx b/src/components/views/dialogs/SpotlightDialog.tsx index 81dae5ece8..8faac39406 100644 --- a/src/components/views/dialogs/SpotlightDialog.tsx +++ b/src/components/views/dialogs/SpotlightDialog.tsx @@ -21,6 +21,7 @@ import React, { useCallback, useContext, useEffect, + useLayoutEffect, useMemo, useState, } from "react"; @@ -183,6 +184,16 @@ const SpotlightDialog: React.FC = ({ initialText = "", onFinished }) => }); }, [cli, query]); + // Reset the selection back to the first item whenever the query changes + useLayoutEffect(() => { + rovingContext.dispatch({ + type: Type.SetFocus, + payload: { + ref: rovingContext.state.refs[0], + }, + }); + }, [query]); // eslint-disable-line react-hooks/exhaustive-deps + const activeSpace = SpaceStore.instance.activeSpaceRoom; const [spaceResults, spaceResultsLoading] = useSpaceResults(activeSpace, query);