2 KiB
2 KiB
Build do App Desktop (Tauri)
Guia rápido para gerar instaladores do app desktop em cada sistema operacional.
Pré‑requisitos
- Node.js 20+ e pnpm (Corepack habilitado):
corepack enable && corepack prepare pnpm@9 --activate
- Rust toolchain (stable) instalado.
- Dependências nativas por SO:
- Linux (Debian/Ubuntu):
sudo apt update && sudo apt install -y \ libwebkit2gtk-4.1-dev build-essential curl wget file \ libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev - Windows: Visual Studio Build Tools + WebView2 Runtime.
- macOS: Xcode Command Line Tools.
- Linux (Debian/Ubuntu):
Configuração de URLs
- Produção: por padrão o app usa
https://tickets.esdrasrenan.com.br. - Desenvolvimento: crie
apps/desktop/.enva partir deapps/desktop/.env.examplee ajuste:VITE_APP_URL=http://localhost:3000 VITE_API_BASE_URL=
Comandos de build
- Linux/macOS/Windows (rodar no próprio sistema):
pnpm -C apps/desktop tauri build - Apenas frontend (Vite):
pnpm -C apps/desktop build
Saída de artefatos: apps/desktop/src-tauri/target/release/bundle/.
Dicas
- Primeira compilação do Rust pode demorar (download de crates e linkedição).
- Se o link‑editor for lento no Linux, considere instalar
llde usar:RUSTFLAGS="-Clink-arg=-fuse-ld=lld" pnpm -C apps/desktop tauri build - Para logs detalhados em dev, rode
pnpm -C apps/desktop tauri dev.
Diagnóstico de sessão (Desktop → Portal)
- Durante testes, navegue até
/portal/debug(o desktop pode redirecionar automaticamente) para ver:/api/auth/get-session— pode sernullna WebView; não é bloqueante./api/machines/session— precisa retornar200comassignedUserId/email.
- Produção: as rotas de sessão/handshake enviam
Access-Control-Allow-Credentials: truee aplicam cookies comNextResponse.cookies.set(...)para confiabilidade em navegadores/embeds. - O desktop mantém a navegação top‑level via
/machines/handshakepara maximizar a aceitação de cookies.