iachat/app/javascript/dashboard/components
Rodribm10 6fa2f621fa feat(retention): UI layer — badge, filters, cohort matrix, KPI dashboard
- RetentionSummaryBadge in the "Previous conversations" sidebar:
  tiered status (First contact / Active / Recurring / Sleeping /
  At risk / Inactive) + counts of interactions, one-shots, Pix.

- Retention tab in Captain Reports: KpiCards, FlowCard, CohortMatrix
  (12x13 heatmap with CSV export).

- Five new filters on the contacts list: recurring, last interaction,
  days since, interactions count, reservations paid.

- Full pt_BR + en i18n under CAPTAIN_REPORTS.RETENTION.*

- Spec for InteractionCalculatorService covering gap behavior,
  one-shot classification, internal-label exclusion, multi-conversation
  grouping across the 30h window.

- Docs: docs/captain-retention-indicators.md with business rules,
  column reference, endpoint shape, and backup SQL queries.
2026-04-22 10:30:19 -03:00
..
Accordion chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
app
auth
base
buttons feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot fix: remove enterprise-only restriction from Captain in self-hosted 2026-02-25 18:58:57 -03:00
table
ui feat: Refactor reports filters (#13443) 2026-02-06 18:22:30 +05:30
widgets feat(retention): UI layer — badge, filters, cohort matrix, KPI dashboard 2026-04-22 10:30:19 -03:00
ChannelSelector.vue
ChatList.vue feat: Allow removing labels via conversation context menu (#13525) 2026-02-17 13:30:55 +05:30
ChatListHeader.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Code.vue
ConversationItem.vue feat: Allow removing labels via conversation context menu (#13525) 2026-02-17 13:30:55 +05:30
CustomAttribute.vue
CustomBrandPolicyWrapper.vue
CustomSnoozeModal.vue
FormSection.vue
index.js
IntersectionObserver.vue
Modal.vue
ModalHeader.vue
NetworkNotification.vue
policy.vue
SettingsSection.vue
Snackbar.vue
SnackbarContainer.vue