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

Fixkamo-internal
Ya
26 Agosti 2026, 09:30 UTC
Mwandishi
kamo
Ahadi ya
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.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei