gigafibre-fsm/apps/ops/src/components/shared
louispaulb 08069ec0dc feat(inbox): show the agent's real name as sender + cleaner Gmail-style thread
Sender identity on outbound:
- Replies/new emails now go out as e.g. "Gilles Drolet" <support@targo.ca> instead
  of the generic alias name "Service TARGO". The name is derived from the agent's SSO
  email (gilles.drolet@ -> "Gilles Drolet"); the ADDRESS stays the monitored alias so
  replies still land in the shared inbox. Verified: Gmail honors the custom display
  name on the send-as alias (sent From header = "Gilles Drolet <support@targo.ca>").
- gmail.sendFrom() exported; conversation.js agentSendFrom() builds the From from the
  stamped msg.agent (replies) / x-authentik-email (new sends via email-new).

UI cleanup (space + clarity, Gmail-style):
- One thin separator line between messages; removed the rounded gray card box around
  emails (.email-card flat), the email-card-head bar, and the blue expanded-head
  highlight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 07:15:23 -04:00
..
detail-sections feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
ConversationPanel.vue feat(inbox): show the agent's real name as sender + cleaner Gmail-style thread 2026-06-15 07:15:23 -04:00
CreateInvoiceModal.vue refactor: reduce token count, DRY code, consolidate docs 2026-04-13 08:39:58 -04:00
DepartmentBoard.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
DetailModal.vue feat(ops): Service Contract detail view + sub-delete redirects there 2026-04-23 14:46:34 -04:00
InlineField.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
InterveneDialog.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
MessageList.vue feat(inbox+historique): sender-identity fix, single-source taxonomy, dispatch history & leaderboards 2026-06-15 06:11:47 -04:00
NewTicketDialog.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
OrchestratorDialog.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
OutageAlertsPanel.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
OutboxPanel.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
PipelineBoard.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
ProjectWizard.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
ReaderStack.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
RecurrenceSelector.vue feat: dispatch planning mode, offer pool, shared presets, recurrence selector 2026-04-08 22:44:18 -04:00
ServiceStatusDialog.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
SkillSelect.vue Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) 2026-06-04 11:57:58 -04:00
TagEditor.vue roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage 2026-06-05 15:50:17 -04:00
TaskNode.vue fix(ops/TaskNode): drop credentials:'include' on job-delete fetch 2026-04-23 10:57:57 -04:00
TechSelect.vue Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) 2026-06-04 11:57:58 -04:00
UnifiedCreateModal.vue refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables 2026-04-08 17:38:38 -04:00