supabase-py
supabase-py copied to clipboard
Realtime RLS Broadcasts Errors
Realtime RLS will be broadcasting database changes with errors so that clients can capture what went wrong when listening to database changes.
Please see here for the current error states: https://github.com/supabase/walrus/tree/generic_claims#error-states.
Realtime RLS will broadcast errors as either null (no errors) or an array of strings (at least one error present).
Here are two example Realtime RLS JSON payloads with errors:
{
"columns": [{"name": "id", "type": "int8"}, {"name": "details", "type": "text"}],
"commit_timestamp": "2021-12-28T23:59:38.984538+00:00",
"schema": "public",
"table": "todos",
"type": "UPDATE",
"old_record": {"details": "previous test", "id": 12, "user_id": 1},
"record": {"details": "test...", "id": 12, "user_id": 1},
"errors": ["Error 413: Payload Too Large"]
}
{
"columns": [],
"commit_timestamp": null,
"schema": "public",
"table": "todos",
"type": "UPDATE",
"old_record": {},
"record": {},
"errors": ["Error.."]
}
Notice:
columnswill always be an array but can be emptycommit_timestampwill either be a string or nullold_record/recordwill always be an object but can be empty