As tabelas app_settings, settings e dtc_ai_analyses passam a ter RLS ativo e deixam de expor privilegios residuais pela Data API.
SupabaseWebAndroidOperacao
Ver detalhes
app_settings fica privada para acesso direto, preservando as RPCs de contrato backend.
settings e dtc_ai_analyses deixam de herdar privilegios residuais de anon/authenticated.
O fluxo Web/Android de analise DTC continua usando a Edge Function analisar-dtc e fallback local.
Fonte: Round 583 - legacy settings and DTC AI table RLS hardening
Tabelas internas legadas ficam privadas na Data API
As tabelas alert_configurations, financial_categories e user_role_audit passam a ter RLS ativo e deixam de expor privilegios residuais de anon/authenticated.
SupabaseOperacao
Ver detalhes
Tabelas internas sem contrato Web/Android confirmado agora ficam em default-deny por RLS.
Privilegios residuais como TRUNCATE, REFERENCES e TRIGGER foram removidos de anon/authenticated.
Operacoes internas seguem preservadas pelo service_role e pelos triggers/funcoes de banco.
Fonte: Round 582 - legacy internal public tables RLS hardening
Perfil TPMS fica limitado a leitura e salvamento
A tabela vehicle_tpms_profiles passa a expor apenas leitura e upsert autenticados, removendo privilegios antigos de exclusao direta sem mudar a configuracao Web/Android.
SupabaseWebAndroidOperacao
Ver detalhes
A policy ampla FOR ALL foi separada em SELECT, INSERT e UPDATE com escopo por veiculo, dono ou oficina.
Privilegios antigos de DELETE, TRUNCATE, REFERENCES e TRIGGER foram removidos de anon/authenticated.
Web e Android continuam usando o mesmo contrato de selecionar, salvar e limpar logicamente o perfil TPMS por upsert.
A tabela legada os_photos passa a ter RLS ativo e perde privilegios diretos de anon/authenticated, mantendo leitura interna pelo contexto do Copilot.
SupabaseWebAndroidOperacao
Ver detalhes
os_photos agora fica em default-deny por RLS no schema public.
Privilegios antigos de anon/authenticated, incluindo TRUNCATE, foram revogados da tabela legada.
O contrato principal de fotos/evidencias continua em os_attachments e diagnostic_evidence para Web e Android.
Fonte: Round 580 - legacy service order photos RLS hardening
Checklist e sintomas da O.S. ficam restritos por oficina
As tabelas operacionais de checklist e sintomas da ordem de servico passam a aplicar RLS localmente, usando o escopo da O.S. e da empresa vinculada.
SupabaseWebAndroidOperacao
Ver detalhes
os_checklist_items agora tem RLS ativo e policies explicitas para leitura, criacao, atualizacao e remocao por empresa.
os_symptoms ganhou o mesmo escopo de RLS usado pelas tabelas irmas de O.S., reduzindo exposicao via Data API.
A remocao fica restrita ao helper administrativo is_admin(), mantendo o escopo da empresa vinculada a O.S.
Fonte: Round 579 - service order checklist and symptoms RLS hardening
Storage de anexos fica restrito por oficina ou O.S.
Os buckets privados de anexos, laudos de scanner e evidencias diagnosticas deixam de aceitar qualquer usuario autenticado e passam a validar escopo por empresa ou ordem de servico.
SupabaseWebAndroidOperacao
Ver detalhes
Policies de os-attachments e diagnostic-evidence passam a validar o id da O.S. no caminho do arquivo.
Policies de scan-reports passam a validar o prefixo company_id e preservam leitura/remocao de arquivos antigos vinculados em uploaded_scan_reports.
Remocoes de anexos no Web e Android agora apagam o arquivo antes do registro que autoriza a policy, evitando sobras silenciosas.
O upload standalone de PDF no Web agora grava em company_id/pdf_uploads para seguir o novo contrato de Storage.
Fonte: Round 578 - service order storage policy hardening
Health Score usa a empresa do veiculo
O calculo de saude do veiculo passa a usar vehicles.company_id como fonte principal de tenant antes dos fallbacks legados.
SupabaseOperacao
Ver detalhes
compute-vehicle-health deixa de deduzir tenant primeiro pelo dono ou pela ultima O.S.
Veiculos com company_id preenchido gravam snapshots e sugestoes na oficina canonica do proprio veiculo.
Fallback por membership do owner e ultima O.S. permanece apenas para dados antigos sem company_id.
Copilot da O.S. mostra fatos e recomendacoes separados
O painel Web do Copilot passa a exibir, quando disponivel, fatos observados, inferencias e recomendacoes em blocos separados para reduzir ambiguidade tecnica.
WebOperacao
Ver detalhes
A tela mantem o resumo assistido atual e adiciona secoes compactas para fatos observados, inferencias e recomendacoes.
Respostas antigas continuam funcionando porque os novos campos sao opcionais.
A validacao cobriu teste Web focado, TypeScript, release notes e disponibilidade do tablet via ADB.
Fonte: Round 572 - Web Copilot contract sections
Copilot de O.S. separa fato, inferencia e recomendacao
O contrato do Copilot de ordem de servico passa a expor campos aditivos para fatos observados, inferencias e recomendacoes, preservando a resposta atual da oficina.
WebSupabaseOperacao
Ver detalhes
A Edge Function normaliza observed_facts, inferences, recommendations e response_contract em resposta nova, fallback e cache hit.
O Web reconhece os novos campos opcionais no contrato do Mechanic Copilot sem mudar a tela existente nem quebrar campos antigos.
A validacao local cobriu Deno, TypeScript Web, release notes e ADB; a publicacao remota da Edge e o smoke autenticado seguem pendentes de rodada autorizada.
Ao criar uma ordem de servico offline pelo Android, o cliente oficial passa a ser o dono do carro ativo quando essa informacao esta no cache local.
AndroidOperacao
Ver detalhes
A fila offline da O.S. prioriza o owner_id do veiculo antes do usuario logado ao preencher customer_user_id.
O usuario/mechanic_id continua separado do cliente da O.S., evitando trocar o dono do carro pelo mecanico quando o tablet esta sem internet.
A validacao local cobriu cache offline de O.S., auth offline, veiculo ativo, fila offline e viagens; Play, ADB e Supabase remoto nao foram executados nesta rodada.
Fonte: Round 567 - O.S. offline segue owner do veiculo
1.2.36+131
Jarvis ganha pre-visualizacao de voz e musica
As configuracoes do Jarvis passam a ter matriz auditavel e botoes de previa para testar voz, estilos de alerta e comportamento sobre musica antes de validar na multimidia.
AndroidWebOperacao
Ver detalhes
Configurar Jarvis agora mostra previas para Serio, Humor leve, Sarcasmo leve, Aleatorio e Critico.
A opcao Voz sobre musica pode ser testada nos modos Baixar volume e Pausar musica, usando o mesmo fluxo real de TTS.
A aba Multimidia do Web padroniza os rotulos Jarvis e Scanner Tecnico e normaliza aliases em portugues no perfil online.
A auditoria documenta modos de voz, estilos de velocidade, 30 frases de musica automatica e eventos principais falados pelo Jarvis.
Fonte: Auditoria Jarvis Voz e Musica 2026-06-29
1.2.36+130
Scanner Simples vira hub direto de diagnostico
O Android remove a camada de abas intermediarias: Saude, Falhas (DTC), Assistido IA e Centro OBD agora abrem direto a partir do Scanner Simples.
AndroidWebOperacao
Ver detalhes
Scanner Simples agora agrupa Diagnostico rapido com Saude, Falhas (DTC), Assistido IA e Centro OBD.
Cada opcao de diagnostico rapido abre sua tela direta, sem mostrar a barra Saude / Assistido IA / Falhas / Centro OBD.
O atalho Assistido IA dentro do Diagnostico Classic BT tambem abre a tela direta, sem voltar para o diagnostico legado com abas.
A rota antiga /diagnose/advanced?tab=... continua existindo apenas para compatibilidade interna e links antigos.
Scanner Avancado deixa de expor o Diagnostico IA intermediario e passa a focar nos fluxos de oficina.
A telemetria adicional do Diagnostico Classic BT e os cards do Scanner Simples usam layout denso em multimidia, evitando cards gigantes, rolagem desnecessaria e faixas de overflow.
O Android passa a abrir corretamente Diagnostico, Scanner Tecnico ou Jarvis Vivo conforme a configuracao Tela ao conectar no OBD, inclusive ao reabrir o app com OBD pronto.
AndroidWebOperacao
Ver detalhes
Scanner Tecnico agora abre direto o console tecnico em /diagnose/scanner-technician, sem cair no painel avancado.
Diagnostico e Scanner Tecnico limpam a restauracao anterior do Jarvis para a escolha salva ter prioridade.
Alteracoes locais de configuracoes OBD agora sobem para o perfil online do veiculo e nao sao sobrescritas por perfil remoto antigo no boot.
A validacao ADB no SM-X236B confirmou versionCode 129, Scanner Tecnico direto, Diagnostico conectado e Jarvis Vivo com telemetria ao vivo.
Fonte: QA ADB Tela ao conectar no OBD 2026-06-28
1.2.36+129
Multimidia ganha configuracoes online por veiculo
O Web passa a editar um perfil seguro de configuracoes da multimidia por veiculo, e o Android sincroniza/aplica esse perfil online quando o veiculo ativo esta selecionado.
WebAndroidSupabaseOperacao
Ver detalhes
O cadastro do veiculo ganhou a aba Multimidia para editar unidades, aparencia, Jarvis, OBD, monitoramento, notificacoes, videos educativos e atualizacao automatica.
A multimidia registra status por instalacao, incluindo revisao aplicada, ultima vez vista e erro de aplicacao quando existir.
O card Android de sincronizacao mostra o estado online com revisao e horarios aplicados em tempo real.
A release Android leva essa sincronizacao para a multimidia em producao.
O perfil online exclui simulador interno, suporte/debug, ultimo adaptador Bluetooth, caminhos de musica, historicos locais, TPMS, FCM/token e estados temporarios.
TPMS continua independente na aba propria e na tabela vehicle_tpms_profiles.
Fonte: Plano Configuracoes Online por Veiculo 2026-06-28
Scanner OBD fica mais organizado
O Android separa a tela de conexao do adaptador das ferramentas de diagnostico, deixando Conectar ao OBD mais simples e criando destinos claros para Scanner Simples, Scanner Avancado e Jarvis.
AndroidOperacao
Ver detalhes
Conectar ao OBD passa a focar em Bluetooth, ELM, status e logs, sem listar a grade completa de funcoes tecnicas.
Scanner Simples concentra leituras universais como painel ao vivo, OBD-II padrao, Mistura A/F, Lambda/O2, bateria, arrefecimento, catalisador e turbo/admissao.
Scanner Avancado concentra Diagnostico IA, Scanner Tecnico, modulos, cobertura e fluxos de oficina.
Em multimidia 1280x720, os hubs usam grade mais densa para reduzir rolagem e manter mais opcoes visiveis de uma vez.
No Conectar ao OBD, os atalhos Scanner Simples, Scanner Avancado e Jarvis cabem na mesma linha em multimidia para evitar rolagem desnecessaria.
Jarvis permanece como destino proprio para voz, avatar e leitura assistida, sem administrar pareamento do adaptador.