Telas abrem com conteúdo
Rascunhos, pedidos, sacola, checkout, estúdio e painel chegam renderizados pelo servidor. Acabaram as telas intermediárias de “Carregando…” e “Verificando autenticação…”.
Data: 22/10/2026 · Todas as versões
Telas abrem com conteúdo
Rascunhos, pedidos, sacola, checkout, estúdio e painel chegam renderizados pelo servidor. Acabaram as telas intermediárias de “Carregando…” e “Verificando autenticação…”.
Acesso validado no servidor
Sessão expirada ou usuário sem papel de admin é barrado antes de qualquer HTML ser gerado, não só pela presença do cookie.
−23% de JavaScript
Os chunks do web caíram de 3,0 MB para 2,3 MB (o maior chunk, de 620 KB, deixou de existir).
Base para o editor 3D
Cliente HTTP, React Query, autenticação, Vitest e Playwright viraram pacotes compartilhados.
| Melhoria | Ganho |
|---|---|
| SSR primeiro (ADR-0014): páginas como Server Components que buscam os dados e hidratam o TanStack Query | HTML útil na primeira resposta; uma ida à rede a menos por tela |
Redirecionamentos de / e /home decididos no servidor |
Sem tela “Verificando autenticação…” ao abrir o site |
| Cache nativo do Next para conteúdo público (slide show do login, termos, catálogo, ajuda), invalidado quando o admin edita | Login e catálogo sem chamada à API a cada visita |
Carrossel do login reescrito (sem @material-tailwind/react) |
−620 KB de JavaScript; acessível (botões com rótulo, aria-roledescription, respeita “reduzir movimento”) |
AuthProvider e contexts do estúdio só na área do cliente |
Login, catálogo e admin não carregam o código do estúdio |
GlobalLoaderProvider deixou de re-renderizar a árvore a cada requisição |
Menos trabalho do React durante o polling de pedidos |
Uma única versão do zod no monorepo |
Sem módulo duplicado no bundle |
| Melhoria | Ganho |
|---|---|
Layouts protegidos validam a sessão (requireUser) e o papel de admin (requireAdmin) no servidor |
Fecha o acesso às telas do painel com cookie de usuário comum |
Usuário logado não é mais salvo no localStorage |
Menos dados pessoais persistidos no navegador |
Removidos o antigo middleware de auth e o CookieValidator, que imprimiam cookies no console |
Atende parte de R-13 |
Better Auth em @moldape/auth: log warn em produção, OpenAPI só fora de produção, origens confiáveis por variável e sem duplicatas |
Atende parte de MF-20 |
axios, Jest/ts-jest (handlebars crítico), TanStack Router (seroval), Uploadcare e Material Tailwind fora do lockfile |
Atende parte de MF-17 |
| Next 16.4 e React 19.3 (atualização feita antes desta entrega e incluída nesta versão) | Sai da linha 14, deprecated e com avisos de segurança |
token da URL de forma síncrona
(no Next 15+ é uma Promise), então o token nunca chegava ao formulário.multipart/form-data fixo no header quebraria o boundary com
fetch; o cliente agora deixa o navegador montar o header.pnpm format (vírgula final es5) e pnpm lint:fix
(all) desfaziam um ao outro; padronizado em all.zod sem declarar a dependência (vinha da raiz).@moldape/api-client (fetch nativo, ApiError, fábrica do
QueryClient), @moldape/auth, @moldape/vitest-config e
@moldape/playwright-config. Ver Stack.createDraftApi(http)…) usadas no
navegador e no servidor; consultas definidas uma vez em
lib/query/queries.ts.src/server/ (sessão, serviços com cookie, prefetch/hidratação,
dados públicos, server actions) e páginas page.tsx + *-view.tsx.admin/(panel)/ com um layout que exige admin.proxy.ts roda só nas áreas protegidas (antes rodava em toda página
pública).useErrorToast reduzido de 170 para 50 linhas sobre o ApiError..lintstagedrc.json órfão e scripts de teste soltos na raiz.@radix-ui/* não importados,
@material-tailwind/react, axios, @uploadcare/upload-client, clsx,
tailwind-merge e toda a pilha do Jest. A raiz deixou de declarar
dependências de runtime.zod, React Query, Better Auth,
Vitest, Playwright).make setup: instala, cria os .env, gera o Prisma Client e builda. Ver Ambiente local.| Workspace | Antes | Agora |
|---|---|---|
| Plataforma (raiz) | 1.1.0 | 2.1.0 |
web |
0.0.0 | 2.1.0 |
@moldape/order-lifecycle-service |
0.0.1 | 1.1.0 |
@moldape/docs |
1.0.0 | 1.1.0 |
@moldape/ui |
0.0.0 | 1.0.0 |
@moldape/logger |
0.0.0 | 1.0.0 |
@moldape/swagger |
1.0.0 | 1.1.0 |
@moldape/email |
1.0.0 | 1.0.1 |
@moldape/prettier |
0.0.0 | 1.0.0 |
@moldape/api-client, @moldape/auth, @moldape/vitest-config, @moldape/playwright-config |
— | 1.0.0 (novos) |
@moldape/jest-presets |
0.0.0 | removido |
ORDER_LIFECYCLE_INTERNAL_URL no web com o endereço interno da API
na rede do Coolify, para o SSR não sair pela internet.BETTER_AUTH_TRUSTED_ORIGINS e BETTER_AUTH_LOG_LEVEL
(Variáveis de ambiente).
Desenvolvido e documentado por