Commit graph

135 commits

Author SHA1 Message Date
rever-tecnologia
cf31e78edb Add requester filter and improve error messages
- Add requester filter to device tickets history page
- Create listMachineRequesters query to list unique requesters
- Add friendly API error formatting in desktop agent
- Translate validation errors to user-friendly Portuguese messages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 17:22:44 -03:00
rever-tecnologia
bb82efa9d3 Preserve machine identity based on hardware
- Add by_tenant_hostname index for hostname-based lookup
- Add third search in register mutation for hardware matching
- Search by hostname + MAC/serial when fingerprint/email differ
- Fallback to MAC/serial match across all tenant machines
- Preserves ticket history when user changes on same physical machine

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 17:00:19 -03:00
rever-tecnologia
7c5bc828cf Fix getById not returning USB policy fields
The getByIdHandler was missing usbPolicy, usbPolicyStatus,
and usbPolicyError fields, causing the chip to always show
"Permitido" instead of the actual policy value.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 10:06:18 -03:00
rever-tecnologia
6007cf6740 Fix USB policy token hash bug
The getPendingUsbPolicy and reportUsbPolicyStatus functions were
comparing the plain token against the tokenHash in the database,
which would never match. Now properly hashing the token before
database lookup.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 09:12:30 -03:00
rever-tecnologia
7469d3b5e6 Add USB policy improvements and emprestimos details modal
- Add cron job to cleanup stale pending USB policies every 30 min
- Add cleanupStalePendingPolicies mutation to usbPolicy.ts
- Add USB policy fields to machines listByTenant query
- Display USB status chip in device details and bulk control modal
- Add details modal for emprestimos with all loan information
- Add observacoesDevolucao field to preserve original observations
- Fix status text size in details modal title

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 08:24:56 -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
f7ad7f6a17 Fix admin rename payload and harden RustDesk ID sync 2025-11-26 21:00:08 -03:00
Esdras Renan
bd1bd4bef1 Expose visit status and performedAt in ticket list 2025-11-26 16:54:25 -03:00
Esdras Renan
66559eafbf feat(visits): concluir/reabrir visita sem poluir agenda 2025-11-26 14:21:31 -03:00
Esdras Renan
e1ecf20346 fix: allow 90d analytics window 2025-11-19 16:02:37 -03:00
Esdras Renan
c79ba4638c Allow reassigning during active sessions 2025-11-19 09:57:04 -03:00
Esdras Renan
ff9d95746e Align report filters and update work session flows 2025-11-19 09:24:30 -03:00
Esdras Renan
4c25f3f83e fix: avoid multiple paginated queries in metrics 2025-11-18 20:08:30 -03:00
Esdras Renan
72a4748a81 feat: enforce visit scheduling ux 2025-11-18 19:59:27 -03:00
Esdras Renan
6473e8d40f feat: enhance visit scheduling and closing flow 2025-11-18 17:42:38 -03:00
Esdras Renan
b707b56ba1 fix: type pagination error metadata 2025-11-18 13:34:31 -03:00
Esdras Renan
499c7f335c Gate Convex crons behind env flags 2025-11-18 10:28:56 -03:00
Esdras Renan
674c62208f Remove hours usage cron/action 2025-11-18 09:34:56 -03:00
Esdras Renan
07a6f101b8 fix: handle Convex InvalidCursor and align backend config 2025-11-17 23:53:43 -03:00
Esdras Renan
36fe4a7943 chore: trigger convex deploy 2025-11-17 16:02:12 -03:00
Esdras Renan
dbee5c28c8 fix: stabilize convex pagination and ci fallback 2025-11-17 14:23:46 -03:00
Esdras Renan
3b0484a9ad feat: aggregate dashboard metrics server-side 2025-11-17 13:48:59 -03:00
Esdras Renan
c3ee23f967 Reduce Convex report memory footprint 2025-11-17 10:53:06 -03:00
Esdras Renan
b721348e19 feat: improve custom fields admin and date filters 2025-11-15 01:51:55 -03:00
Esdras Renan
15d11b6b12 feat: improve reports filters and ticket flows 2025-11-14 19:41:47 -03:00
Esdras Renan
06fdb54480 Fix report filters and zod resolver 2025-11-14 01:25:28 -03:00
Esdras Renan
5b22065609 feat(reports): add date range filters and extend machine reports 2025-11-14 00:59:11 -03:00
Esdras Renan
82875a2252 feat: machine reports with filters and hours 2025-11-13 23:45:24 -03:00
Esdras Renan
52c03ff1cf feat: portal reopen, reports, templates and remote access 2025-11-13 23:22:17 -03:00
Esdras Renan
5f7ef3fd03 fix: avoid double paginated queries 2025-11-12 22:42:45 -03:00
Esdras Renan
f9a72c8154 Fix open ticket pagination and CSAT fallback 2025-11-12 22:24:31 -03:00
Esdras Renan
1ba1f4a63c Fix reports pagination helper and CSAT handling 2025-11-12 22:21:35 -03:00
Esdras Renan
3e4943f79c Optimize Convex queries and stack config 2025-11-12 22:13:50 -03:00
Esdras Renan
ff41a8bd4e Auto-pause internal work during lunch 2025-11-12 17:48:12 -03:00
Esdras Renan
115d4a62e8 feat(agent): self-heal rustdesk remote access 2025-11-11 17:50:09 -03:00
Esdras Renan
308f7b5712 fix(remote-access): allow short-lived revoked token grace 2025-11-11 16:46:54 -03:00
Esdras Renan
da46fa448b feat(convex): add internal url and remote access fixes 2025-11-11 16:06:11 -03:00
Esdras Renan
ef1db284fa Provisiona RustDesk automaticamente 2025-11-11 11:54:46 -03:00
Esdras Renan
561b19cf66 chore: sync staging 2025-11-10 01:57:45 -03:00
Esdras Renan
c5ddd54a3e chore: prep platform improvements 2025-11-09 21:09:38 -03:00
Esdras Renan
a62f3d5283 feat: add SLA category breakdown report 2025-11-08 02:47:39 -03:00
Esdras Renan
6ab8a6ce89 feat: agenda polish, SLA sync, filters 2025-11-08 02:34:43 -03:00
Esdras Renan
7fb6c65d9a Fix form template labels and guard admin auth tables 2025-11-08 00:40:32 -03:00
Esdras Renan
a2f9d4bd1a Improve custom field timeline and toasts 2025-11-07 23:59:16 -03:00
Esdras Renan
07d631de40 feat: integrar credenciais rustdesk aos acessos remotos 2025-11-07 15:39:36 -03:00
Esdras Renan
4079f67fcb feat: padroniza tickets recentes nos dashboards 2025-11-07 14:22:14 -03:00
Esdras Renan
4655c7570a Atualiza dashboards e painel de tickets 2025-11-07 00:56:59 -03:00
Esdras Renan
b94cea2f9a Ajusta placeholders, formulários e widgets 2025-11-06 23:13:41 -03:00
Esdras Renan
343f0c8c64 feat: ensure queue summary widget in dashboards 2025-11-06 17:23:29 -03:00