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
Esdras Renan
737c737be6
desktop: corrigir build (remover uso de @tauri-apps/api/fs e StoreOptions.dir)
...
- Usa Store.load com caminho absoluto em C:\Raven\data quando possível; fallback para AppData
- Remove import de fs (plugin) e opção 'dir' não suportada pelo plugin-store v2
2025-10-14 15:51:55 -03:00
Esdras Renan
7bc8a1d945
desktop: armazenar dados em pasta 'data' ao lado do executável (fallback AppData) e remover NSIS v2 inválido
...
- main.tsx: resolveDataDir usa executableDir/data quando possível; se falhar, cai para appLocalDataDir
- tauri.conf.json: remove bloco windows.nsis inválido no schema v2 para build passar
Objetivo: instalar dados fora do AppData (ex.: C:\Raven\data) quando o diretório de instalação permitir escrita.
2025-10-14 15:49:41 -03:00
Esdras Renan
0b39bcb56c
desktop/devtools: habilitar F12/Ctrl+Shift+I e menu de contexto para abrir DevTools
...
- src-tauri: adiciona comando open_devtools que chama window.open_devtools()
- frontend: listeners para F12/Ctrl+Shift+I e botão direito com Ctrl/Shift
Facilita depuração de UI no executável Tauri.
2025-10-14 15:26:59 -03:00
Esdras Renan
087170e321
desktop/windows: ajustar NSIS (perMachine, escolher diretório, atalho) e mover store para AppData
...
- tauri.conf.json: configura nsis (installMode perMachine, allowToChangeInstallDirectory, installDirName, createDesktopShortcut)
- main.tsx: Store.load agora usa appLocalDataDir (dados do app em AppData do usuário)
- README: documenta instalação Windows, dados em AppData e build leve (--bundles nsis)
2025-10-14 15:09:54 -03:00
Esdras Renan
682d39db70
desktop/machines: liberar handshake e ocultar 'Sair' em sessão de máquina
...
- middleware: torna /machines/handshake público para permitir criação de sessão de máquina sem login prévio
- nav-user: oculta botão 'Encerrar sessão' quando a sessão é de máquina (role === 'machine')
Efeito: no app desktop (Tauri), o handshake passa a autenticar corretamente, o cabeçalho exibe nome/e-mail do colaborador/gestor e o portal permite abrir chamados.
Nota: em navegação web comum, 'Sair' permanece visível para usuários humanos.
2025-10-14 11:22:01 -03:00
Esdras Renan
9ac584dcb6
auth: guarda server-side em rotas protegidas
...
- /tickets/[id], /tickets/resolved, /views, /play, /reports/*, /settings agora exigem sessão via requireAuthenticatedSession()
- Complementa o middleware e evita casos não-redirecionados em DEV/SSG
- Mantém /settings/templates com requireStaffSession() como já estava.
2025-10-14 10:59:09 -03:00
Esdras Renan
d7dd37f90f
middleware: voltar runtime nodejs para alinhar leitura de sessão\n\n- Edge estava inconsistindo com getCookieCache e gerando loop login↔dashboard\n- Mantém matcher enxuto para ignorar assets
2025-10-14 10:48:11 -03:00
Esdras Renan
79f21e738c
tickets: exigir sessão no servidor em /tickets
...
- Chama requireAuthenticatedSession() no page.tsx para redirecionar anônimos a /login
- Garante comportamento idêntico ao /dashboard quando acessado diretamente.
2025-10-14 10:46:57 -03:00
Esdras Renan
da7b866aeb
app: desabilitar SSG global (force-dynamic)
...
- Define dynamic="force-dynamic" no layout global para garantir que o middleware rode para todas as páginas
- Evita cache s-maxage de páginas protegidas (ex.: /tickets) que impedia redirect em anônimo.
2025-10-14 10:40:25 -03:00
Esdras Renan
0177391326
middleware: aplicar em todas as páginas (edge)\n\n- Remove runtime nodejs (middleware roda em Edge por padrão)\n- Ajusta matcher para ignorar assets e imagens estáticas\n- Mantém /login como público e gateia o restante por sessão\n- Admin-only aplicado em produção.\n\nEvita casos em que páginas eram renderizadas sem dados em anônimo ao acessar rotas diretas.
2025-10-14 10:34:26 -03:00