Histórico de entregas

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

Página 6 de 9

Links legados de O.S. ficam privados

A tabela legada service_order_links passa a ter RLS ativo e deixa de expor privilegios diretos pela Data API, sem alterar os links publicos por token nem os vinculos diagnosticos vivos.

SupabaseWebAndroidOperacao
Ver detalhes
  • service_order_links agora fica em default-deny para anon/authenticated.
  • O contrato vivo de diagnostico continua em service_order_diagnostic_links.
  • Links publicos de cliente continuam separados em service_order_public_links e get_public_service_order.

Fonte: Round 589 - legacy service order links RLS hardening

Compatibilidade de pecas fica privada na Data API

A tabela product_applications passa a ter RLS ativo e deixa de expor privilegios diretos para clientes, preservando a busca Web pelo RPC do catalogo.

SupabaseWebAndroidOperacao
Ver detalhes
  • product_applications agora fica em default-deny para anon/authenticated.
  • A busca de pecas no Web continua usando search_products_google_like como contrato publico do catalogo.
  • O advisory local de tabelas publicas sem RLS caiu de 22 para 21.

Fonte: Round 588 - product applications RLS hardening

Ajustes financeiros legados da O.S. ficam privados

A tabela legada service_order_financials passa a ter RLS ativo e deixa de expor privilegios residuais pela Data API.

SupabaseWebAndroidOperacao
Ver detalhes
  • service_order_financials agora fica em default-deny para anon/authenticated.
  • O service_role segue preservado para compatibilidade historica e rotinas internas.
  • Os fluxos atuais de pagamentos e acertos da O.S. continuam usando os_payments e financial_transactions.

Fonte: Round 587 - legacy service order financials RLS hardening

Arquivos legados de consulta de placa ficam privados

As tabelas legadas placa_consultas, placa_consulta_extra, placa_consulta_fipe, placa_consulta_lista_modelo e plate_cache passam a ter RLS ativo e deixam de expor acesso direto pela Data API.

SupabaseWebAndroidOperacao
Ver detalhes
  • As tabelas legadas de consulta/cache de placa agora ficam em default-deny para anon/authenticated.
  • A policy legada Consolidated Manage Placa Consultas foi removida para evitar reexposicao acidental.
  • O fluxo Web/Android continua usando a Edge Function plate_lookup e a tabela vehicles, sem acesso direto a esses arquivos legados.

Fonte: Round 586 - legacy plate lookup archive RLS hardening

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