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,