diff --git a/client/src/components/ConversationSettingsFileItem.tsx b/client/src/components/ConversationSettingsFileItem.tsx index 95ebba15445948ff6ecdad9497de46d7c71cc62a..fd23103cc801cc67bdaf03ce8ba094da5de2d271 100644 --- a/client/src/components/ConversationSettingsFileItem.tsx +++ b/client/src/components/ConversationSettingsFileItem.tsx @@ -32,7 +32,7 @@ import MediaViewer from './MediaViewer' interface ConversationSettingsFileItemProps { displayName: string - timeStamp: string + timeStamp: number totalSize: number fileId: string author: string diff --git a/client/src/components/ConversationSummaryList.tsx b/client/src/components/ConversationSummaryList.tsx index 40c44aa4906319ce67c0db69134ab9b2559c1fd1..45f762d15983c0330b487ddd93d01a1c27490095 100644 --- a/client/src/components/ConversationSummaryList.tsx +++ b/client/src/components/ConversationSummaryList.tsx @@ -61,12 +61,7 @@ export const ConversationSummaryList = ({ conversationsSummaries }: Conversation if (conversationsSummaries.some((conversationSummary) => conversationSummary === null)) { return conversationsSummaries } - - return [...conversationsSummaries].sort((a, b) => { - const aTimestamp = a?.lastMessage?.timestamp ? Number(a.lastMessage.timestamp) : 0 - const bTimestamp = b?.lastMessage?.timestamp ? Number(b.lastMessage.timestamp) : 0 - return bTimestamp - aTimestamp - }) + return [...conversationsSummaries].sort((a, b) => b.lastMessage.timestamp - a.lastMessage.timestamp) }, [conversationsSummaries]) return ( diff --git a/client/src/components/MediaViewer.tsx b/client/src/components/MediaViewer.tsx index 26a08bc7cf59309ea7725a0fd1452b0b0155d0f0..f71f1571c848eaf5259681a61ee7201a18ba17ef 100644 --- a/client/src/components/MediaViewer.tsx +++ b/client/src/components/MediaViewer.tsx @@ -39,7 +39,7 @@ interface MediaViewerProps { member?: ConversationMember handleDownload?: () => void type?: string - timeStamp?: string + timeStamp?: number } export default function MediaViewer({ @@ -111,7 +111,7 @@ export default function MediaViewer({ } } - const displayTime = dayjs.unix(Number(timeStamp)) + const displayTime = dayjs.unix(timeStamp || 0) const formattedTime = displayTime.format('YYYY-MM-DD HH:mm') return ( diff --git a/client/src/components/Message.tsx b/client/src/components/Message.tsx index 54391360b2fcf6c5aea24cecebdf52b34bb88c29..51d3c9f6f5aaff6fc333f5daacb87e2bd7347e3d 100644 --- a/client/src/components/Message.tsx +++ b/client/src/components/Message.tsx @@ -778,8 +778,8 @@ const UserMessageRow = memo( const { t } = useTranslation() const previousIsUserMessageType = checkIsUserMessageType(previousMessage?.type) const nextIsUserMessageType = checkIsUserMessageType(nextMessage?.type) - const nextTime = dayjs.unix(Number(nextMessage?.timestamp)) - const sentTime = dayjs.unix(Number(message.timestamp)) + const nextTime = dayjs.unix(nextMessage?.timestamp || 0) + const sentTime = dayjs.unix(message.timestamp) const nextShowsTime = checkShowsTime(nextTime, sentTime) const isFirstOfGroup = showsTime || !previousIsUserMessageType || previousMessage?.author !== message.author const isLastOfGroup = nextShowsTime || !nextIsUserMessageType || message.author !== nextMessage?.author @@ -1388,8 +1388,8 @@ interface MessageProps { } export const MessageRow = memo(({ message, isAccountMessage, author, previousMessage, nextMessage }: MessageProps) => { - const time = dayjs.unix(Number(message.timestamp)) - const previousTime = dayjs.unix(Number(previousMessage?.timestamp)) + const time = dayjs.unix(message.timestamp) + const previousTime = dayjs.unix(previousMessage?.timestamp || 0) const showDate = message?.type === 'initial' || previousTime.year() !== time.year() || previousTime.dayOfYear() !== time.dayOfYear() const showTime = checkShowsTime(time, previousTime) diff --git a/client/src/components/SelectConversationList.tsx b/client/src/components/SelectConversationList.tsx index 4233b49898ab21201e51db660ad46adb4aad6c61..cbc8e61423094cbf00ac6b0f0aa459b932ae7138 100644 --- a/client/src/components/SelectConversationList.tsx +++ b/client/src/components/SelectConversationList.tsx @@ -51,7 +51,7 @@ export const SelectConversationList = ({ if (conversationsSummaries.some((conversationSummary) => conversationSummary === null)) { return conversationsSummaries } - return [...conversationsSummaries].sort((a, b) => Number(b.lastMessage.timestamp) - Number(a.lastMessage.timestamp)) + return [...conversationsSummaries].sort((a, b) => b.lastMessage.timestamp - a.lastMessage.timestamp) }, [conversationsSummaries]) return ( diff --git a/common/src/interfaces/conversation.ts b/common/src/interfaces/conversation.ts index 2e9c6ff83948f7635850606113be9004546f1863..fdf0a7ecdd66d97679bc874ea0fe67c0d2d6b1f1 100644 --- a/common/src/interfaces/conversation.ts +++ b/common/src/interfaces/conversation.ts @@ -37,7 +37,7 @@ export interface Reaction { export interface Message { id: string author: string - timestamp: string + timestamp: number type: | 'application/call-history+json' | 'application/data-transfer+json' diff --git a/server/src/jamid/jamid.ts b/server/src/jamid/jamid.ts index 1b75d7b8f99a87d82780b6081d7609bac4ff64cd..10770a06b22ca1185eca1fe84641e9bd6455c1e9 100644 --- a/server/src/jamid/jamid.ts +++ b/server/src/jamid/jamid.ts @@ -96,7 +96,7 @@ export class Jamid { author: message.body.author, linearizedParent: message.linearizedParent, parents: message.body.parents, - timestamp: message.body.timestamp, + timestamp: message.body.timestamp ? Number(message.body.timestamp) : 0, duration: message.body.duration, displayName: message.body.displayName, sha3sum: message.body.sha3sum,