From 4e80e9e0cb5be764b37289c4f91ac4603f07ec0a Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Sun, 1 Jan 2023 12:01:54 +0800 Subject: [PATCH] Debounce new statuses --- src/app.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/app.jsx b/src/app.jsx index 08ea2832..c8cccc91 100644 --- a/src/app.jsx +++ b/src/app.jsx @@ -2,6 +2,7 @@ import './app.css'; import 'toastify-js/src/toastify.css'; import { createHashHistory } from 'history'; +import debounce from 'just-debounce-it'; import { login } from 'masto'; import Router, { route } from 'preact-router'; import { useEffect, useLayoutEffect, useState } from 'preact/hooks'; @@ -298,7 +299,7 @@ function App() { async function startStream() { const stream = await masto.v1.stream.streamUser(); console.log('STREAM START', { stream }); - stream.on('update', (status) => { + const handleNewStatus = debounce((status) => { console.log('UPDATE', status); const inHomeNew = states.homeNew.find((s) => s.id === status.id); @@ -315,7 +316,8 @@ async function startStream() { if (status.reblog) { states.statuses.set(status.reblog.id, status.reblog); } - }); + }, 5000); + stream.on('update', handleNewStatus); stream.on('status.update', (status) => { console.log('STATUS.UPDATE', status); states.statuses.set(status.id, status);