Switch the presence system from polling to Supabase Realtime so that users appear and disappear from the presence indicator instantly, without any visible lag or delay.
The current polling-based presence has a noticeable delay — someone who leaves the workspace may still appear as "online" for several seconds. For a collaborative planning tool where knowing who is currently active matters (especially for the edit lock system), real-time accuracy builds trust.
Instead of periodically querying the database to check who is online, the client subscribes to a Supabase Realtime channel for the workspace. Presence state is broadcast and received instantly as users join, move between pages, or close their browser tab. This eliminates the polling interval entirely and reduces database load at the same time.