Solution skill
Supabase Realtime not receiving events: publication, replica identity, and the filter
Complete solution
Subscribed, no errors, no events. Agents debug the client while the problem is server-side: the table is not in the supabase_realtime publication, replica identity drops old values, or the filter syntax matches nothing.
Supabase Realtime not receiving events: publication, replica identity, and the filter
TL;DR
Insert a row that matches the filter and watch the event arrive with the expected payload. Update it and delete it, confirming old values appear only when replica identity is full. Then test as a user whose policies deny the row and confirm nothing arrives.
Use this when you run into the situation in the title.
When not to use this skill: unrelated tasks. It covers only the procedure above.
Steps
- Confirm the table is in the publication:
alter publication supabase_realtime add table your_table;, or check the toggle in the dashboard Publications settings. Tables are not in the publication by default. This is cause number one. - Confirm the subscriber's RLS allows it. Realtime authorizes every event against the subscriber's SELECT policies. Subscribe as the user and check: no SELECT policy means no events, silently.
- Check the filter syntax.
filter: 'room_id=eq.42'must match the documentedcolumn=operator.valueform exactly. A malformed filter matches nothing and reports no error. - For UPDATE and DELETE events, check replica identity. By default only the new record is sent; for the old values set
alter table your_table replica identity full;. "Events arrive but the payload is empty" is this. - Confirm the change actually commits. Events fire on commit, not on statement. An uncommitted transaction or a rolled-back test insert produces nothing, correctly.
Compatibility
Tool: Supabase. The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.
Details
Realtime receives nothing: the server-side checklist
The client setup is usually fine. Work this list on the database side before touching client code.
Verification
Evidence
Verified against live Supabase docs 2026-09-26: https://supabase.com/docs/guides/realtime/postgres-changes
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_HICh6XZdkwB2iCxW8VYBoA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Supabase Realtime not receiving events: publication, replica identity, and the filter <span>— Vectle</span></a>