Commit graph

494 commits

Author SHA1 Message Date
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
Esdras Renan
7e480fe864 dashboard: exigir sessão no servidor
- Chama requireAuthenticatedSession() em /dashboard para redirecionar anônimos a /login
- Evita página vazia quando aberto diretamente em janela anônima.
2025-10-14 10:32:29 -03:00
Esdras Renan
2cf416da60 home: redirecionar por sessão no servidor
- Em /, decidir destino via getServerSession():
  - Sem sessão: /login
  - Staff: /dashboard
  - Colaborador: /portal
- Evita depender do redirect client-side e garante comportamento correto em aba anônima.
2025-10-14 10:23:58 -03:00
Esdras Renan
c88622d762 auth: eliminar flash do login
- Simplifica AuthGuard para não redirecionar no cliente (gate feito no middleware)
- Adiciona skeleton de carregamento no AppShell enquanto
- Troca anchors por Next Link no sidebar para navegação client-side

Sem mudanças de schema/DB; apenas UX e roteamento no cliente.
2025-10-14 09:52:39 -03:00
Esdras Renan
32488d48ca Ajusta sessão de máquina para vincular colaborador do metadata 2025-10-13 22:01:33 -03:00
Esdras Renan
ecbd32e735 Atualiza desktop para versão 0.1.6 2025-10-13 21:08:37 -03:00
Esdras Renan
a578d7b906 Publica instalador desktop 0.1.5 2025-10-13 20:43:52 -03:00
Esdras Renan
92ec006c09 Garante vínculo do colaborador mesmo sem persona inicial 2025-10-13 20:36:58 -03:00
Esdras Renan
549d9bcbd0 Atualiza chave pública do updater 2025-10-13 20:20:18 -03:00
Esdras Renan
974f8954e9 Refresca contexto após vincular colaborador 2025-10-13 20:10:25 -03:00
Esdras Renan
6a9759e12f Tipa chamada ao ensureUser na sessão de máquina 2025-10-13 19:43:23 -03:00
Esdras Renan
11390a9d83 Enriquece inventário do Windows e layout dos cards 2025-10-13 19:42:19 -03:00
Esdras Renan
26ae2aa8e5 Corrige detecção de ativação do Windows 2025-10-13 19:34:45 -03:00
Esdras Renan
2f47c40894 Garante typing ao associar usuário de máquina 2025-10-13 19:32:10 -03:00
Esdras Renan
4f6d0265b5 Alinha cabeçalho do desktop ao layout do portal 2025-10-13 19:22:34 -03:00
Esdras Renan
ba0dcddefb Ajusta portal e desktop para máquina vinculada 2025-10-13 19:20:16 -03:00
Esdras Renan
0cac7aa23a Corrige reset de subcategoria 2025-10-13 18:12:40 -03:00
Esdras Renan
9f85cbaba5 Reverte opcionalidade de subcategoria no portal 2025-10-13 18:08:34 -03:00
Esdras Renan
6a04ef4843 Ajusta portal do cliente e desbloqueia abertura de chamados 2025-10-13 17:47:39 -03:00
Esdras Renan
12c7fa23ae Ajusta estilo do painel de tickets recentes 2025-10-13 17:27:48 -03:00
Esdras Renan
4c987d4447 Align status and priority badges in recent tickets 2025-10-13 17:14:13 -03:00
Esdras Renan
490ff1a219 Fine-tune recent ticket badges 2025-10-13 17:10:27 -03:00
Esdras Renan
5785322c07 Restyle recent tickets panel layout 2025-10-13 16:53:31 -03:00
Esdras Renan
0cd477b8ef Improve Windows OS metadata parsing 2025-10-13 16:34:28 -03:00
Esdras Renan
cf31158a9e Allow staff access to admin UI with scoped permissions 2025-10-13 16:30:52 -03:00
Esdras Renan
d6956cd99d Document machine status derivation and Windows fields 2025-10-13 16:07:01 -03:00
Esdras Renan
388ab5feb4 Derive machine online status from heartbeat 2025-10-13 16:05:18 -03:00
Esdras Renan
4d8b9a0e39 Harden machine deletion via Convex API 2025-10-13 15:53:07 -03:00
Esdras Renan
64e4e02a9a Expose detailed Windows OS info in machine inventory 2025-10-13 15:45:24 -03:00
Esdras Renan
3d89c5fd32 Handle single-object Windows GPU and disk payloads 2025-10-13 15:26:36 -03:00
Esdras Renan
17f9f00343 Add company management editing and deletion 2025-10-13 15:23:53 -03:00
Esdras Renan
b60f27b2dc Auto-expire revoked invites and allow reactivation 2025-10-13 15:17:11 -03:00
Esdras Renan
05f5af5ba6 Enable admin user removals and invitation UX polish 2025-10-13 15:08:51 -03:00
Esdras Renan
aa12ebfe0a Add padding to admin user edit drawer 2025-10-13 14:42:49 -03:00
Esdras Renan
016fef34d3 Fix admin user edit select values 2025-10-13 14:32:50 -03:00
Esdras Renan
11efad0312 Fix company search filters and build regressions 2025-10-13 14:18:57 -03:00
Esdras Renan
a8abb68e36 Fix domain user role typing 2025-10-13 14:03:55 -03:00
Esdras Renan
4f812a2e4c Fix GPU inventory typing and user role mapping 2025-10-13 13:59:48 -03:00
Esdras Renan
42611df0f5 fix: improve admin machine details and role gating 2025-10-13 13:32:50 -03:00
Esdras Renan
076c0df7f9 fix: adjust admin user routes and sidebar deps 2025-10-13 11:59:09 -03:00
Esdras Renan
4951e82834 fix: include slug helpers 2025-10-13 11:45:34 -03:00
Esdras Renan
ecad81b0ea feat: overhaul admin user management and desktop UX 2025-10-13 10:36:38 -03:00
Esdras Renan
7d6f3bea01 feat: improve ticket export and navigation 2025-10-13 00:08:18 -03:00
Esdras Renan
0731c5d1ea docs: registrar release 0.1.7 e novo latest.json 2025-10-12 05:12:31 -03:00