Esdras Renan
|
ab820ddeca
|
fix(web): gate staff-only Convex queries to avoid RBAC errors on dashboard and tickets; docs: add desktop agent history and troubleshooting
|
2025-10-10 01:11:03 -03:00 |
|
Esdras Renan
|
7685370c05
|
fix(desktop): use opener.openUrl (correct API) instead of non-existent named export 'open'
|
2025-10-10 00:51:49 -03:00 |
|
Esdras Renan
|
cf45e36f32
|
feat(desktop): open system in default browser via opener plugin (fallback to in-webview) to avoid localhost navigation issues
|
2025-10-10 00:49:02 -03:00 |
|
Esdras Renan
|
ae6beeb4c9
|
fix(desktop/capabilities): allow plugin-store commands (load/get/set/save/delete) via capability default
|
2025-10-10 00:42:05 -03:00 |
|
Esdras Renan
|
dca0a307a2
|
feat(desktop): improve error feedback on register (show HTTP status + server details); polish form visuals (labels/group/eye toggle)
|
2025-10-10 00:36:34 -03:00 |
|
Esdras Renan
|
e3796a4154
|
feat(desktop/ui): shadcn-like form polish (labels/fields), input-group with eye toggle for provisioning secret; CSS refinements for clarity
|
2025-10-10 00:21:40 -03:00 |
|
Esdras Renan
|
319e9d0eef
|
feat(desktop/ui): force light theme for readability in Tauri; strengthen contrast for card/input/alerts; add inventory summary cards
|
2025-10-10 00:18:39 -03:00 |
|
Esdras Renan
|
c70691bce8
|
feat(admin): Windows hardware cards (CPU/RAM/GPU/Disks) with Lucide icons; feat(desktop): inventory summary cards; feat(agent/windows): extended hardware collectors (CPU/board/BIOS/memory/video/disks); fix(agent): memory units in bytes
|
2025-10-10 00:01:23 -03:00 |
|
Esdras Renan
|
fcd45ff034
|
fix(desktop): remove @tauri-apps/plugin-keyring npm usage; fallback to Store for token on Windows; drop Rust keyring plugin to simplify install
|
2025-10-09 23:27:37 -03:00 |
|
Esdras Renan
|
c0228c0dad
|
docs(todo): add TODOs for Prisma client/type sync and desktop TS notes; remove unused vars in companies create route
|
2025-10-09 23:05:11 -03:00 |
|
Esdras Renan
|
b801ebd44f
|
fix(build): adjust create company payload to known Prisma fields; locally suppress single any cast for update due to out-of-sync Prisma types
|
2025-10-09 23:02:56 -03:00 |
|
Esdras Renan
|
2272c2a10e
|
fix(types): avoid Prisma CompanyUpdateInput strict typing due to out-of-sync generated types; use generic updates map and cast at call site
|
2025-10-09 23:00:51 -03:00 |
|
Esdras Renan
|
b4bc01bc7e
|
fix(types): guard prisma Company fields (isAvulso, contractedHoursPerMonth) with optional casting to accommodate outdated generated types; keep TS strict without any
|
2025-10-09 22:58:24 -03:00 |
|
Esdras Renan
|
c9eaee7309
|
build(next): enforce Turbopack for build; docs: note Turbopack usage in ops guide
|
2025-10-09 22:56:30 -03:00 |
|
Esdras Renan
|
6d69fcfa3c
|
chore(types): fix tsconfig to exclude desktop from Next TS check; remove unused vars and fix hook deps; clean up remaining lint warnings
|
2025-10-09 22:52:02 -03:00 |
|
Esdras Renan
|
6ffd6c6392
|
chore(types): remove explicit any, fix hook deps, and unused vars across admin/api/tickets; tighten zod server schemas; adjust UI types; fix pdf export expression; minor cleanup
|
2025-10-09 22:43:39 -03:00 |
|
Esdras Renan
|
0556502685
|
feat(admin/ui): filters + badges + full inventory dialog with search; CSV export; types tightened; feat(desktop): charts in diagnostics and heartbeat interval settings; feat(agent): normalized software/services; linux lspci/lsusb parsed
|
2025-10-09 22:29:59 -03:00 |
|
Esdras Renan
|
e682c6773a
|
fix(convex): use ctx.runMutation(api.tickets.create) instead of importing handler to satisfy types and build
|
2025-10-09 22:23:35 -03:00 |
|
Esdras Renan
|
335accb596
|
feat(desktop): tabs UI (Resumo/Inventário/Diagnóstico/Configurações) + enviar inventário agora; docs: admin inventory UI + release CI notes + roadmap
|
2025-10-09 22:22:24 -03:00 |
|
Esdras Renan
|
479c66d52c
|
feat(desktop-agent,admin/inventory): secure token storage via keyring; extended inventory collectors per OS; new /api/machines/inventory endpoint; posture rules + tickets; Admin UI inventory with filters, search and export; docs + CI desktop release
|
2025-10-09 22:08:20 -03:00 |
|
Esdras Renan
|
c2050f311a
|
chore: sincroniza alterações locais
|
2025-10-09 20:38:53 -03:00 |
|
Esdras Renan
|
c3249e523d
|
ci: adicionar job manual de diagnostico do Convex (env set/list + teste de registro)
|
2025-10-09 19:48:04 -03:00 |
|
Esdras Renan
|
24e6d7eb38
|
ci(convex): executar 'env set' e 'deploy' sempre (sem if baseado em env)
|
2025-10-09 19:42:13 -03:00 |
|
Esdras Renan
|
78aaab7f70
|
ci(convex): definir envs via 'convex env set' lendo /srv/apps/sistema/.env antes do deploy
|
2025-10-09 19:41:39 -03:00 |
|
Esdras Renan
|
754aa039c5
|
ci(web): garantir envs do Convex via docker service update (MACHINE_PROVISIONING_SECRET/TTL/FLEET) e restart
|
2025-10-09 19:33:26 -03:00 |
|
Esdras Renan
|
ae529bd3a2
|
ci(web/convex): usar diretório de build único por run (sistema.build.1760048648) para evitar EACCES em node_modules
|
2025-10-09 19:24:08 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 19:19:43 -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
|
d9ab863e76
|
feat(api): incluir detalhes de erro em /api/machines/register e /api/machines/heartbeat (facilita diagnostico em PROD)
|
2025-10-09 19:04:09 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 18:49:50 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 18:47:13 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 18:42:55 -03:00 |
|
Esdras Renan
|
8e1575e2a5
|
ci: evitar rsync delete de .next.old* e forcar fallback no convex_deploy
|
2025-10-09 18:33:00 -03:00 |
|
Esdras Renan
|
d34fad394f
|
chore(convex): trigger functions deploy
|
2025-10-09 18:29:08 -03:00 |
|
Esdras Renan
|
51908ac14f
|
ci(web): limpar .next antes do build para evitar EACCES de builds anteriores
|
2025-10-09 18:02:26 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 17:57:18 -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
|
54687ddb0f
|
chore(ci): trigger deploy apos rotacao do MACHINE_PROVISIONING_SECRET na VPS
|
2025-10-09 17:45:06 -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
|
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.
|
2025-10-09 17:10:34 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 17:02:51 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 16:59:18 -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
|
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.
|
2025-10-09 16:51:29 -03:00 |
|
Esdras Renan
|
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'.
|
2025-10-09 16:41:06 -03:00 |
|
Esdras Renan
|
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
✅ 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 migracoes.
|
2025-10-09 16:35:23 -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
|
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.
|
2025-10-09 16:30:41 -03:00 |
|
Esdras Renan
|
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.
|
2025-10-09 16:26:29 -03:00 |
|
Esdras Renan
|
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).
|
2025-10-09 16:23:04 -03:00 |
|