diff --git a/site/src/components/Filter/filter.tsx b/site/src/components/Filter/filter.tsx index 4712940565..4cb6af1103 100644 --- a/site/src/components/Filter/filter.tsx +++ b/site/src/components/Filter/filter.tsx @@ -148,9 +148,14 @@ export const Filter = ({ const shouldDisplayError = hasError(error) && isApiValidationError(error) const hasFilterQuery = filter.query !== "" const [searchQuery, setSearchQuery] = useState(filter.query) + const inputRef = useRef(null) useEffect(() => { - setSearchQuery(filter.query) + // We don't want to update this while the user is typing something or has the focus in the input + const isFocused = document.activeElement === inputRef.current + if (!isFocused) { + setSearchQuery(filter.query) + } }, [filter.query]) return ( @@ -186,6 +191,7 @@ export const Filter = ({ name: "query", placeholder: "Search...", value: searchQuery, + ref: inputRef, onChange: (e) => { setSearchQuery(e.target.value) filter.debounceUpdate(e.target.value)