convert createdAt for chat messages to unix timestamp

This commit is contained in:
HF 2022-02-09 18:17:41 +01:00
parent 25169dcf62
commit 3e6f02f48a
3 changed files with 20 additions and 6 deletions

View File

@ -156,10 +156,12 @@ const Chat = ({
channelMessages.map((message) => ((blockedIds.includes(message[3]))
? null : (
<ChatMessage
uid={message[3]}
name={message[0]}
country={message[2]}
msg={message[1]}
country={message[2]}
uid={message[3]}
ts={message[4]}
key={message[5]}
windowId={windowId}
/>
)))

View File

@ -90,7 +90,10 @@ class ChatMessageBuffer {
'uid',
'name',
'flag',
'createdAt',
[
Sequelize.fn('UNIX_TIMESTAMP', Sequelize.col('createdAt')),
'ts',
]
],
where: { cid },
limit,
@ -106,14 +109,14 @@ class ChatMessageBuffer {
uid,
name,
flag,
createdAt,
ts,
} = messagesModel[i];
messages.push([
name,
message,
flag,
uid,
createdAt,
ts,
]);
}
return messages;

View File

@ -24,6 +24,9 @@ const initialState = {
messages: {},
};
// used to give every message a unique incrementing key
let msgId = 0;
export default function chat(
state = initialState,
action,
@ -140,11 +143,13 @@ export default function chat(
if (!state.messages[channel] || !state.channels[channel]) {
return state;
}
const ts = Math.round(Date.now() / 1000);
msgId += 1;
const messages = {
...state.messages,
[channel]: [
...state.messages[channel],
[name, text, country, user],
[name, text, country, user, ts, msgId],
],
};
if (messages[channel].length > MAX_CHAT_MESSAGES) {
@ -169,6 +174,10 @@ export default function chat(
case 'RECEIVE_CHAT_HISTORY': {
const { cid, history } = action;
for (let i = 0; i < history.length; i += 1) {
msgId += 1;
history[i].push(msgId);
}
return {
...state,
messages: {