Commit graph

46 commits

Author SHA1 Message Date
esdrasrenan
638faeb287 fix(convex): corrigir memory leak com .collect() sem limite e adicionar otimizacoes
Problema: Convex backend consumindo 16GB+ de RAM causando OOM kills

Correcoes aplicadas:
- Substituido todos os .collect() por .take(LIMIT) em 27+ arquivos
- Adicionado indice by_usbPolicyStatus para otimizar query de maquinas
- Corrigido N+1 problem em alerts.ts usando Map lookup
- Corrigido full table scan em usbPolicy.ts
- Corrigido subscription leaks no frontend (tickets-view, use-ticket-categories)
- Atualizado versao do Convex backend para precompiled-2025-12-04-cc6af4c

Arquivos principais modificados:
- convex/*.ts - limites em todas as queries .collect()
- convex/schema.ts - novo indice by_usbPolicyStatus
- convex/alerts.ts - N+1 fix com Map
- convex/usbPolicy.ts - uso do novo indice
- src/components/tickets/tickets-view.tsx - skip condicional
- src/hooks/use-ticket-categories.ts - skip condicional

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 21:41:30 -03:00
rever-tecnologia
3396e930d4 feat(frontend): implementar paginacao numerada em listagens de tickets
- Adiciona tickets.listPaginated no backend com paginacao nativa Convex
- Converte TicketsView para usePaginatedQuery com controles numerados
- Converte PortalTicketList para usePaginatedQuery com controles numerados
- Atualiza tauri e @tauri-apps/api para versao 2.9

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 20:17:22 -03:00
rever-tecnologia
c3eb2d3301 Scale web service to 2 replicas for zero-downtime rollouts 2025-12-09 16:52:57 -03:00
esdrasrenan
a7d9803c97 chore(chat): remover WS dedicado e usar apenas Convex 2025-12-09 01:08:59 -03:00
esdrasrenan
a8f5ff9d51 feat(chat): desktop usando Convex WS direto e fallback WS dedicado 2025-12-09 01:01:54 -03:00
Seu Nome
40e2c01abd fix: zero-downtime deploy com start-first e healthcheck
- Remove docker service update --force que causava downtime
- Agrupa env vars do Convex em um único update (evita múltiplos restarts)
- Adiciona delay: 10s e monitor: 30s no update_config
- Healthcheck do web usa /api/health com timeout
- Ajusta start_period: 180s (web) e 60s (convex)
- Convex backend não é mais forçado a reiniciar após stack deploy

Fluxo correto de deploy:
1. docker stack deploy detecta mudança
2. Novo container é criado (start-first)
3. Swarm espera healthcheck passar
4. Swarm espera monitor period (30s)
5. Container antigo é removido
6. Zero downtime durante todo o processo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 15:07:13 -03:00
rever-tecnologia
e493ec9d5d Fix better-sqlite3 binding for Prisma adapter
- Force SKIP_SQLITE_REBUILD=false in stack.yml
- Copy binding to multiple locations including @prisma/client paths
- Include version-specific paths for Node.js compiled bindings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 16:31:51 -03:00
Esdras Renan
8f2c00a75a fix: stabilize web build path e cores do SLA 2025-11-25 17:32:40 -03:00
Esdras Renan
56cd5fa344 chore(web): força rebuild do better-sqlite3 em deploys 2025-11-25 13:05:00 -03:00
Esdras Renan
43548ab4b8 chore: add node22 bun base image and tune start 2025-11-19 21:22:12 -03:00
Esdras Renan
eebe1a717f deploy: start-first updates to reduce downtime 2025-11-19 20:53:41 -03:00
Esdras Renan
8787599ac7 chore(stack): bump web to bun 1.3.2, root user, skip auth seed 2025-11-19 20:49:44 -03:00
Esdras Renan
07a6f101b8 fix: handle Convex InvalidCursor and align backend config 2025-11-17 23:53:43 -03:00
Esdras Renan
94bbefbc48 infra: stop-first convex updates and lower reservation 2025-11-17 15:18:14 -03:00
Esdras Renan
3b0484a9ad feat: aggregate dashboard metrics server-side 2025-11-17 13:48:59 -03:00
Esdras Renan
0171157f12 ops: aumentar limite de memória do convex backend 2025-11-14 10:15:42 -03:00
Esdras Renan
3e4943f79c Optimize Convex queries and stack config 2025-11-12 22:13:50 -03:00
Esdras Renan
da46fa448b feat(convex): add internal url and remote access fixes 2025-11-11 16:06:11 -03:00
Esdras Renan
aec9b1ff85 chore: run web service with bun runtime 2025-11-05 19:04:09 -03:00
codex-bot
ee7dbb1ee7 Ensure BETTER_AUTH_SECRET is passed to web service 2025-10-31 15:44:19 -03:00
Esdras Renan
945b29f317 ci(web): fix permission errors publishing to stable APP_DIR (docker chown+chmod, exclude .pnpm-store); runtime: use container-local PNPM store to avoid host writes 2025-10-16 15:08:12 -03:00
Esdras Renan
377ba39bac web: use start-first update to minimize downtime during rolling updates 2025-10-16 13:10:42 -03:00
Esdras Renan
0562c13630 ci: improve cleanup fallback (chown+chmod before delete) and run web container as uid 1000 to prevent root-owned caches 2025-10-16 11:59:32 -03:00
Esdras Renan
c785094e4f ci: cleanup build dirs; add web start script; fix NEXT_PUBLIC_CONVEX_URL usage 2025-10-16 11:18:56 -03:00
Esdras Renan
7e8023ed87 fix(ci/deploy): stop-first no web + start script com retry de migrations e seed não fatal 2025-10-16 00:32:26 -03:00
Esdras Renan
418599ef62 feat(desktop): add Tauri updater (GitHub Releases), updater UI button, hide PowerShell windows; fix Windows inventory arrays and activation; improve metrics parsing; branding rename to Raven across app; avoid localhost fallback in auth-server; inject APP_URL/AUTH_URL in stack 2025-10-10 20:39:39 -03:00
Esdras Renan
6700bd9f15 ci(web): instalar apenas o pacote 'web' e apontar Convex via overlay (NEXT_PUBLIC_CONVEX_URL=http://sistema_convex_backend:3210)\n\n- Evita EACCES em apps/desktop/node_modules no runner.\n- Bypassa DNS/Traefik para chamadas servidor->Convex dentro da stack. 2025-10-09 19:16:10 -03:00
Esdras Renan
82a71ea092 fix(stack): remover envs duplicadas em convex_backend (itens unicos no array) 2025-10-09 17:50:13 -03:00
Esdras Renan
0d2474b95e stack(convex): injetar MACHINE_PROVISIONING_SECRET/TTL/FLEET no container convex_backend via .env\n\n- As functions do Convex leem estes envs em runtime.\n- O deploy usa docker stack + substituicao de variaveis via .env do diretório. 2025-10-09 17:40:19 -03:00
Esdras Renan
82c16533da ci(stack): usar APP_DIR efetivo e fallback para pasta no /home/renan\n\n- Determina diretório gravável (fallback /home/renan/apps/sistema) e usa em rsync e stack deploy.\n- stack.yml aceita com default para /srv/apps/sistema.\n- Evita necessidade de sudo e problemas de permissão no /srv. 2025-10-09 16:58:17 -03:00
Esdras Renan
4e87911269 feat(auth): garantir usuarios padrao no start do container\n\n- Torna o seed idempotente por padrao (SEED_ENSURE_ONLY=true) sem resetar senhas existentes.\n- Executa
> web@0.1.0 auth:seed /home/renan/sistema-de-chamados
> node scripts/seed-auth.mjs

 Usuario garantido (sem reset de senha): admin@sistema.dev
 Usuario garantido (sem reset de senha): cliente.demo@sistema.dev
 Usuario garantido (sem reset de senha): mariana.andrade@atlasengenharia.com.br
 Usuario garantido (sem reset de senha): fernanda.lima@omnisaude.com.br
 Usuario garantido (sem reset de senha): joao.ramos@atlasengenharia.com.br
 Usuario garantido (sem reset de senha): aline.rezende@atlasengenharia.com.br
 Usuario garantido (sem reset de senha): ricardo.matos@omnisaude.com.br
 Usuario garantido (sem reset de senha): luciana.prado@omnisaude.com.br
 Usuario garantido (sem reset de senha): gabriel.oliveira@rever.com.br
 Usuario garantido (sem reset de senha): george.araujo@rever.com.br
 Usuario garantido (sem reset de senha): hugo.soares@rever.com.br
 Usuario garantido (sem reset de senha): julio@rever.com.br
 Usuario garantido (sem reset de senha): lorena@rever.com.br
 Usuario garantido (sem reset de senha): renan.pac@paulicon.com.br
 Usuario garantido (sem reset de senha): thiago.medeiros@rever.com.br
 Usuario garantido (sem reset de senha): weslei@rever.com.br apos  no stack.yml.\n- Garante admin e demais usuarios definidos sem acao manual, mesmo após reset do app.
2025-10-09 16:34:59 -03:00
Esdras Renan
474cd45b65 fix(stack): expor segredos de provisionamento ao convex 2025-10-09 00:14:00 -03:00
Esdras Renan
f8c89c935c chore(deploy): trigger web redeploy (no-op change in stack.yml) 2025-10-08 20:31:44 -03:00
Esdras Renan
69dd060e79 chore(deploy): nudge stack to force redeploy (no-op comment) 2025-10-08 20:25:57 -03:00
Esdras Renan
3735e0d178 deploy: zero-downtime rollout (2 replicas, start-first, healthchecks) for web & convex; document in runbook 2025-10-08 18:27:07 -03:00
Esdras Renan
2659455a9f deploy: purge .next before build; CI also restarts Convex service to ensure fresh state 2025-10-08 18:03:36 -03:00
Esdras Renan
27d78d6171 ci/deploy: force rollout of web service via RELEASE_SHA + service update to pick new code 2025-10-08 16:17:34 -03:00
Esdras Renan
8d55c37f82 feat: add Convex dashboard service and CI job to deploy functions to self-hosted backend 2025-10-08 11:59:49 -03:00
Esdras Renan
bb0a47099f feat(convex): use official self-hosted backend image behind Traefik; remove CLI-based service 2025-10-08 11:17:02 -03:00
Esdras Renan
55b516043f fix(convex): non-interactive setup using --configure new --project ... --dev-deployment local 2025-10-08 11:11:58 -03:00
Esdras Renan
df182f29aa fix(convex): remove unsupported --port/--hostname; rely on default 3210 2025-10-08 10:53:42 -03:00
Esdras Renan
e30cc7a286 fix(convex): revert to sourcing .env inside container (requires quoting) 2025-10-08 10:46:41 -03:00
Esdras Renan
48e17eb43b fix(convex): load env via env_file instead of sourcing .env (spaces-safe) 2025-10-08 10:38:11 -03:00
Esdras Renan
604f7b55b0 fix(stack): use absolute bind path (/srv/apps/sistema) for Portainer/Swarm 2025-10-08 10:34:37 -03:00
Esdras Renan
998efa9a91 fix(stack): install devDependencies and use prisma via pnpm exec in Swarm deploy 2025-10-08 10:27:25 -03:00
Esdras Renan
ec1539b446 infra: stack Traefik (Swarm), exemplos de env, CI GitHub Actions e ajuste workspace pnpm 2025-10-08 10:20:04 -03:00