# Build do App Desktop (Tauri) Guia rápido para gerar instaladores do app desktop em cada sistema operacional. ## Pré‑requisitos - Bun >= 1.3 instalado e disponível no `PATH`. - Node.js 20+ (recomendado) caso precise executar scripts auxiliares em Node. - Rust toolchain (stable) instalado. - Dependências nativas por SO: - Linux (Debian/Ubuntu): ```bash 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. ## Configuração de URLs - Produção: por padrão o app usa `https://tickets.esdrasrenan.com.br`. - Desenvolvimento: crie `apps/desktop/.env` a partir de `apps/desktop/.env.example` e ajuste: ``` VITE_APP_URL=http://localhost:3000 VITE_API_BASE_URL= ``` ## Comandos de build - Linux/macOS/Windows (rodar no próprio sistema): ```bash bun run --cwd apps/desktop tauri build ``` - Apenas frontend (Vite): ```bash bun run --cwd 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 `lld` e usar: ```bash RUSTFLAGS="-Clink-arg=-fuse-ld=lld" bun run --cwd apps/desktop tauri build ``` - Para logs detalhados em dev, rode `bun run --cwd 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 ser `null` na WebView; não é bloqueante. - `/api/machines/session` — precisa retornar `200` com `assignedUserId/email`. - Produção: as rotas de sessão/handshake enviam `Access-Control-Allow-Credentials: true` e aplicam cookies com `NextResponse.cookies.set(...)` para confiabilidade em navegadores/embeds. - O desktop mantém a navegação top‑level via `/machines/handshake` para maximizar a aceitação de cookies.