Commit Graph

78 Commits

Author SHA1 Message Date
Marcos 0745822069 🚀 Auto-deploy: TrackSteelAPP atualizado em 21/08/2026 17:44:33 2026-08-21 17:44:33 +00:00
Marcos 6b4856ae06 🚀 Auto-deploy: TrackSteelAPP atualizado em 21/08/2026 17:34:24 2026-08-21 17:34:24 +00:00
Marcos 09f95fa80c 🚀 Auto-deploy: TrackSteelAPP atualizado em 21/08/2026 17:31:03 2026-08-21 17:31:03 +00:00
Marcos 496b73fbc4 fix: cor de fundo no filtro de peças e exibição do nome do processo no apontamento 2026-08-21 16:43:34 +00:00
Marcos c869cc2e3d fix: migrar checkboxes e tick-boxes para SVG vetorial puro no checklist PDF 2026-08-21 16:40:01 +00:00
Marcos ee688b0f5d fix: alinhamento visual simetrico no checklist de producao em PDF e impressao 2026-08-21 16:34:26 +00:00
Marcos 36d545d36d fix: correcao no carregamento reativo de pecas e componentes no apontamento de producao 2026-08-21 16:32:13 +00:00
Marcos 046639321b fix: correcao na geracao de relatorio PDF em prioridades de fabricacao 2026-08-21 16:26:20 +00:00
Marcos 4504c1ded2 Fix: trigger de validacao e desambiguacao de FKs na tela de prioridades 2026-08-21 15:27:15 +00:00
Marcos f72b7c86fd fix(types): substitui qualquer any por ComponenteItemData em SeletorItensOtimizado 2026-08-21 15:15:56 +00:00
Marcos 8bd95af40a fix(apontamentos): desambiguacao explicita das restricoes FK de apontamentos_producao (PGRST201) 2026-08-21 15:15:01 +00:00
Marcos 72bf7b0725 fix(lints): resolve all ESLint warnings and any type errors in SeletorItensOtimizado and hooks 2026-08-21 15:07:43 +00:00
Marcos 4254566b36 fix(db): resolve PostgREST PGRST201 foreign key ambiguities across all hooks and components 2026-08-21 15:05:11 +00:00
Marcos 9f4873d93d fix(postgrest): especificar chaves estrangeiras peca_id, processo_id, componente_id nas queries de apontamentos para corrigir erro PGRST201 2026-08-21 14:59:09 +00:00
Marcos 84aa8a32f6 fix(types): resolver any warnings em useApontamentosProducao 2026-08-21 14:56:04 +00:00
Marcos 48ac114b74 fix(apontamentos): remover erro AuthSessionMissingError no carregamento da tela de apontamentos 2026-08-21 14:55:11 +00:00
Marcos 30f27f705a feat(pdf): novo layout executivo paisagem moderno para exportacao de cronograma 2026-08-21 14:51:45 +00:00
Marcos ecb6d4b2c4 fix(types): remover warnings e erros any em CronogramaForm e CronogramaOF 2026-08-21 14:43:59 +00:00
Marcos f2fd8bd699 fix(cronograma): corrigir salvamento e atualizacao automatica da lista de cronogramas 2026-08-21 14:32:52 +00:00
Marcos 2c20ae7e3c fix(conversores): adicionar aglutinacao inteligente de marcas e modo leitor html direto no modal advance steel 2026-08-21 14:16:32 +00:00
Marcos 3d8c38f632 feat(conversores): substituir conversor advance steel por modal pop-up de extracao PDF para XLSX 2026-08-21 14:11:21 +00:00
Marcos 9d999fe0a5 fix(pecas): corrigir discrepancia no calculo de peso total da tabela e da importacao 2026-08-21 13:42:18 +00:00
Marcos 0a274502e7 chore(lint): resolver issues do eslint em ImportarXLSModal refatorando tipagem de any para constraints validas 2026-08-21 13:33:39 +00:00
Marcos b3cebfa803 fix(pecas): corrigir importacao excel em que coluna Composto subscrevia a Marca 2026-08-21 13:28:32 +00:00
Marcos c6bbb6dd84 chore(lint): ignore any types in fichtechnica to comply with expected supabase json schema 2026-08-21 13:01:21 +00:00
Marcos 1a1465f471 fix(ofs): remover restricoes de RLS e frontend impedindo outros usuarios de abrirem fichas criadas por admin 2026-08-21 12:37:32 +00:00
Marcos ba9620250b feat: adicionar importacao automatica de pecas via planilha Excel XLS e XLSX 2026-08-21 11:54:35 +00:00
Marcos 807e31f55a feat: aplicar logotipo dinamico da marca e visto do engenheiro em branco na Ficha Tecnica 2026-08-21 11:01:12 +00:00
Marcos 5e5ca2386f fix: tipagem de data.quantidade em FichaTecnicaPreview e FichaTecnicaPDFTemplate 2026-08-21 10:49:17 +00:00
Marcos db1ffd9e87 feat: reformular relatorio da Ficha Tecnica da OF no layout SGI-FM-05 REV.4 com integracao de cronograma 2026-08-21 10:48:00 +00:00
Marcos 887e619f2e feat(auth): enforce strict admin role checks for configuration and management routes 2026-08-20 14:07:15 +00:00
Marcos 3da77e8d7a fix(types): replace unexpected any with explicit types across useUserManagement hook 2026-08-20 12:08:24 +00:00
Marcos 842b826463 fix(rpc): pass user id explicitly to bypass Logto vs auth.uid mismatch in RPC functions 2026-08-19 21:28:34 +00:00
Marcos be5e86773b fix(auth): replace .maybeSingle() with .limit(1) to avoid 406 Not Acceptable errors on PostgREST for missing resources 2026-08-19 20:43:38 +00:00
Marcos 1da0651a88 docs: add migration plan for server transition and create automated deployment script 2026-08-19 20:35:50 +00:00
Marcos 89992195c0 fix(types): resolve type error on LogtoUser object by mapping to native Logto properties 2026-08-19 17:59:10 +00:00
Marcos 10c67672f8 fix(auth): Block access to protected routes for users without 'active' status in supabase 2026-08-19 17:51:13 +00:00
Marcos 2086c63030 chore: fix linting issues in UserInfo and useUserResourcePermissions 2026-08-19 17:14:14 +00:00
Marcos 1fa393c157 fix(auth): change .single() to .maybeSingle() for profile fetches to prevent 406 errors 2026-08-19 16:48:15 +00:00
Marcos 33e95f125b asasaasa 2026-08-18 11:59:35 +00:00
Marcos a4ea6787b8 feat: adicionado botão e lógica para exclusão simultânea no logto e supabase 2026-08-18 11:57:24 +00:00
Marcos dd7d1c41dd fix(auth): map logto string ID to supabase UUID via email to prevent 400 bad request 2026-08-18 11:19:00 +00:00
Marcos 50d563c0fd fix(auth): dedup logto token exchange with Promise caching 2026-08-18 11:05:59 +00:00
Marcos 08b782a488 fix(auth): prevent concurrent token exchange in Logto callback during Strict Mode 2026-08-18 10:55:31 +00:00
Marcos 337b397772 aaa 2026-08-18 10:52:03 +00:00
Marcos 59ee8f56a8 fix(auth): limpar PKCE state no signIn e tratar invalid_grant
- signIn agora limpa logto_state/nonce/verifier antes de começar
- Evita mismatch quando user tenta logar de novo no mesmo browser
- handleCallback limpa estado se /oidc/token retorna 400 invalid_grant
- Resolve loop 'Falha no login' em modo anônimo re-login
2026-08-18 10:43:36 +00:00
Marcos 88e467c02b fix(auth): adicionar user.id como alias de user.sub (compat Supabase)
- Hooks como useTasks, useObra, useCronogramas usavam user.id
- Logto usa user.sub como identificador
- Adiciona id= sub no LogtoUser e no getUser() response
- Resolve os 400 Bad Request do Supabase (uuid=undefined)
2026-08-18 10:40:43 +00:00
Marcos b845623714 fix(auth): sincronizar user Logto → profiles Supabase ao logar
- Profiles Supabase estavam sem user.id do Logto (sub)
- Por isso queries .eq('id', user.id) retornavam 400 Bad Request
- Adiciona syncUserToProfile() que faz upsert em profiles ao logar
- Evita quebra de hooks como UserInfo, useTasks, useObra, etc
2026-08-18 10:36:54 +00:00
Marcos 397d2e1e34 fix(auth): simplificar ProtectedRoute* sem dependência do Supabase
- Profile do Supabase não existe pra usuários Logto
- ProtectedRoute, ProtectedAdminRoute, ProtectedRouteByResource
  não buscam mais profile no Supabase
- useUserRole: retorna isAdmin=true pra qualquer user logado no Logto
- Reset de senha funcionou via Logto, só faltava o app liberar acesso
2026-08-18 10:31:46 +00:00
Marcos 0ce317a8f3 fix(logto): adicionar PKCE + rota /callback
- Logto EXIGE PKCE, sem isso retorna 400 invalid_request
- client.ts: restaura generatePkce() com crypto.subtle
- Adiciona /callback route + Callback.tsx que processa ?code=
- useAuth expõe handleCallback() no contexto
- nginx já tem fallback SPA, então /callback carrega index.html
  e React Router mostra a página de Callback
2026-08-18 10:23:29 +00:00