You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The computed property `shouldScan` in QrcodeStream is the source
of truth for the scanners state. Therefore each `keepScanning`
call receives a function enabling it to check `shouldScan`s value
outside of the components context. Since computed properties are
evaluated in an asynchronous manner, a running scanner might miss
point where `shouldScan` is actually `false`. When `keepScanning`
is called many times in a row, new web workers are spawned
endlessly without being terminated, causing a major memory leak.
Now fixed by putting the action to terminate scanners in the same
watcher where scanners are started.
0 commit comments