esdrasrenan
4f81f62429
Fix unread badge - increment unreadByMachine when agent sends message
...
The unreadByMachine counter was never being incremented when agents sent
chat messages, causing the badge to always show 0. Now when an agent
(ADMIN/MANAGER/AGENT) posts a message to a ticket with an active chat
session, the counter is incremented properly.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 11:34:47 -03:00
esdrasrenan
9c6f19f9a5
Fix chat permission for machine-linked users
...
Allow COLLABORATOR users who are linked to the ticket's machine
(via assignedUserId or linkedUserIds) to access the chat, not
just the ticket requester.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 03:49:09 -03:00
esdrasrenan
f45ee91804
Fix chat widget UI and allow attachment-only messages
...
- Allow sending messages with only attachments (no text required)
- Change "Chat Ativo" header to just "Chat"
- Replace Headphones icon with MessageCircle for own messages
- Replace PhoneOff icon with XCircle for end chat button
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 03:09:51 -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
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
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
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
b721348e19
feat: improve custom fields admin and date filters
2025-11-15 01:51:55 -03:00
Esdras Renan
52c03ff1cf
feat: portal reopen, reports, templates and remote access
2025-11-13 23:22:17 -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
c5ddd54a3e
chore: prep platform improvements
2025-11-09 21:09:38 -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
b94cea2f9a
Ajusta placeholders, formulários e widgets
2025-11-06 23:13:41 -03:00
Esdras Renan
0f0f367b3a
feat: custom fields improvements
2025-11-06 14:05:51 -03:00
Esdras Renan
9495b54a28
feat: melhorias no vínculo de tickets e exportação
2025-11-06 13:07:01 -03:00
Esdras Renan
fa9efdb5af
fix: resolver avisos de build e tipagem
2025-11-04 21:02:53 -03:00
codex-bot
c2c5707a97
feat(devices,custom-fields,csat,portal):\n- Editor de campos personalizados (inclui multiselect) e exibição no detalhe\n- Campos personalizados disponíveis nas colunas/templates de exportação\n- Move cópia de e-mail para ícone inline abaixo do nome do dispositivo\n- Portal: banner para avaliar último chamado e CSAT no detalhe\n- Tickets list inclui campos de CSAT para detectar pendências
2025-11-04 14:12:21 -03:00
codex-bot
06deb99bcd
feat(export,tickets,forms,emails):\n- Corrige scroll de Dialogs e melhora UI de seleção de colunas (ícones e separador)\n- Ajusta rota/params da exportação em massa e adiciona modal de exportação individual\n- Renomeia 'Chamado padrão' para 'Chamado' e garante visibilidade total para admin/agente\n- Adiciona toggles por empresa/usuário para habilitar Admissão/Desligamento\n- Exibe badge do tipo de solicitação na listagem e no cabeçalho do ticket\n- Prepara notificações por e-mail (comentário público e encerramento) via SMTP\n
2025-11-04 13:41:32 -03:00
codex-bot
a8333c010f
fix(reports): remove truncation cap in range collectors to avoid dropped records
...
feat(calendar): migrate to react-day-picker v9 and polish UI
- Update classNames and CSS import (style.css)
- Custom Dropdown via shadcn Select
- Nav arrows aligned with caption (around)
- Today highlight with cyan tone, weekdays in sentence case
- Wider layout to avoid overflow; remove inner wrapper
chore(tickets): make 'Patrimônio do computador (se houver)' optional
- Backend hotfix to enforce optional + label on existing tenants
- Hide required asterisk for this field in portal/new-ticket
refactor(new-ticket): remove channel dropdown from admin/agent flow
- Keep default channel as MANUAL
feat(ux): simplify requester section and enlarge combobox trigger
- Remove RequesterPreview redundancy; show company badge in trigger
2025-11-04 11:51:08 -03:00
codex-bot
e0ef66555d
feat: dispositivos e ajustes de csat e relatórios
2025-11-03 19:29:50 -03:00
Esdras Renan
714b199879
feat: export reports as xlsx and add machine inventory
2025-10-27 18:00:28 -03:00
Esdras Renan
f3a7045691
feat: cadastro manual de acesso remoto e ajustes de horas
2025-10-24 23:52:58 -03:00
codex-bot
296e02cf0c
Normalize ticket mentions in editor and server
2025-10-24 16:35:55 -03:00
Esdras Renan
37c32149a6
feat: improve requester combobox and admin cleanup flows
2025-10-24 00:45:41 -03:00
codex-bot
4aee7d7719
Permite selecionar solicitante e empresa nos tickets
2025-10-23 17:47:23 -03:00
Esdras Renan
b0f57009ac
feat: link tickets in comments and align admin sidebars
2025-10-23 00:46:50 -03:00
Esdras Renan
3972f66c92
feat: enforce ticket ownership during work sessions
2025-10-20 19:46:20 -03:00
codex-bot
0dd0e67458
feat(filters): usar filtro por responsável no servidor (assigneeId)\n\nci: tocar convex/tickets para forçar deploy das funções
2025-10-20 16:07:54 -03:00
codex-bot
5535ba81e6
feat: status + queue updates, filters e UI
...
- Status renomeados e cores (Em andamento azul, Pausado amarelo)
- Transições automáticas: iniciar=Em andamento, pausar=Pausado
- Fila padrão: Chamados ao criar ticket
- Admin/Empresas: renomeia ‘Slug’ → ‘Apelido’ + mensagens
- Dashboard: últimos tickets priorizam sem responsável (mais antigos)
- Tickets: filtro por responsável + salvar filtro por usuário
- Encerrar ticket: adiciona botão ‘Cancelar’
- Strings atualizadas (PDF, relatórios, badges)
2025-10-20 14:57:22 -03:00
Esdras Renan
216feca971
feat(tickets): preserve requester/assignee/company snapshots + timeline fallbacks; chore: add requester index\n\n- Add requesterSnapshot, assigneeSnapshot, companySnapshot to tickets\n- Use snapshots as fallback in list/get/play\n- Update snapshots on assignee changes/startWork\n- Preserve snapshots before deleting users/companies\n- Add index tickets.by_tenant_requester\n- Add migrations.backfillTicketSnapshots\n\nchore(convex): upgrade to ^1.28.0 and run codegen\nchore(next): upgrade Next.js to 15.5.6 and update React/eslint-config-next\nfix: remove any and lint warnings; tighten types across API routes and components\ndocs: add docs/ticket-snapshots.md
2025-10-20 10:13:37 -03:00
Esdras Renan
090ebb9607
fix: align ticket timers to server clock
2025-10-19 20:27:11 -03:00
Esdras Renan
63d6a65334
chore: snapshot comment authors before user deletion
2025-10-19 14:30:59 -03:00
Esdras Renan
846e575637
fix: harden machine session fallback and clean lint
2025-10-19 03:16:50 -03:00
Esdras Renan
7c025a0398
Allow managers to comment without assignee; keep assignee requirement for admin/agent; reflect in UI
2025-10-19 02:45:53 -03:00
Esdras Renan
b468c6c9e7
Enforce assignee-required commenting for staff; UI disables commenting until responsible is set; poll machine session for live deactivation; desktop deactivation screen update
2025-10-19 02:34:05 -03:00
Esdras Renan
68ace0a858
refactor: quality workflow, docs, tests
2025-10-16 19:14:46 -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
2cba553efa
Implement company provisioning codes and session tweaks
2025-10-15 20:45:25 -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
7d6f3bea01
feat: improve ticket export and navigation
2025-10-13 00:08:18 -03:00
Esdras Renan
b5fd920efd
docs: registrar fluxo do updater e atualizar chaves
2025-10-12 04:06:29 -03:00
Esdras Renan
ef25cbe799
Ajusta timeline, comentários internos e contadores de trabalho
2025-10-07 22:12:18 -03:00
Esdras Renan
5b14ecbe0f
convex: mover action de envio de alertas para arquivo Node ('alerts_actions.ts' com 'use node'); remover import de 'tls' do módulo de queries/mutations; ajustar cron para usar api.alerts_actions; remover tentativa de envio de e-mail no mutation addComment (evitar Node API em isolate).
2025-10-07 17:04:38 -03:00