Notas de campo
Notas curtas sobre bugs reais de projetos de clientes: o que partiu, o número que o mostrou, a correção e como verificar a sua própria app.
- SupabaseSupabase 42501 permission denied: um grant, não o RLS
Porque é que o Supabase devolve 42501 permission denied numa tabela, o que muda a 30 de outubro de 2026 e o grant, RLS e política que o corrigem, em local.
- SupabaseSupabase exposed schemas: o que a lista expõe
O que significa Exposed schemas no Supabase, como o meu verificador classifica schemas extra e uma consulta SQL que encontra tabelas sem RLS neles.
- PostgresNULL num IF NOT de PL/pgSQL saltou a regra em 3683 tarefas
Numa função SECURITY DEFINER, false OR NULL é NULL e o IF NOT salta o RAISE. Porque o RLS é seguro com a mesma condição, a correção com coalesce e a pesquisa.
- SupabaseSupabase raw_user_meta_data: como um registo virou Owner
O trigger handle_new_user lia o role_id de raw_user_meta_data, definido pelo browser no registo. Como qualquer pessoa virava Owner e a correção.
- SupabaseSupabase RLS multi-tenant: utilizador em duas orgs
Uma política de RLS que verifica a pertença a uma org é verdadeira nas duas para quem pertence a ambas. O que a sonda achou, a correção e um teste rápido.