Show draftTimestamp in left pane preview

This commit is contained in:
trevor-signal
2025-10-29 15:57:44 -04:00
committed by GitHub
parent 1f7ea7d088
commit d1e6087488
6 changed files with 15 additions and 6 deletions
+1
View File
@@ -478,6 +478,7 @@ export function ConversationList({
'badges',
'color',
'draftPreview',
'draftTimestamp',
'groupId',
'hasAvatar',
'id',
@@ -33,6 +33,7 @@ export type PropsData = Pick<
| 'badges'
| 'color'
| 'draftPreview'
| 'draftTimestamp'
| 'groupId'
| 'hasAvatar'
| 'id'
@@ -82,6 +83,7 @@ export const ConversationListItem: FunctionComponent<Props> = React.memo(
buttonAriaLabel,
color,
draftPreview,
draftTimestamp,
groupId,
hasAvatar,
i18n,
@@ -131,6 +133,7 @@ export const ConversationListItem: FunctionComponent<Props> = React.memo(
</>
);
let headerDate: number | undefined = lastUpdated;
let messageText: ReactNode = null;
let messageStatusIcon: ReactNode = null;
@@ -167,6 +170,7 @@ export const ConversationListItem: FunctionComponent<Props> = React.memo(
/>
</>
);
headerDate = draftTimestamp;
} else if (lastMessage?.deletedForEveryone) {
messageText = (
<span className={`${MESSAGE_TEXT_CLASS_NAME}__deleted-for-everyone`}>
@@ -216,7 +220,7 @@ export const ConversationListItem: FunctionComponent<Props> = React.memo(
conversationType={type}
groupId={groupId}
hasAvatar={hasAvatar}
headerDate={lastUpdated}
headerDate={headerDate}
headerName={headerName}
i18n={i18n}
id={id}
-1
View File
@@ -860,7 +860,6 @@ function addAttachment(
active_at: activeAt,
draftChanged: false,
draftTimestamp: now,
timestamp: now,
});
}
+1 -2
View File
@@ -419,6 +419,7 @@ export type ConversationType = ReadonlyDeep<
draftBodyRanges?: DraftBodyRanges;
// Summary for the left pane
draftPreview?: DraftPreviewType;
draftTimestamp?: number;
sharedGroupNames: ReadonlyArray<string>;
groupDescription?: string;
@@ -4980,8 +4981,6 @@ function onConversationClosed(
active_at: activeAt,
draftChanged: false,
draftTimestamp: now,
timestamp: now,
lastMessageReceivedAtMs: now,
});
} else {
log.info(`${logId}: clearing draft info`);
+7 -2
View File
@@ -324,8 +324,13 @@ const collator = new Intl.Collator();
export const _getConversationComparator = () => {
return (left: ConversationType, right: ConversationType): number => {
// These two fields can be sorted with each other; they are timestamps
const leftTimestamp = left.lastMessageReceivedAtMs || left.timestamp;
const rightTimestamp = right.lastMessageReceivedAtMs || right.timestamp;
const leftTimestamp = left.shouldShowDraft
? left.draftTimestamp
: left.lastMessageReceivedAtMs || left.timestamp;
const rightTimestamp = right.shouldShowDraft
? right.draftTimestamp
: right.lastMessageReceivedAtMs || right.timestamp;
if (leftTimestamp && !rightTimestamp) {
return -1;
}
+1
View File
@@ -186,6 +186,7 @@ export function getConversation(model: ConversationModel): ConversationType {
draftBodyRanges: attributes.draftBodyRanges,
draftPreview,
draftText,
draftTimestamp: dropNull(draftTimestamp),
draftEditMessage,
familyName: attributes.nicknameFamilyName ?? attributes.profileFamilyName,
firstName: attributes.nicknameGivenName ?? attributes.profileName,