fix: prevent slow loading toast interval from leaking on promise cancellation (#8240)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ruben Fiszel
2026-03-05 15:23:36 +01:00
committed by GitHub
parent 2d583826dc
commit 2e582b1bc1
@@ -133,7 +133,7 @@ export function useJobsLoader(args: () => UseJobLoaderArgs) {
])
})
}
promise = CancelablePromiseUtils.pipe(promise, () => {
promise = CancelablePromiseUtils.finallyDo(promise, () => {
if (slowStreamIntervalId) {
clearInterval(slowStreamIntervalId)
slowStreamIntervalId = undefined
@@ -161,7 +161,7 @@ export function useJobsLoader(args: () => UseJobLoaderArgs) {
)
}, 15000)
paramChangePromise = loadJobsIntern(false, size)
paramChangePromise = CancelablePromiseUtils.pipe(paramChangePromise, () => {
paramChangePromise = CancelablePromiseUtils.finallyDo(paramChangePromise, () => {
if (slowStreamIntervalId) {
clearInterval(slowStreamIntervalId)
slowStreamIntervalId = undefined
@@ -687,6 +687,10 @@ export function useJobsLoader(args: () => UseJobLoaderArgs) {
return () => {
clearTimeout(paramChangeTimeout)
paramChangePromise?.cancel()
if (slowStreamIntervalId) {
clearInterval(slowStreamIntervalId)
slowStreamIntervalId = undefined
}
}
})
$effect(() => {