summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaksim Sukharev <antreesy.web@gmail.com>2023-12-07 09:08:59 +0100
committerGitHub <noreply@github.com>2023-12-07 09:08:59 +0100
commit96d7813f5cb414ea6a6efd118f5a10ae420877c8 (patch)
tree1c9a36358afb5f64cf4aefae26b68e51ec6f7ad7
parent7365534a90f2f7d0edde7e6bfafb6e2cada069f6 (diff)
parent18f9d483cd58d8ad5602b87718a69993bae253a4 (diff)
Merge pull request #11140 from nextcloud/backport/11127/stable28
[stable28] fix(session): track mouse movement activity
-rw-r--r--src/composables/useActiveSession.js16
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)