KamoCRM

Row honors showPresence, and formats a TEXT preview's E.164 sender

Fixkamo-internal
Shipped
26 ஆகஸ்ட், 2026 அன்று 9:30 AM UTC
Author
kamo
Commit
1a2fdfc

Two whole-branch-review findings against this component: - ConversationRow always read **************** directly. Mounted inside the switcher column (a sibling of PresenceProvider/ AvailabilityProvider, not a descendant — see ToolProviders.tsx), both contexts fall back to their safe defaults, so isOnline() there always answers false. Every 1:1 row in the column read "OFFLINE" for a colleague who might well be online, and the group "anyone online" dot never lit. Adds `showPresence` (default true); when false, no status dot and no caption render at all — showing nothing is honest, showing Offline is not. The Interaction Center's own mount is unaffected (prop omitted, defaults true). The better long-term fix — hoisting the presence providers above ToolProviders — is a structural change to app chrome affecting every presence consumer and is deliberately not taken here. - VOIPService sets `lastMessage.senderName` to the raw counterpart E.164 number for an inbound text. The row's title already ran a TEXT row's number through formatPhoneDisplay; the preview prefix did not, so a text row read "+15555550123: on my way" instead of "(555) 555-0123: on my way". Scoped to TEXT only — every other type's senderName is already a display name. Adds this component's first dedicated test file (previously exercised only indirectly via ConversationsPane.test.tsx, which mocks it away) covering both.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing