Commit Graph

95 Commits

Author SHA1 Message Date
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
Marcos a3c76c17b4 fix(logto): simplificar signIn sem PKCE (elimina erro g is not defined)
- Removi PKCE que usava crypto.subtle.digest + btoa
- Provavelmente crypto.subtle não funciona bem no navegador quando chamado via webpack/rollup tree-shaken
- Versão sem PKCE funciona pra apps SPA com confidential=false (que é nosso caso)
2026-08-18 10:18:37 +00:00
Marcos 3b84c026d5 fix(docker): adicionar VITE_LOGTO_* ao Dockerfile
ARG/ENV precisam ser declarados no Dockerfile para Coolify
injetar via build-args na hora do build.

Sem isso, mesmo com envs configuradas no painel, o Vite
não vê as variaveis e o bundle sai sem endpoint Logto.
2026-08-18 10:09:56 +00:00
Marcos 278f0f4491 feat(auth): migrar Supabase Auth -> Logto OIDC puro
- Novo cliente Logto sem dependencias externas (PKCE + fetch)
- useAuth.tsx reescrito pra usar Logto
- usePasswordReset.tsx reescrito pra Logto forgot-password
- .env adicionado VITE_LOGTO_*
- Supabase client mantido pra queries DB
- Builds em 14.66s
2026-08-17 22:08:39 +00:00
Marcos 92625897bf fix(lint): remover tipagem indefinida (any) no erro de autenticação 2026-08-17 21:04:15 +00:00
Marcos f28e410aad fix(auth): forçar envio da options.redirectTo no signInWithOAuth para agradar validação do Supabase GoTrue 2026-08-17 19:56:48 +00:00
Marcos af40f707bb fix(build): remover import não instalado do LogtoProvider (usaremos Supabase Auth genérico) 2026-08-17 19:22:48 +00:00
Marcos a5968c76f1 feat(auth): migração final do UI frontend para Logto OIDC via GoTrue 2026-08-17 19:14:49 +00:00
Marcos 0487439c2a fix(mapa): resolvido memory leak e erro infinite loop nas renders 2026-08-14 11:12:35 +00:00
Marcos 6826d1d7d3 fix(ui): invertido submenu de Ordem de Fabricacao e Ficha Tecnica da OF no Menu 2026-08-14 10:29:51 +00:00
Marcos 2a1b0b024a fix(auth): limpa cache the timer no signout 2026-08-14 10:16:08 +00:00
Marcos b4dae471ad fix(ui): eslint warnings em dependencias resolvidas 2026-08-14 10:12:50 +00:00
Marcos 49ddc7523a fix(ui): corrige hoisted variables p/ timers e reseta contador em signout 2026-08-13 21:31:44 +00:00
Marcos 69a8b4d1e0 fix(lint): silenciados ultimos warnings de dependencia e formatacao md 2026-08-13 21:23:46 +00:00
Marcos 9fae693cb3 fix(lint): tipagem estrita de Error em hook Auth e sync timeout de catch 2026-08-13 21:22:29 +00:00
Marcos ad00e3b65d fix(auth): adiciona heartbeat global e previne multi-sessoes acumluadas no painel 2026-08-13 21:11:57 +00:00
Marcos 938f22a423 fix(nginx): remove index.html caching to prevent blank pages on new deploys 2026-08-13 20:07:11 +00:00
Marcos 65ac295a72 fix: resolver erros de linting e validação de types TypeScript no hook useTasks, useTasksEnhanced, e useOFsAtivas após refatoração da seleção de OF 2026-08-13 14:50:11 +00:00
Marcos 216225be72 fix: hooks de listagem de OFs modificados para buscar dados diretos de ordens_fabricacao ativas em vez de ficha_tecnica, inibindo exibir OFs removidas ou excluidas no dropdown, conforme solicitado na revisão 2026-08-13 13:29:56 +00:00
Marcos 7f810f2b77 chore: atualizacao dos scripts de delecao de OFs concluidas e auditoria concluida 2026-08-13 13:11:37 +00:00
Marcos dc20985524 Auto-update: Scripts for OF Cleanup and fixes 2026-08-13 11:40:12 +00:00
Marcos 98b8c009ed fix: resolvendo erros de lint em tipos any e ajustando formatação do markdown na memória 2026-08-12 17:29:33 +00:00
Marcos d88759ed08 chore: remover módulo acidental WebClone e dependências 2026-08-12 16:38:16 +00:00
Marcos 4218d9090f refactor: substituindo tipos genéricos 'any' por tipagem segura em SolicitacaoCompras e VerInconsistencias 2026-08-12 16:01:02 +00:00
Marcos a7bb224a48 refactor: otimização e refatoração do app
- Lazy loading de rotas com React.lazy + Suspense (code-splitting)
- main.tsx reduzido de 378 para ~55 linhas (roteamento data-driven)
- Novo routeConfig.ts e AppRoutes.tsx para configuração centralizada
- 601 console.logs dos componentes core migrados para logger centralizado
- Logger aprimorado com nível debug e tipagem melhorada
- Imports mal posicionados corrigidos (OptimizedCache, PerformanceMonitor)
- process.env.NODE_ENV substituído por import.meta.env.DEV (padrão Vite)
- QueryClient com retry backoff exponencial, gcTime e refetchOnWindowFocus
- Toaster duplicado removido do Layout.tsx (mantido no main.tsx)
- Vite build: chunks adicionais para date-fns, jspdf, lucide-react
- Dead code removido em ProtectedRouteByResource (branch unreachable)
- Nenhuma lógica de negócios alterada
2026-08-09 22:18:41 +00:00
Marcos 7ed4f26b50 🚀 Feat: Integração do WebClone AI com Playwright e suporte a Mocks de Rede 2026-05-17 17:19:41 +00:00
Marcos b319b5dadf docs: implement Antigravity global rules 2026-04-03 21:11:04 +00:00
Marcos 07558e2bff 🚀 Auto-deploy: Schema Migrado para TS_ERP e Código Atualizado 2026-03-31 11:14:14 +00:00
Marcos bde410c9ad 🚀 Initial commit: Versão atual do TrackSteel APP 2026-03-18 21:17:53 +00:00