Commit graph

797 commits

Author SHA1 Message Date
Esdras Renan
68ace0a858 refactor: quality workflow, docs, tests 2025-10-16 19:14:46 -03:00
Esdras Renan
a9caf36b01 admin/companies: evitar 500 ao excluir — pré-checar vínculos (users/tickets) e retornar 409 com detalhes 2025-10-16 17:40:39 -03:00
Esdras Renan
f60a48e7b3 admin/companies: melhorar criação/edição\n\n- Aceita isAvulso e contractedHoursPerMonth no POST\n- Retorna 409 para duplicidade (slug/provisioningCode)\n- Retorna 409 para duplicidade no PATCH 2025-10-16 17:29:08 -03:00
Esdras Renan
e6e343fe38 desktop: remover leitura de isValidatingToken para corrigir TS6133 no build Tauri 2025-10-16 16:53:37 -03:00
Esdras Renan
91d53ba10a api: /api/machines/session em runtime nodejs para leitura estável de cookies 2025-10-16 16:10:23 -03:00
Esdras Renan
05ffdf7876 auth: evitar loop login<->dashboard para sessão de máquina\n\n- Login direciona máquina para portal (ou dashboard se manager)\n- Middleware redireciona máquina colaborador do dashboard para /portal/tickets\n- Middleware evita mostrar login quando já autenticado como máquina 2025-10-16 16:09:49 -03:00
Esdras Renan
f2e25dfe4d desktop: validar token no startup + fallback onboarding; corrigir openSystem e pós-registro 2025-10-16 16:04:33 -03:00
Esdras Renan
12cbf564a7 desktop: onboarding seguro quando token inválido/expirado\n\n- Valida token no startup via /api/machines/heartbeat\n- Se inválido/expirado/revogado: limpa token/config e mostra onboarding\n- Auto-launch só após token validado\n- Fluxo Abrir sistema detecta token inválido e reprovisiona\n- Pós-registro abre sistema imediatamente e inicia heartbeat 2025-10-16 16:04:17 -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
009291f6a2 ci(web): publish build to stable path (/home/renan/apps/sistema) and deploy using that fixed APP_DIR; cleanup only web.build.* 2025-10-16 14:53:59 -03:00
Esdras Renan
9c498245e9 ci(web): remove redundant docker service update --force; rely on stack deploy update to avoid mount race/rollback 2025-10-16 14:02:49 -03:00
Esdras Renan
df4ae45458 ci(web): pass resolved APP_DIR path (no symlink) to docker stack deploy to satisfy bind mount requirement 2025-10-16 13:47:58 -03:00
Esdras Renan
03d31d082c ci(web): use stable symlink APP_DIR (/home/renan/apps/sistema.current) and skip active dir during cleanup to prevent mount path disappearance 2025-10-16 13:37:12 -03:00
Esdras Renan
5dbe6986e6 ci: isolate build dirs per job (web.build.* vs convex.build.*) to avoid cross-job cleanup deleting live mounts 2025-10-16 13:22:52 -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
4376ed9c3c ci(convex): avoid root-owned pnpm store by using container-local store; add root (docker) fallback for cleaning old build dirs 2025-10-16 11:49:48 -03:00
Esdras Renan
8639491ba2 ci: fail on service restart errors to catch deployment issues 2025-10-16 11:38:12 -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
4724255e79 feat: refina portal/desktop para play responsável, anexos e perfil 2025-10-16 03:10:44 -03:00
Esdras Renan
c90e99820f feat: aprimora upload/anexos e regras de atendimento no portal 2025-10-16 03:01:27 -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
1282621995 fix: torna migration de provisioning idempotente e libera deploy 2025-10-16 00:20:21 -03:00
Esdras Renan
9e3b3a9bde fix: corrige migration de provisioning e destrava deploy 2025-10-16 00:07:29 -03:00
Esdras Renan
70fdd8deb8 fix: ajustes de provisioning e layout nas empresas 2025-10-15 23:49:19 -03:00
Esdras Renan
ce6c8fdb3a fix: layout de empresas e ajustes no fluxo de provisioning 2025-10-15 23:44:00 -03:00
Esdras Renan
444b910429 fix: refina layout das colunas de empresas e corrige leitura de cookies e provisioning 2025-10-15 23:39:46 -03:00
Esdras Renan
7668c478f1 fix: refina layout das colunas de empresas e corrige leitura de cookies e provisioning 2025-10-15 23:34:36 -03:00
Esdras Renan
5211ea45df fix: refina layout das colunas de empresas e corrige leitura de cookies no middleware 2025-10-15 23:30:16 -03:00
Esdras Renan
43230e0310 Refine admin companies layout and relax provisioning schema 2025-10-15 23:19:24 -03:00
Esdras Renan
2cba553efa Implement company provisioning codes and session tweaks 2025-10-15 20:45:25 -03:00
Esdras Renan
0fb9bf59b2 Docs: document machine-session fixes, desktop handshake, portal UX changes, and Windows osInfo fallback 2025-10-15 00:21:11 -03:00
Esdras Renan
328415d9e9 Windows inventory: add osInfo fallback from sysinfo; portal detail spacing + subcategory 2025-10-14 23:15:11 -03:00
Esdras Renan
2a4bc486cf Fix JSX block in detail (RTE + Dropzone), hide priority in detail for customers, use isCustomer and hide queue 2025-10-14 22:42:37 -03:00
Esdras Renan
3f49e349f7 Hide Sign out when running as machine (even if session is null) 2025-10-14 22:30:22 -03:00
Esdras Renan
6df49ba956 Portal polishing: hide queue/priority for customers; use RTE + attachments in detail; filter list to requester only for collaborators 2025-10-14 22:29:38 -03:00
Esdras Renan
d1871ba232 Allow requester (collaborator) to add PUBLIC comments to own tickets; fix 'Autor não possui permissão' 2025-10-14 22:10:07 -03:00
Esdras Renan
8292abee88 Auth client: fetch machine context even if session is null; derive role/id from machineContext 2025-10-14 21:57:21 -03:00
Esdras Renan
43576ff8d7 Desktop: redirect handshake to /portal/debug to inspect session in WebView 2025-10-14 21:47:27 -03:00
Esdras Renan
da339a767b Fix type: use third param type for cookies.set options 2025-10-14 21:37:09 -03:00
Esdras Renan
b703561a7e Set session cookies via NextResponse.cookies.set for reliability (handshake + sessions) 2025-10-14 21:33:11 -03:00
Esdras Renan
f1f52f7c30 Fix TS build: remove unused res var in desktop session POST 2025-10-14 21:18:50 -03:00
Esdras Renan
5773aa69f3 Desktop: always navigate through /machines/handshake to set cookies in first-party context 2025-10-14 21:08:30 -03:00
Esdras Renan
9eb3a63e90 CORS: enable credentials for allowed origins (fix cookies set from WebView) 2025-10-14 20:57:31 -03:00
Esdras Renan
1e850ed11e Add /portal/debug page and navigate there after session; shows auth + machine context 2025-10-14 20:47:46 -03:00
Esdras Renan
6754af769b Fix session cookie propagation; desktop creates session via POST before opening portal 2025-10-14 20:33:40 -03:00
Esdras Renan
69955ae80c Surface machine context when collaborator missing 2025-10-14 19:37:19 -03:00
Esdras Renan
a1bd3bb7b9 Expose machine context debug info in console 2025-10-14 19:01:21 -03:00
Esdras Renan
0fb95147f4 Log machine context errors in portal 2025-10-14 18:49:58 -03:00
Esdras Renan
545d5bea4b desktop/devtools: habilitar feature 'devtools' do Tauri v2 (WebviewWindow::open_devtools) 2025-10-14 16:00:07 -03:00