[Bug / Feature Request] Supabase Insert action always sends select=* with no way to disable it
Hi everyone,
I’m using the latest WeWeb Supabase plugin for an insert action on a public form. The table has Row Level Security (RLS) enabled on Supabase.
The problem:
The insert action always appends select=* to the request URL, which means after inserting a row, it also tries to SELECT it. This causes a RLS violation error (42501) for anon users because there is no SELECT policy for anonymous users — and there shouldn’t need to be one just to do an insert.
Expected behavior:
There should be an option to disable the SELECT after insert (return no columns / return=minimal), similar to the “Return inserted rows” toggle that existed in the older version of the plugin.
Current workaround:
I had to add a SELECT RLS policy for anon users, which is a security concern since it exposes rows to unauthenticated users.
Steps to reproduce:
- Enable RLS on a Supabase table
- Add an INSERT policy for
anonrole only (no SELECT policy) - Use WeWeb Supabase insert action with default settings
- Trigger the action as an unauthenticated user
- -> Error:
new row violates row-level security policy
In the Advanced section, the “Return columns” dropdown only has All columns (*) with no option to set it to none or empty.
Is there a workaround within WeWeb, or can this be added back as a toggle?
Thanks!
