7 Commits
Author SHA1 Message Date
joao.herculano 850eb25f3f corrige links quebrados do README e documenta lacunas pós-limpeza
Os links de Dockerfile/Jenkinsfile/k8s apontavam para caminhos
absolutos do WSL de uma máquina específica (quebrados desde o
primeiro commit). Trocados por caminhos relativos.

Adiciona: fluxo de build/start local de produção, passo a passo de
aplicar o secret via create-secret.sh, explicação do patch em
patches/ (postinstall) e nota sobre o preset node-server do nitro.
2026-08-06 14:11:21 -03:00
joao.herculano f2e7c1f741 marca getSessionUserId/fetchSessionProfile como server-only
Essas funções tocam módulos *.server.* (sessão em cookie, conexão
SQL Server) mas eram funções soltas, então o TanStack Start acusava
"import denied in client environment" ao analisar o grafo de import
que chega em auth.ts a partir de rotas renderizadas no cliente.

Na prática já eram seguras (só chamadas de dentro de handlers
createServerFn, que rodam só no servidor), mas createServerOnlyFn
torna isso explícito e reconhecido pela análise estática do
framework, além de lançar erro em vez de rodar se algum dia forem
chamadas do lado do cliente por engano.
2026-08-06 14:04:30 -03:00
joao.herculano 8c26c93732 corrige CSRF quebrando toda request via patch em start-server-core
@tanstack/start-server-core cria o defaultCsrfMiddleware de forma
incondicional assim que o módulo carrega. Isso caía numa corrida de
inicialização com o import circular que o nitro gera nos chunks de
SSR (server-D-dARpA7.mjs <-> server-D-dARpA72.mjs), fazendo toda
requisição no build de produção falhar com "createCsrfMiddleware is
not a function".

Reproduzido de forma determinística tanto com preset node-server
quanto cloudflare-module, e com múltiplas versões do nitro — não é
regressão de versão, é a inicialização eager em si colidindo com a
ordem de avaliação do ciclo.

Patch (via patch-package, reaplicado no postinstall) adia a criação
do defaultCsrfMiddleware para dentro de uma função, eliminando a
corrida sem mudar nenhum comportamento. Validado com reinstalação
limpa de node_modules + build + smoke test em /healthz, / e /auth.
2026-08-06 13:52:13 -03:00
joao.herculano 361308f127 desvincula o app do Lovable e corrige preset de build para Node
Remove .lovable/, AGENTS.md (banner de sync), bun.lock/bunfig.toml
(não usados, o build é via npm), lovable-error-reporting.ts, a
dependência @lovable.dev/vite-tanstack-config e o branding Lovable nas
metatags. vite.config.ts passa a configurar os plugins do TanStack
Start/Tailwind/nitro diretamente, sem o wrapper deles.

Nisso, corrige um bug crítico: o preset do nitro estava em
cloudflare-module (gera um Cloudflare Worker), mas o Dockerfile roda
o build direto com `node`. O container subiria sem escutar em porta
nenhuma e o /healthz falharia sempre. Preset trocado para node-server.
2026-08-06 12:33:19 -03:00
joao.herculano c757b12ef0 remove .env do tracking e adiciona .env.example
Credenciais reais (senha do SQL Server e SESSION_SECRET) estavam
commitadas em texto plano. O arquivo segue local (ignorado pelo git);
as chaves esperadas ficam documentadas em .env.example.
2026-08-06 12:07:38 -03:00
joao.herculano 5b10e46e62 adição de recuperação de senha e limpeza de remanescentes 2026-08-06 11:53:09 -03:00
joao.herculano 4e1ebe861c Primeiro commit 2026-08-06 11:13:33 -03:00