eb6aa9bbe4
This PR adds some more nuance to collaborator cursors. Rather than being timed out or not timed out, a collaborator can now be `active`, `idle` or `inactive`. We calculate this based on the difference between the time that has elapsed since the user's last activity timestamp. After 3 seconds of inactivity, they go `idle`. After sixty seconds of inactivity, they are `inactive`. After any activity, they become `active` again. When a user is `active`, we always show their cursor. When a user is `idle`, we hide their cursor if they're following us, unless they're highlighted When a user is `inactive`, we hide their cursor unless they're highlighted. ### Change Type - [x] `minor` ### Test Plan 1. Find a friend and experiment with inactive times 2. Join a room that includes an inactive cursors; they should be hidden on load 3. Have people follow you; do their timeouts feel natural? ### Release Notes - Improve cursor timeouts and hiding logic. |
||
---|---|---|
.. | ||
assets | ||
editor | ||
file-format | ||
indices | ||
polyfills | ||
primitives | ||
state | ||
store | ||
tldraw | ||
tlschema | ||
ui | ||
utils | ||
validate |