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
{{ message }}
Repository navigation
Commit 8ecf60f
Browse filesBrowse the repository at this point in the historyBrowse files
fix(supabase): hide user status and last-active time from other users
Any visitor could read users.status and users.online_at. They could also watch both columns change over Realtime. That showed when each person was online.
A new migration revokes the anon and authenticated SELECT grants on both columns. It also takes public.users out of supabase_realtime and drops the connected-app policy that only the publication needed. A fail-closed block stops the apply if either column is still readable. The block also stops the apply if the heartbeat loses its UPDATE grant on status. Scripts 13, 17 and 29 mirror the change, and seed.sql is regenerated.
The webapp profile read no longer selects either column, so the heartbeat writes status and reads nothing back. The admin Users page drops its users subscription and its Live badge, and it refreshes on demand. Hocuspocus drops status from owner and author profiles, because the service role sent it to anon.
Deploy the apps first. Apply the migration by hand at least 24 hours later.
Refs #434
Co-Authored-By: Claude Opus 5.5 <[email protected]>
0 commit comments