debounceAsync won't queue requests made during executions

Massimo Melina committed Jun 14, 2022 at 11:36 UTC d304331e8be9fa08f07acfbf563fb1da0a148c7e
1 file changed +2 -1
server/src/misc.ts
+2 -1
@@ -208,9 +208,10 @@ export function debounceAsync<CB extends (...args: any[]) => Promise<R>, R>(
208 })
209
210 async function debouncer(...args:any[]) {
211 + if (runningCallback)
212 + return await runningCallback
213 whoIsWaiting = args
214 waitingSince ||= Date.now()
213 - await runningCallback
215 const waitingCap = maxWait - (Date.now() - (waitingSince || started))
216 const waitFor = Math.min(waitingCap, leading ? wait - (Date.now() - started) : wait)
217 if (waitFor > 0)