Skip to content

Commit

Permalink
fix: Search Messages crashes on 429 from server RocketChat#974
Browse files Browse the repository at this point in the history
  • Loading branch information
Abbas-Askari committed Feb 10, 2025
1 parent 578f008 commit 81acd5e
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions packages/react/src/views/MessageAggregators/SearchMessages.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,26 @@ const SearchMessages = () => {
const { RCInstance } = useContext(RCContext);
const [text, setText] = useState('');
const [messageList, setMessageList] = useState([]);
const [cooldown, setCooldown] = useState(false);
const [loading, setLoading] = useState(false);

const handleInputChange = (e) => {
setText(e.target.value);
};

const searchMessages = useCallback(async () => {
const { messages } = await RCInstance.getSearchMessages(text);
setMessageList(messages);
const data = await RCInstance.getSearchMessages(text);
if (data.success) {
const { messages } = data;
setMessageList(messages);
setLoading(false);
} else {
setMessageList([]);
setCooldown(true);
setTimeout(() => {
setCooldown(false);
}, 20000);
}
}, [text, RCInstance]);

const debouncedSearch = useCallback(
Expand All @@ -28,17 +40,19 @@ const SearchMessages = () => {
);

useEffect(() => {
if (cooldown) return;
if (!text.trim()) {
if (messageList.length > 0) {
setMessageList([]);
}
} else {
setLoading(true)
debouncedSearch();
}
return () => {
debouncedSearch.cancel();
};
}, [text, debouncedSearch, messageList.length]);
}, [text, debouncedSearch, messageList.length, cooldown]);

return (
<MessageAggregator
Expand All @@ -50,6 +64,7 @@ const SearchMessages = () => {
handleInputChange,
placeholder: 'Search Messages',
}}
fetching={loading}
searchFiltered={messageList}
shouldRender={(msg) => !!msg}
viewType={viewType}
Expand Down

0 comments on commit 81acd5e

Please sign in to comment.