diff options
author | Maksim Sukharev <antreesy.web@gmail.com> | 2023-12-07 09:08:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 09:08:59 +0100 |
commit | 96d7813f5cb414ea6a6efd118f5a10ae420877c8 (patch) | |
tree | 1c9a36358afb5f64cf4aefae26b68e51ec6f7ad7 | |
parent | 7365534a90f2f7d0edde7e6bfafb6e2cada069f6 (diff) | |
parent | 18f9d483cd58d8ad5602b87718a69993bae253a4 (diff) |
Merge pull request #11140 from nextcloud/backport/11127/stable28
[stable28] fix(session): track mouse movement activity
-rw-r--r-- | src/composables/useActiveSession.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/composables/useActiveSession.js b/src/composables/useActiveSession.js index 0a4bdf81c..ef94ea6c6 100644 --- a/src/composables/useActiveSession.js +++ b/src/composables/useActiveSession.js @@ -120,23 +120,27 @@ export function useActiveSession() { if (type === 'focus') { setSessionAsActive() - document.removeEventListener('mouseenter', handleMouseMove) - document.removeEventListener('mouseleave', handleMouseMove) + document.body.removeEventListener('mouseenter', handleMouseEnter) + document.body.removeEventListener('mouseleave', handleMouseLeave) } else if (type === 'blur') { inactiveTimer.value = setTimeout(() => { setSessionAsInactive() }, INACTIVE_TIME_MS) // Listen for mouse events to track activity on tab - document.addEventListener('mouseenter', handleMouseMove) - document.addEventListener('mouseleave', handleMouseMove) + document.body.addEventListener('mouseenter', handleMouseEnter) + document.body.addEventListener('mouseleave', handleMouseLeave) } } - const handleMouseMove = (event) => { + const handleMouseEnter = (event) => { setSessionAsActive() - // Restart timer, if mouse moves around the tab clearTimeout(inactiveTimer.value) + inactiveTimer.value = null + } + + const handleMouseLeave = (event) => { + // Restart timer, if mouse leaves the tab inactiveTimer.value = setTimeout(() => { setSessionAsInactive() }, INACTIVE_TIME_MS) |