Histórico de entregas

Acompanhe as mudanças públicas do app, do painel, do laboratório e das integrações YouAutoCar.

Página 7 de 10

Arquivos legados DTC/OBD ficam privados

As tabelas dtc_read_sessions, dtc_codes e obd_snapshots passam a ter RLS ativo e deixam de expor policies legadas FOR ALL.

SupabaseWebAndroidOperacao
Ver detalhes
  • dtc_read_sessions, dtc_codes e obd_snapshots agora ficam em default-deny para anon/authenticated.
  • As policies legadas Consolidated Manage foram removidas para evitar reexposicao acidental.
  • O runtime Web/Android continua usando os contratos canonicos de diagnostico, parsed_scan_data, O.S. e evidencias.

Fonte: Round 585 - legacy DTC/OBD archive RLS hardening

Catalogo legado de roles fica privado

A tabela roles passa a ter RLS ativo e deixa de expor privilegios residuais pela Data API, preservando os helpers internos de permissao.

SupabaseWebAndroidOperacao
Ver detalhes
  • roles agora fica em default-deny para acesso direto de anon/authenticated.
  • O service_role e os helpers SECURITY DEFINER continuam preservando os fluxos internos de permissao.
  • O contrato multi-role canonico continua em user_role_assignments e role_permissions.

Fonte: Round 584 - legacy roles catalog RLS hardening

Settings legados e arquivo DTC IA ficam privados

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.

Fonte: Round 581 - vehicle TPMS profile RLS hardening

Fotos legadas da O.S. ficam privadas na Data API

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.

Fonte: Round 576 - compute-vehicle-health tenant source

Health Score bloqueia recomputacao fora de escopo

A Edge Function de saude do veiculo separa chamada manual e lote interno para evitar recomputacao privilegiada sem veiculo autorizado.

SupabaseWebOperacao
Ver detalhes
  • Chamadas manuais agora exigem vehicle_id valido e verificam se o JWT do usuario enxerga o veiculo sob RLS antes de usar service_role.
  • Corpo JSON invalido ou chamada manual sem vehicle_id retorna erro em vez de cair no processamento em lote.
  • Processamento em lote fica reservado a chamada cron explicita com segredo interno.

Fonte: Round 575 - compute-vehicle-health manual auth guard

Diagnostico assistido usa servico para contexto DTC

A tela Web de diagnostico assistido reduz acesso direto ao banco na UI e passa a buscar DTCs e sessoes vinculadas pelo servico diagnostico.

WebOperacao
Ver detalhes
  • AssistedDiagnosisPanel deixou de consultar service_orders e service_order_diagnostic_links diretamente.
  • DiagnosticService agora encapsula a leitura dos DTCs da O.S. e reaproveita o helper de sessoes diagnosticas vinculadas.
  • A validacao cobriu teste Web focado, TypeScript, release notes e disponibilidade do tablet via ADB.

Fonte: Round 574 - Assisted diagnosis DTC service boundary

Health Score registra corpo invalido da Edge

A Edge Function de saude do veiculo deixa de engolir corpo JSON invalido em silencio e passa a registrar aviso estruturado para suporte.

SupabaseOperacao
Ver detalhes
  • compute-vehicle-health agora registra Invalid JSON body ignored for compute request com mensagem de erro sanitizada.
  • O tratamento externo de erro foi tipado para evitar acesso inseguro a error.message em catch unknown.
  • A validacao local cobriu Deno check da Edge, TypeScript Web, release notes e disponibilidade do tablet via ADB.

Fonte: Round 573 - compute-vehicle-health JSON observability

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.

Fonte: Round 571 - Mechanic Copilot response contract

O.S. offline segue o dono do veiculo

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.

Fonte: Ajuste UX Scanner Simples DTC/IA 2026-06-28

1.2.36+129

Tela ao conectar no OBD respeita a escolha salva

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.

Fonte: Contrato Mobile OBD Navigation 2026-06-28