Commit graph

201 commits

Author SHA1 Message Date
Esdras Renan
124bb2a26f feat(admin/machines): redesign overview as cards grid with status dot and metrics; add machine detail page (/admin/machines/[id]) reusing existing detail panel 2025-10-10 10:17:59 -03:00
Esdras Renan
5851bfe366 fix(dev): add missing convexUserId from useAuth in AppSidebar debug panel 2025-10-10 10:08:47 -03:00
Esdras Renan
7b768735ea chore(dev): show session role, convexUserId and Convex URL in sidebar footer to debug empty data in local dev 2025-10-10 10:06:46 -03:00
Esdras Renan
4f03433afe chore(admin): in dev require only authenticated session for /admin to simplify local testing; prod still requires admin 2025-10-10 10:02:50 -03:00
Esdras Renan
8fb2e4caaf chore(middleware): only enforce admin gate in production to simplify local dev with Better Auth cookie cache 2025-10-10 09:56:42 -03:00
Esdras Renan
2877f22dfb chore(auth): add trustedOrigins to allow localhost in dev without impacting production 2025-10-10 09:46:45 -03:00
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