Commit graph

119 commits

Author SHA1 Message Date
esdrasrenan
0cdbc082ab fix(desktop): evita sobreposicao entre janelas de chat e hub
- Fecha janelas individuais de chat ao abrir o Hub (2+ sessoes)
- Fecha o Hub ao voltar para apenas 1 sessao
- Evita problemas de clique causados por sobreposicao de janelas

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 00:21:43 -03:00
esdrasrenan
5c5bf0385e fix(desktop): traz janela de chat para frente com novas mensagens
- Adiciona set_focus() apos show() para trazer janela para frente
- Adiciona unminimize() para garantir visibilidade
- Aplica mesma logica para Hub e janelas individuais de chat

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 00:02:12 -03:00
rever-tecnologia
10078c7aa7 fix(checklist): corrige acentuação e adiciona modal de exclusão
- Corrige acentuações: Opções, Não, Descrição, Obrigatório, máx
- Adiciona modal de confirmação para exclusão de itens do checklist
- Remove uso de confirm() nativo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 16:35:58 -03:00
rever-tecnologia
c776499403 fix(desktop): ajusta tamanho da janela hub expandida
- Reduz tamanho de 380x480 para 340x400 (cabe melhor na tela)
- Reposiciona antes de redimensionar para evitar corte
- Melhora logging de debug

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 15:06:37 -03:00
rever-tecnologia
8863fffc37 fix(desktop): corrige reinstalacao do RavenService e uso via IPC
- NSIS: remove servico antigo antes de instalar novo (corrige reinstalacoes)
- NSIS: adiciona retry ao iniciar servico
- agent.rs: usa service_client para aplicar politica USB via IPC primeiro
- Fallback para aplicacao direta se servico indisponivel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 15:01:09 -03:00
rever-tecnologia
c7b6d78ec2 fix(desktop): corrige travamento com múltiplos chats
Problemas corrigidos:
- Removido always_on_top de todas as janelas (causava competição de Z-order)
- Removido inner_size() síncrono que bloqueava a UI thread
- Simplificado process_chat_update para não fazer múltiplas operações de janela
- Removidos logs de debug

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 14:46:39 -03:00
rever-tecnologia
c36e18117b fix(desktop): corrige problemas do chat (redimensionamento e cliques)
Correções implementadas:
1. Adiciona .resizable(false) nas janelas de chat e hub para impedir redimensionamento manual
2. Corrige área clicável invisível quando minimizado (janela agora tem tamanho correto)
3. Corrige clique na lista de sessões para expandir janela quando clicado
4. Diferencia abertura automática (minimizada) de abertura manual (expandida)

- Chat agora abre expandido quando clicado na lista do hub
- Chat abre minimizado quando nova mensagem chega (menos intrusivo)
- Janelas não permitem mais redimensionamento manual
- Área clicável agora corresponde ao tamanho visual da janela

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:53:53 -03:00
rever-tecnologia
6b137434fe fix(desktop): corrige permissoes e redimensionamento do chat
- Adiciona chat-hub explicitamente nas capabilities do Tauri
- Adiciona .resizable(false) nas janelas de chat e hub
- Corrige problema de comandos invoke nao funcionando no hub

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:51:34 -03:00
rever-tecnologia
29fbbfaa26 feat(desktop): adiciona hub de chats para multiplas sessoes
- Cria ChatSessionList, ChatSessionItem e ChatHubWidget no desktop
- Adiciona comandos Rust para gerenciar hub window
- Quando ha multiplas sessoes, abre hub ao inves de janela individual
- Hub lista todas as sessoes ativas com badge de nao lidos
- Clicar em sessao abre/foca janela de chat especifica
- Menu do tray abre hub quando ha multiplas sessoes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 12:13:47 -03:00
rever-tecnologia
2293a0275a fix(chat): melhora confiabilidade da deteccao de novas mensagens
- Implementa deteccao dual: timestamp (lastActivityAt) + contador
- Adiciona persistencia de estado em ~/.local/share/Raven/chat-state.json
- Corrige race condition no servidor com refetch antes do patch
- Adiciona campo lastAgentMessageAt no schema do Convex
- Adiciona logs de diagnostico detalhados

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 09:44:03 -03:00
esdrasrenan
c4664ab1c7 feat(desktop): adiciona Raven Service e corrige UAC
- Implementa Windows Service (raven-service) para operacoes privilegiadas
- Comunicacao via Named Pipes sem necessidade de UAC adicional
- Adiciona single-instance para evitar multiplos icones na bandeja
- Corrige todos os warnings do clippy (rustdesk, lib, usb_control, agent)
- Remove fallback de elevacao para evitar UAC desnecessario
- USB Policy e RustDesk provisioning agora usam o servico quando disponivel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 02:30:43 -03:00
esdrasrenan
bf94dd9f7a fix(desktop): foco de scroll e contagem de não lidas no chat 2025-12-12 22:36:43 -03:00
esdrasrenan
b5b51b638b fix(desktop): permitir dialog de anexo no chat 2025-12-12 22:13:55 -03:00
esdrasrenan
2f9cd56153 fix(desktop): corrige autostart do Raven no Windows 2025-12-12 21:36:49 -03:00
esdrasrenan
8cf13c43de fix(chat): melhora realtime e anexos no desktop 2025-12-12 21:36:32 -03:00
rever-tecnologia
3d45fe3b04 Ajusta auto-minimização do chat web e unifica realtime no desktop 2025-12-11 17:46:33 -03:00
rever-tecnologia
f4880f32d2 Corrige comportamentos do chat e melhora UX
- Corrige contador de mensagens resetando sozinho (web)
  - Adiciona verificacao de visibilidade antes de marcar como lido
  - Verifica se aba esta ativa antes de marcar como lido

- Adiciona sincronizacao de estado do chat entre abas (web)
  - Usa BroadcastChannel para sincronizar aberto/fechado/minimizado
  - Persiste estado no localStorage

- Corrige chat minimizando sozinho no desktop (Rust)
  - Verifica se chat esta expandido antes de minimizar
  - Mantem chat aberto quando usuario esta usando

- Melhora encerramento automatico de sessoes de chat
  - Muda criterio de inatividade de chat para maquina offline
  - Sessao permanece ativa enquanto Raven estiver aberto
  - Encerra apenas quando maquina fica offline por 5+ min

- Corrige tabela de tickets em /devices
  - Adiciona acentuacao correta (Ultima atualizacao, Responsavel)
  - Torna linha inteira clicavel para abrir ticket

- Ajusta sidebar
  - Menu Tickets agora expande ao clicar (igual Cadastros)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 15:21:24 -03:00
esdrasrenan
fb97d9bec8 fix: corrige multiplos problemas de chat e infra
- stack.yml: reduz replicas web para 1 (SQLite nao suporta escrita concorrente)
- chat.rs: janela de chat ja abre minimizada para evitar marcar mensagens como lidas prematuramente
- rustdesk.rs: preserva ID existente do RustDesk ao reprovisionar (evita criar novo ID a cada reinstalacao do Raven)
- ChatWidget.tsx: remove isMinimized das dependencias do useEffect para evitar memory leak de resubscriptions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 23:28:31 -03:00
esdrasrenan
6ab1789c0f Reabre chat minimizado quando chegam novas mensagens 2025-12-10 21:33:50 -03:00
rever-tecnologia
1d3580b187 Use Convex WS client in desktop chat runtime 2025-12-09 15:31:08 -03:00
rever-tecnologia
1249b4ec26 fix(desktop): passar ticket_ref em todas as chamadas open_chat_window
- Adicionar ticket_ref ao comando Tauri open_chat_window
- Passar ticket_ref nas chamadas do tray menu
- Usar 0 como fallback para deeplinks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:12:33 -03:00
rever-tecnologia
d20ebf7416 fix(chat): ajustes de texto, layout e icone do menu
- Mudar texto 'Chat #' para 'Ticket #' no desktop
- Passar ticketRef via URL para exibir numero correto
- Ajustar tamanho da janela minimizada (240px)
- Incluir ticketRef no checkMachineUpdates (Convex)
- Ajustar padding dos botoes no chat web
- Mudar icone 'Todos os tickets' para ClipboardList

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 13:06:03 -03:00
rever-tecnologia
3c2d1824fb fix(chat): correções de SSE, inicialização e área de clique
- Substituir WebSocket por SSE para real-time (chat.rs)
- Corrigir inicialização do chat runtime em lib.rs
- Iniciar unreadByMachine em 0 ao criar sessão (liveChat.ts)
- Corrigir área de clique do chip minimizado (pointer-events)
- Corrigir roteamento SPA no Tauri (index.html?view=chat)
- Corrigir estado inicial isMinimized como true

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:51:33 -03:00
esdrasrenan
a8f5ff9d51 feat(chat): desktop usando Convex WS direto e fallback WS dedicado 2025-12-09 01:01:54 -03:00
Seu Nome
d8936899ee fix: chat nativo só aparece quando agente envia primeira mensagem
- Remove abertura automática do chat quando sessão é iniciada
- Chat só aparece minimizado quando há novas mensagens (primeira msg do agente)
- Remove notificação nativa redundante na criação da sessão
- Mantém evento session-started para outros usos internos

Fluxo correto:
1. Agente inicia chat → nada aparece no desktop
2. Agente envia mensagem → chat aparece minimizado com badge
3. Usuário clica → chat expande

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 14:36:40 -03:00
Seu Nome
69bb9b8acf fix: aumenta largura da janela minimizada para não cortar badge
- Aumenta de 210px para 220px para acomodar badge completamente

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 13:55:14 -03:00
Seu Nome
0afdba1635 fix: corrige chat reabrindo sozinho e melhora mensagens
- Remove window.show() que forçava chat reabrir a cada polling
- Chat só abre minimizado quando há NOVAS mensagens (janela não existia)
- Se usuário fechou o chat, não reabre automaticamente
- Corrige acentuação: "Voce" → "Você", "nao" → "não"
- Simplifica toast para "Chat ao vivo iniciado"
- Melhora mensagem de erro quando máquina está offline
- Loga erro técnico no console ao invés de exibir para usuário

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 12:22:44 -03:00
Seu Nome
e66b3cce92 fix: ajustes visuais na janela de chat do desktop
- Remove scrollbars com overflow: hidden no CSS
- Aumenta tamanho da janela minimizada (210x52) para não cortar badge
- Adiciona bordas arredondadas (rounded-2xl) no chat expandido
- Adiciona sombra (shadow-xl) no chat expandido

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 11:31:43 -03:00
Seu Nome
d2b8c27206 feat: melhorias visuais na janela de chat do desktop
- Desabilita sombra da janela para transparência funcionar corretamente
- Adiciona badge de mensagens não lidas no chip minimizado
- Ajusta tamanho da janela minimizada para acomodar badge e texto offline
- Mostra chat minimizado com badge quando há novas mensagens (menos intrusivo)
- Adiciona listener para atualização de unread count em tempo real

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 11:14:15 -03:00
Seu Nome
24dee5d5eb feat: melhorias no sistema de chat ao vivo
- Chat do agente abre expandido automaticamente ao iniciar nova sessao
- Toasts fecham apos tempo fixo independente do foco da janela
- Janela de chat do desktop com transparencia (sem fundo branco)
- Chat reabre quando usuario abre o Raven (duplo clique no tray)
- Chat nao reabre sozinho com novas mensagens (apenas notificacao)
- Mensagem de toast simplificada: "Chat ao vivo iniciado"
- Reduz intervalo de polling SSE de 2s para 1s (mais responsivo)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 11:06:01 -03:00
esdrasrenan
f2c0298285 feat: sistema completo de notificacoes por e-mail
Implementa sistema de notificacoes por e-mail com:

- Notificacoes de ciclo de vida (abertura, resolucao, atribuicao, status)
- Sistema de avaliacao de chamados com estrelas (1-5)
- Deep linking via protocolo raven:// para abrir chamados no desktop
- Tokens de acesso seguro para visualizacao sem login
- Preferencias de notificacao configuraveis por usuario
- Templates HTML responsivos com design tokens da plataforma
- API completa para preferencias, tokens e avaliacoes

Modelos Prisma:
- TicketRating: avaliacoes de chamados
- TicketAccessToken: tokens de acesso direto
- NotificationPreferences: preferencias por usuario

Turbopack como bundler padrao (Next.js 16)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 20:45:37 -03:00
esdrasrenan
cb6add1a4a chore: remove campo is_using_sse nao usado do ChatPollerHandle
O campo estava duplicado - ChatRuntime ja tem seu proprio is_using_sse.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 18:11:49 -03:00
esdrasrenan
a0edaf8adb fix: redimensiona janela de chat ao minimizar/expandir
- Adiciona funcao set_chat_minimized que redimensiona a janela
- Modo minimizado: 200x56 (tamanho do chip)
- Modo expandido: 380x520 (tamanho completo)
- Janela reposiciona automaticamente no canto inferior direito
- Adiciona comando is_chat_using_sse para verificar modo de conexao

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 17:12:29 -03:00
esdrasrenan
d01c37522f feat: SSE para chat desktop, rate limiting, retry, testes e atualizacao de stack
- Implementa Server-Sent Events (SSE) para chat no desktop com fallback HTTP
- Adiciona rate limiting nas APIs de chat (poll, messages, sessions)
- Adiciona retry com backoff exponencial para mutations
- Cria testes para modulo liveChat (20 testes)
- Corrige testes de SMTP (unit tests para extractEnvelopeAddress)
- Adiciona indice by_status_lastActivity para cron de sessoes inativas
- Atualiza stack: Bun 1.3.4, React 19, recharts 3, noble/hashes 2, etc

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 16:29:18 -03:00
esdrasrenan
fd0e29514a fix(desktop): restore custom chat window header
Revert to frameless window with custom header containing
minimize/close buttons and drag region.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 13:20:35 -03:00
esdrasrenan
c217a40030 feat(desktop): add file attachments and native chat window
- Add file upload support in chat (PDF, images, txt, docs, xlsx)
  - Limited to 10MB max file size
  - Only allowed extensions for security
- Use native Windows decorations for chat window
- Remove ChatFloatingWidget (replaced by native window)
- Simplify chat event listeners (window managed by Rust)
- Fix typo "sessao" -> "sessão"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 13:09:55 -03:00
esdrasrenan
d00c59e0b5 feat(desktop): auto-open chat window on new message
When a new message arrives from a support agent, the chat window
now opens automatically without user interaction.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 12:34:37 -03:00
esdrasrenan
b10548157e Add debug logs for chat and red border to end chat button
- Add detailed debug logs in Rust (chat.rs) to trace polling flow
- Add console.log in frontend (main.tsx) to trace event reception
- Add red border to "Encerrar" button in chat panels for better visibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 12:03:40 -03:00
esdrasrenan
88a3b37f2f Fix chat session management and add floating widget
- Fix session sync: events now send complete ChatSession data instead of
  partial ChatSessionSummary, ensuring proper ticket/agent info display
- Add session-ended event detection to remove closed sessions from client
- Add ChatFloatingWidget component for in-app chat experience
- Restrict endSession to ADMIN/MANAGER/AGENT roles only
- Improve polling logic to detect new and ended sessions properly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 11:16:56 -03:00
esdrasrenan
e4f8f465de Fix chat window behavior - remove auto-open on session start
- Remove automatic window opening when agent starts a chat session
- Remove automatic window focus when new messages arrive
- Only show Windows notification, user opens chat manually via tray icon
- Update notification message to instruct user to click Raven icon

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 04:07:38 -03:00
esdrasrenan
d766de4fda Add chat widget improvements and chat history component
Widget improvements:
- Pulsating badge with unread message count on floating button
- Clickable ticket reference link in chat header
- ExternalLink icon on hover

Desktop (Raven) improvements:
- Track previous unread count for new message detection
- Send native Windows notifications for new messages
- Focus chat window when new messages arrive

Chat history:
- New query getTicketChatHistory for fetching chat sessions and messages
- New component TicketChatHistory displaying chat sessions
- Sessions can be expanded/collapsed to view messages
- Pagination support for long conversations
- Added to both dashboard and portal ticket views

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 03:20:22 -03:00
esdrasrenan
b194d77d57 Add Windows native notifications for chat sessions
- Add tauri-plugin-notification for native Windows notifications
- Send notification when new chat session is started
- Configure notification permissions in capabilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 03:13:41 -03:00
esdrasrenan
ba91c1e0f5 Implementa sistema de chat em tempo real entre agente e cliente
- Adiciona tabela liveChatSessions no schema Convex
- Cria convex/liveChat.ts com mutations e queries para chat
- Adiciona API routes para maquinas (sessions, messages, poll)
- Cria modulo chat.rs no Tauri com ChatRuntime e polling
- Adiciona comandos de chat no lib.rs (start/stop polling, open/close window)
- Cria componentes React do chat widget (ChatWidget, types)
- Adiciona botao "Iniciar Chat" no dashboard (ticket-chat-panel)
- Implementa menu de chat no system tray
- Polling de 2 segundos para maior responsividade
- Janela de chat flutuante, frameless, always-on-top

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 01:00:27 -03:00
esdrasrenan
20b63f4ad6 Fix USB policy reporting and improve agent reliability
- Fix Zod schema to accept null values (nullable) for error/currentPolicy
- Add robust logging system writing to raven-agent.log file
- Rewrite auto-start using winreg with validation
- Auto-start agent on app setup if credentials exist
- Reduce retry attempts to 2 (1 + 1 retry after 2s)
- Replace provider's remote access on ID change (prevents duplicates)
- Update agent to v0.2.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 22:43:15 -03:00
esdrasrenan
b60255fe03 Improve USB policy responsiveness and reliability
- Reduce USB policy polling from 60s to 15s for faster response
- Add retry with exponential backoff (2s, 4s, 8s) on report failures
- Add APPLYING state for real-time progress bar feedback
- Check if policy is already applied locally before re-applying
- Fix API schema to accept APPLYING status
- Update agent to v0.1.9

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 17:51:57 -03:00
esdrasrenan
23e7cf58ae Redesenho da UI de dispositivos e correcao de VRAM
- Reorganiza layout da tela de dispositivos admin
- Renomeia secao "Controles do dispositivo" para "Atalhos"
- Adiciona botao de Tickets com badge de quantidade
- Simplifica textos de botoes (Acesso, Resetar)
- Remove email da maquina do cabecalho
- Move empresa e status para mesma linha
- Remove chip de Build do resumo
- Corrige deteccao de VRAM para GPUs >4GB usando nvidia-smi
- Adiciona prefixo "VRAM" na exibicao de memoria da GPU
- Documenta sincronizacao RustDesk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 17:01:40 -03:00
rever-tecnologia
2c47e84cab Salvar dados do RustDesk diretamente no machine-agent.json pelo Rust
- Resolve conflito entre Tauri Store (TypeScript) e escrita direta (Rust)
- O Rust agora salva a chave "rustdesk" no arquivo apos provisionamento
- O TypeScript pode ler os dados via Store.load() normalmente
- Garante que os dados do RustDesk estejam disponiveis para sincronizacao

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:56:12 -03:00
rever-tecnologia
063c5dfde7 Add equipment loan feature and USB bulk control
- Add emprestimos (equipment loan) module in Convex with queries/mutations
- Create emprestimos page with full CRUD and status tracking
- Add USB bulk control to admin devices overview
- Fix Portuguese accents in USB policy control component
- Fix dead code warnings in Rust agent
- Fix tiptap type error in rich text editor
2025-12-04 14:23:58 -03:00
rever-tecnologia
49aa143a80 Add USB storage device control feature
- Add USB policy fields to machines schema (policy, status, error)
- Create usbPolicyEvents table for audit logging
- Implement Convex mutations/queries for USB policy management
- Add REST API endpoints for desktop agent communication
- Create Rust usb_control module for Windows registry manipulation
- Integrate USB policy check in agent heartbeat loop
- Add USB policy control component in admin device overview
- Add localhost:3001 to auth trustedOrigins for dev

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 13:30:59 -03:00
Esdras Renan
0e9310d6e4 Handle RustDesk ID fallback to reported ID 2025-11-27 09:21:32 -03:00