Commit graph

  • 754aa039c5 ci(web): garantir envs do Convex via docker service update (MACHINE_PROVISIONING_SECRET/TTL/FLEET) e restart Esdras Renan 2025-10-09 19:33:26 -03:00
  • ae529bd3a2 ci(web/convex): usar diretório de build único por run (sistema.build.1760048648) para evitar EACCES em node_modules Esdras Renan 2025-10-09 19:24:08 -03:00
  • fa695de653 ci(web): workspace server-only no runner (remover apps/desktop e reduzir pnpm-workspace.yaml)\n\n- Evita EACCES em apps/desktop/node_modules no passo de install.\n- Mantém repo intacto; altera apenas o diretório efetivo usado pelo deploy. Esdras Renan 2025-10-09 19:19:43 -03:00
  • 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. Esdras Renan 2025-10-09 19:16:10 -03:00
  • d9ab863e76 feat(api): incluir detalhes de erro em /api/machines/register e /api/machines/heartbeat (facilita diagnostico em PROD) Esdras Renan 2025-10-09 19:04:09 -03:00
  • 833adcd8fa ci(convex): garantir que .env nao esteja presente e unset CONVEX_DEPLOYMENT no deploy\n\n- Sempre exclui .env* no rsync do job do Convex e renomeia .env se restar.\n- Exporta CI=true e faz unset de CONVEX_DEPLOYMENT dentro do container.\n- Evita conflito entre self-hosted (URL+ADMIN_KEY) e CONVEX_DEPLOYMENT. Esdras Renan 2025-10-09 18:49:50 -03:00
  • 2db7360c8b ci(convex): corrigir 'secrets' em if de job e usar step-if com env\n\n- Job roda em push main / workflow_dispatch / mudanças em convex/**.\n- Step de deploy só executa se os secrets estiverem definidos. Esdras Renan 2025-10-09 18:47:13 -03:00
  • 0459637429 ci(convex): relaxar condicao de execucao\n\n- Roda em workflow_dispatch (sem input), em push na main se secrets presentes, ou quando convex/** mudar.\n- Evita 'job skipped' quando for necessario publicar as functions. Esdras Renan 2025-10-09 18:42:55 -03:00
  • 8e1575e2a5 ci: evitar rsync delete de .next.old* e forcar fallback no convex_deploy Esdras Renan 2025-10-09 18:33:00 -03:00
  • d34fad394f chore(convex): trigger functions deploy Esdras Renan 2025-10-09 18:29:08 -03:00
  • 51908ac14f ci(web): limpar .next antes do build para evitar EACCES de builds anteriores Esdras Renan 2025-10-09 18:02:26 -03:00
  • 8efa574b76 ci(stack): carregar .env antes do docker stack deploy (envsubst)\n\n- Usa set -o allexport && source .env para popular MACHINE_PROVISIONING_SECRET e afins.\n- Garante substituicao de variaveis no stack.yml em producao. Esdras Renan 2025-10-09 17:57:18 -03:00
  • 82a71ea092 fix(stack): remover envs duplicadas em convex_backend (itens unicos no array) Esdras Renan 2025-10-09 17:50:13 -03:00
  • 54687ddb0f chore(ci): trigger deploy apos rotacao do MACHINE_PROVISIONING_SECRET na VPS Esdras Renan 2025-10-09 17:45:06 -03:00
  • 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. Esdras Renan 2025-10-09 17:40:19 -03:00
  • c672a0d2e4 ci: adicionar diagnostico de permissoes e usar EFFECTIVE_APP_DIR no build\n\n- Passo 'Permissions diagnostic' lista donos/permissoes e test de escrita.\n- Build roda em para evitar /srv bloqueado. Esdras Renan 2025-10-09 17:10:34 -03:00
  • 2e92b427a6 ci: forcar uso de APP_DIR no /home/renan e copiar .env de /srv se existir\n\n- Determina EFFECTIVE_APP_DIR sempre como /home/renan/apps/sistema (evita quaisquer pastas com perms quebradas).\n- Copia .env de /srv/apps/sistema quando presente para manter segredos corretos. Esdras Renan 2025-10-09 17:02:51 -03:00
  • 5ff93a354f ci: copiar .env ao usar fallback de APP_DIR (HOME)\n\n- Evita excluir .env* quando copiando para o diretório alternativo.\n- Garante que o container tenha envs ao subir fora do /srv. Esdras Renan 2025-10-09 16:59:18 -03:00
  • 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. Esdras Renan 2025-10-09 16:58:17 -03:00
  • c99c9bfe78 ci: rsync resiliente a perms (no-times + inplace + sudo fallback)\n\n- Adiciona --no-times e --inplace para evitar settime/mkstemp.\n- Tenta rsync normal; se falhar por permissão, repete com sudo -n.\n- Mantém filtros e delete como antes. Esdras Renan 2025-10-09 16:51:29 -03:00
  • de746890e7 ci: rodar deploy sempre em push na main (sem depender do filtro)\n\n- Mantém workflow_dispatch, mas simplifica condicional do job web.\n- Evita ficar preso apenas no job de 'Detect changes'. Esdras Renan 2025-10-09 16:41:06 -03:00
  • 44779f54a5 docs: documentar seed automatico e variavel SEED_ENSURE_ONLY\n\n- .env.example: adiciona SEED_ENSURE_ONLY=true.\n- Runbook: explica que o container executa > web@0.1.0 auth:seed /home/renan/sistema-de-chamados > node scripts/seed-auth.mjs Esdras Renan 2025-10-09 16:35:23 -03:00
  • 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 Esdras Renan 2025-10-09 16:34:59 -03:00
  • 43ef2bc239 ci: permitir workflow_dispatch com force deploy (web/convex)\n\n- Adiciona gatilho manual e inputs para forçar deploy sem depender do paths-filter.\n- Mantém filtros por push como antes.\n- Útil para reexecutar deploy após ajustes no próprio workflow. Esdras Renan 2025-10-09 16:30:41 -03:00
  • d9b1a80513 ci: evitar chgrp/perms no rsync do runner\n\n- Adiciona --no-perms --no-owner --no-group ao rsync nos passos de sync.\n- Evita erros de chgrp/mkstemp quando o runner não tem permissão para alterar grupo/perms.\n- Mantém filtros e --delete como antes. Esdras Renan 2025-10-09 16:26:29 -03:00
  • d031acf7b8 fix(prisma): garantir DATABASE_URL efetivo no runtime\n\n- Força resolução do DATABASE_URL ao instanciar PrismaClient com fallback seguro em produção para file:/app/data/db.sqlite.\n- Evita falha "Error code 14: Unable to open the database file" quando o runtime cai em path relativo do .env dentro do container.\n- Compatível com stack.yml (volume sistema_db montado em /app/data). Esdras Renan 2025-10-09 16:22:01 -03:00
  • 06c4efd173 fix(convex): evitar inline de segredo no build Esdras Renan 2025-10-09 01:27:45 -03:00
  • c4e42ab49c fix(convex): normalizar campos opcionais ao criar sessão Esdras Renan 2025-10-09 00:53:29 -03:00
  • 474cd45b65 fix(stack): expor segredos de provisionamento ao convex Esdras Renan 2025-10-09 00:14:00 -03:00
  • 30928fd938 fix(desktop): ajustar store do agente para build Esdras Renan 2025-10-08 23:28:08 -03:00
  • 152550a9a0 feat: habilitar provisionamento desktop e rotas CORS Esdras Renan 2025-10-08 23:07:49 -03:00
  • 7569986ffc docs(agents): add local dev guide, env examples, CI/deploy notes Esdras Renan 2025-10-08 21:42:40 -03:00
  • e11d19a128 fix(prisma): include binaryTargets for debian-openssl-1.1.x and 3.0.x to match runtime Esdras Renan 2025-10-08 20:49:56 -03:00
  • f8c89c935c chore(deploy): trigger web redeploy (no-op change in stack.yml) Esdras Renan 2025-10-08 20:31:44 -03:00
  • 69dd060e79 chore(deploy): nudge stack to force redeploy (no-op comment) Esdras Renan 2025-10-08 20:25:57 -03:00
  • 969dbcf46d ci: use --no-frozen-lockfile for host build to tolerate minor devDep changes Esdras Renan 2025-10-08 20:04:02 -03:00
  • 7e6ea3c54d dev: add eslint-plugin-react-hooks to silence lint plugin missing during build Esdras Renan 2025-10-08 19:46:54 -03:00
  • 7fc2c4a56e ci: exclude/protect node_modules and .pnpm-store in rsync to avoid permission issues Esdras Renan 2025-10-08 18:30:00 -03:00
  • 3735e0d178 deploy: zero-downtime rollout (2 replicas, start-first, healthchecks) for web & convex; document in runbook Esdras Renan 2025-10-08 18:27:07 -03:00
  • 229fdca0b9 ci: gate web deploy on web paths; decouple convex deploy and sync APP_DIR only when convex/** changes Esdras Renan 2025-10-08 18:21:52 -03:00
  • d4616f757a ci: always run stack deploy + service restarts (remove invalid hashFiles condition) Esdras Renan 2025-10-08 18:09:49 -03:00
  • 2659455a9f deploy: purge .next before build; CI also restarts Convex service to ensure fresh state Esdras Renan 2025-10-08 18:03:36 -03:00
  • 72c0cab07a chore(ci): trigger pipeline (smoke test 3) Esdras Renan 2025-10-08 16:57:26 -03:00
  • 27d78d6171 ci/deploy: force rollout of web service via RELEASE_SHA + service update to pick new code Esdras Renan 2025-10-08 16:17:34 -03:00
  • 8b1715a3da docs: add setup history (pitfalls & decisions) and link from README Esdras Renan 2025-10-08 14:54:38 -03:00
  • e976fa2c6d docs: README tweak to trigger CI (smoke test) Esdras Renan 2025-10-08 14:42:12 -03:00
  • 980d7c1561 chore: add scripts/deploy-from-git.sh (pull-based deploy fallback on VPS) Esdras Renan 2025-10-08 14:24:50 -03:00
  • f9268346ea ci: only run Convex deploy when files in convex/** change (paths-filter) Esdras Renan 2025-10-08 14:23:11 -03:00
  • 2b707379bb ci: protect local .env files from rsync --delete via filter rules Esdras Renan 2025-10-08 14:21:28 -03:00
  • 7a28263924 ci: preserve server .env files during rsync to APP_DIR (fix missing BETTER_AUTH_SECRET) Esdras Renan 2025-10-08 14:10:29 -03:00
  • a72af75c42 chore(ci): smoke test to trigger Actions on runner Esdras Renan 2025-10-08 14:00:15 -03:00
  • 8d55c37f82 feat: add Convex dashboard service and CI job to deploy functions to self-hosted backend Esdras Renan 2025-10-08 11:59:49 -03:00
  • 70d91b77c9 docs: runbook de operação (Traefik + Convex self-hosted) e link no README Esdras Renan 2025-10-08 11:41:03 -03:00
  • bb0a47099f feat(convex): use official self-hosted backend image behind Traefik; remove CLI-based service Esdras Renan 2025-10-08 11:17:02 -03:00
  • 55b516043f fix(convex): non-interactive setup using --configure new --project ... --dev-deployment local Esdras Renan 2025-10-08 11:11:58 -03:00
  • df182f29aa fix(convex): remove unsupported --port/--hostname; rely on default 3210 Esdras Renan 2025-10-08 10:53:42 -03:00
  • e30cc7a286 fix(convex): revert to sourcing .env inside container (requires quoting) Esdras Renan 2025-10-08 10:46:41 -03:00
  • 48e17eb43b fix(convex): load env via env_file instead of sourcing .env (spaces-safe) Esdras Renan 2025-10-08 10:38:11 -03:00
  • 604f7b55b0 fix(stack): use absolute bind path (/srv/apps/sistema) for Portainer/Swarm Esdras Renan 2025-10-08 10:34:37 -03:00
  • 998efa9a91 fix(stack): install devDependencies and use prisma via pnpm exec in Swarm deploy Esdras Renan 2025-10-08 10:27:25 -03:00
  • ec1539b446 infra: stack Traefik (Swarm), exemplos de env, CI GitHub Actions e ajuste workspace pnpm Esdras Renan 2025-10-08 10:20:04 -03:00
  • e4db48d8b4 docs: adiciona guia de CI/CD web e desktop Esdras Renan 2025-10-08 00:35:24 -03:00
  • 22848b0708 Increase spacing for tickets table columns Esdras Renan 2025-10-08 00:15:36 -03:00
  • 8d515d118c Adjust tickets table spacing and company truncation Esdras Renan 2025-10-08 00:14:22 -03:00
  • 51b38eb608 Fix header actions layout on mobile Esdras Renan 2025-10-08 00:10:52 -03:00
  • b880aa3ea6 Refina métricas de tempo e filtros de alertas Esdras Renan 2025-10-07 23:10:16 -03:00
  • ef25cbe799 Ajusta timeline, comentários internos e contadores de trabalho Esdras Renan 2025-10-07 22:12:18 -03:00
  • ee18619519 feat: adicionar painel de máquinas e autenticação por agente Esdras Renan 2025-10-07 21:37:41 -03:00
  • e2a5b560b1 views: substituir CSAT pizza por pizza de prioridade do backlog (com LabelList, tooltip, filtros de empresa e período) Esdras Renan 2025-10-07 17:51:12 -03:00
  • 385e0fec11 convex(cron): fornecer objeto de argumentos para action sendHoursUsageAlerts na crons.interval (TS2554) Esdras Renan 2025-10-07 17:46:56 -03:00
  • 88b65c3e15 views: criar página /views com gráficos (Canais movido do dashboard, CSAT distribuição, Filas abertas); dashboard: trocar por gráfico Abertos x Resolvidos (últimos 7/30/90 dias); reports: nova query openedResolvedByDay Esdras Renan 2025-10-07 17:28:01 -03:00
  • 5b14ecbe0f convex: mover action de envio de alertas para arquivo Node ('alerts_actions.ts' com 'use node'); remover import de 'tls' do módulo de queries/mutations; ajustar cron para usar api.alerts_actions; remover tentativa de envio de e-mail no mutation addComment (evitar Node API em isolate). Esdras Renan 2025-10-07 17:04:38 -03:00
  • 3814203de3 fix(dashboard): remover next/dynamic com ssr:false em Server Component; usar NewTicketDialogDeferred (client) como ação primária Esdras Renan 2025-10-07 16:57:59 -03:00
  • 9a65d935ce sidebar: remover item 'Configurações' do menu (redundante). Acesso a /settings fica apenas via menu do usuário ('Meu perfil'); docs atualizados no agents.md Esdras Renan 2025-10-07 16:56:50 -03:00
  • d2c1913221 dashboard: substituir 'Abrir ticket' por botão 'Novo ticket' com modal (mesmo layout e funcionalidade da tela de tickets) Esdras Renan 2025-10-07 16:53:24 -03:00
  • 384d4411b6 reports(SLA): aplica filtro de período (7d/30d/90d) no Convex e inclui período no filename do CSV; admin(alerts): filtros no servidor; alerts: batch de últimos alertas por slugs; filtros persistentes de empresa (localStorage) em relatórios; prisma: Company.contractedHoursPerMonth; smtp: suporte a múltiplos destinatários e timeout opcional Esdras Renan 2025-10-07 16:46:52 -03:00
  • a23b429e4d ui(reports): padroniza headers de CSAT e SLA com wrapper flex e adiciona seletor de período (7d/30d/90d); links de CSV passam range e companyId Esdras Renan 2025-10-07 16:33:22 -03:00
  • 13eb53c3cf ui(admin/alerts): envolver página com AppShell + SiteHeader e mover lógica para AdminAlertsManager (client); docs: agents.md reforça uso do wrapper em páginas administrativas Esdras Renan 2025-10-07 16:25:37 -03:00
  • 48f8952079 chore: remove screenshot adicionado por engano e ignorar capturas locais Esdras Renan 2025-10-07 16:22:29 -03:00
  • 3ab0d24ab2 ui(backlog): melhor espaçamento no header (empresa, período, exportar CSV) com wrapper flex responsivo Esdras Renan 2025-10-07 16:21:29 -03:00
  • 037970d52b chore: update SMTP module and tests; remove unused assets Esdras Renan 2025-10-07 16:15:46 -03:00
  • 81fd572e48 SMTP: extend env parsing (domain/auth/starttls); add unit test with mocked TLS for sendSmtpMail; extend SmtpConfig; docs to set .env locally Esdras Renan 2025-10-07 16:01:56 -03:00
  • 53c76a0289 Roadmap: mark alerts (>=90%) as done; add 'Arestas e observações' with risks/next steps for cron, panel, filters, PDF, types and tests Esdras Renan 2025-10-07 15:57:53 -03:00
  • 9c8a43a6b1 Hours report: add company filter (select) and CSV support via companyId; include filter metadata in file name Esdras Renan 2025-10-07 15:42:35 -03:00
  • 08cc8037d5 Hours by client: add search and CSV filtering; add alerts cron (BRT 08:00 guard) + alerts panel filters; admin companies shows last alert; PDF Inter font from public/fonts; fix Select empty value; type cleanups; tests for CSV/TZ; remove Knowledge Base nav Esdras Renan 2025-10-07 15:39:55 -03:00
  • 2cf399dcb1 feat(filters): ticket company filter + column; reports: company filter in CSVs; dashboard: queue summary; docs: agents.md and roadmap updates Esdras Renan 2025-10-07 14:18:59 -03:00
  • 70f91f5bbd feat(reports): hours by client (CSV + UI), company contracted hours, UI to manage companies; adjust ticket list spacing Esdras Renan 2025-10-07 14:04:36 -03:00
  • 3bafcc5a0a feat: CSV exports, PDF improvements, play internal/external with hour split, roles cleanup, admin companies with 'Cliente avulso', ticket list spacing/alignment fixes, status translations and mappings Esdras Renan 2025-10-07 13:42:45 -03:00
  • addd4ce6e8 fix(build): ajustar tipagem de params (Next 15) e corrigir default de TicketStatus no Prisma\n\n- invite/[token]: usar params como Promise e aguardar token\n- portal/tickets/[id]: usar params como Promise e aguardar id\n- prisma: alterar @default(NEW) -> @default(PENDING) para gerar client\n\nValidações:\n- pnpm build ok\n- pnpm lint ok\n- vitest ok (2 arquivos)\n\nDiretrizes: manter tipagens compatíveis com App Router e schemas do projeto conforme agents.md Esdras Renan 2025-10-07 09:48:15 -03:00
  • bff240a551 docs: registrar checklist de setup em novo computador Esdras Renan 2025-10-07 02:29:21 -03:00
  • c15f0a5b09 feat: enhance tickets portal and admin flows Esdras Renan 2025-10-07 02:26:09 -03:00
  • 9cdd8763b4 Await dynamic APIs in auth server helpers Esdras Renan 2025-10-07 00:03:42 -03:00
  • e491becbc4 Fix attachment previews and comment permissions Esdras Renan 2025-10-06 23:41:03 -03:00
  • 1cccb852a5 chore: reorganize project structure and ensure default queues Esdras Renan 2025-10-06 22:59:35 -03:00
  • 854887f499 feat: add company management and manager role support esdrasrenan 2025-10-06 21:26:43 -03:00
  • 409cbea7b9 feat: seed real agents and enable comment templates esdrasrenan 2025-10-06 20:35:40 -03:00
  • df8c4e29bb feat: seed visitas ticket queue esdrasrenan 2025-10-06 18:35:31 -03:00
  • 14b25e2cb3
    Merge pull request #21 from esdrasrenan/feat/turbopack-category-save esdrasrenan 2025-10-06 14:45:02 -03:00
  • a51783ce29 feat: harden ticket creation ux and seeding feat/turbopack-category-save rever-tecnologia 2025-10-06 14:40:26 -03:00
  • 675caf68bb
    Merge pull request #20 from esdrasrenan/feat/turbopack-category-save esdrasrenan 2025-10-06 11:53:00 -03:00