Fix conversation view from getting stale data

This commit is contained in:
Jamie Kyle 2025-05-02 11:14:43 -07:00 committed by GitHub
commit 4cc088c79e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 41 additions and 40 deletions

View file

@ -6,6 +6,7 @@ import type { LocalizerType } from '../types/I18N';
import type { NavTabPanelProps } from './NavTabs';
import { WhatsNewLink } from './WhatsNewLink';
import type { UnreadStats } from '../util/countUnreadStats';
import type { SmartConversationViewProps } from '../state/smart/ConversationView';
export type ChatsTabProps = Readonly<{
otherTabsUnreadStats: UnreadStats;
@ -15,7 +16,7 @@ export type ChatsTabProps = Readonly<{
hasFailedStorySends: boolean;
navTabsCollapsed: boolean;
onToggleNavTabsCollapse: (navTabsCollapsed: boolean) => void;
renderConversationView: () => JSX.Element;
renderConversationView: (props: SmartConversationViewProps) => JSX.Element;
renderLeftPane: (props: NavTabPanelProps) => JSX.Element;
renderMiniPlayer: (options: { shouldFlow: boolean }) => JSX.Element;
selectedConversationId: string | undefined;
@ -51,10 +52,12 @@ export function ChatsTab({
<div id="toast" />
{selectedConversationId ? (
<div
// Use `key` to force the tree to fully re-mount
key={selectedConversationId}
className="Inbox__conversation"
id={`conversation-${selectedConversationId}`}
>
{renderConversationView()}
{renderConversationView({ selectedConversationId })}
</div>
) : (
<div className="Inbox__no-conversation-open">