Change new replies to be loaded automatically if thread previously empty (#35603)

This commit is contained in:
Eugen Rochko 2025-07-30 18:18:58 +02:00 committed by GitHub
parent 2257612deb
commit b80e95b2aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -24,6 +24,11 @@ export const RefreshController: React.FC<{
const refresh = useAppSelector( const refresh = useAppSelector(
(state) => state.contexts.refreshing[statusId], (state) => state.contexts.refreshing[statusId],
); );
const autoRefresh = useAppSelector(
(state) =>
!state.contexts.replies[statusId] ||
state.contexts.replies[statusId].length === 0,
);
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const intl = useIntl(); const intl = useIntl();
const [ready, setReady] = useState(false); const [ready, setReady] = useState(false);
@ -39,6 +44,11 @@ export const RefreshController: React.FC<{
dispatch(completeContextRefresh({ statusId })); dispatch(completeContextRefresh({ statusId }));
if (result.async_refresh.result_count > 0) { if (result.async_refresh.result_count > 0) {
if (autoRefresh) {
void dispatch(fetchContext({ statusId }));
return '';
}
setReady(true); setReady(true);
} }
} else { } else {
@ -57,7 +67,7 @@ export const RefreshController: React.FC<{
return () => { return () => {
clearTimeout(timeoutId); clearTimeout(timeoutId);
}; };
}, [dispatch, setReady, statusId, refresh]); }, [dispatch, setReady, statusId, refresh, autoRefresh]);
const handleClick = useCallback(() => { const handleClick = useCallback(() => {
setLoading(true); setLoading(true);