convert createdAt for chat messages to unix timestamp
This commit is contained in:
parent
25169dcf62
commit
3e6f02f48a
|
@ -156,10 +156,12 @@ const Chat = ({
|
||||||
channelMessages.map((message) => ((blockedIds.includes(message[3]))
|
channelMessages.map((message) => ((blockedIds.includes(message[3]))
|
||||||
? null : (
|
? null : (
|
||||||
<ChatMessage
|
<ChatMessage
|
||||||
uid={message[3]}
|
|
||||||
name={message[0]}
|
name={message[0]}
|
||||||
country={message[2]}
|
|
||||||
msg={message[1]}
|
msg={message[1]}
|
||||||
|
country={message[2]}
|
||||||
|
uid={message[3]}
|
||||||
|
ts={message[4]}
|
||||||
|
key={message[5]}
|
||||||
windowId={windowId}
|
windowId={windowId}
|
||||||
/>
|
/>
|
||||||
)))
|
)))
|
||||||
|
|
|
@ -90,7 +90,10 @@ class ChatMessageBuffer {
|
||||||
'uid',
|
'uid',
|
||||||
'name',
|
'name',
|
||||||
'flag',
|
'flag',
|
||||||
'createdAt',
|
[
|
||||||
|
Sequelize.fn('UNIX_TIMESTAMP', Sequelize.col('createdAt')),
|
||||||
|
'ts',
|
||||||
|
]
|
||||||
],
|
],
|
||||||
where: { cid },
|
where: { cid },
|
||||||
limit,
|
limit,
|
||||||
|
@ -106,14 +109,14 @@ class ChatMessageBuffer {
|
||||||
uid,
|
uid,
|
||||||
name,
|
name,
|
||||||
flag,
|
flag,
|
||||||
createdAt,
|
ts,
|
||||||
} = messagesModel[i];
|
} = messagesModel[i];
|
||||||
messages.push([
|
messages.push([
|
||||||
name,
|
name,
|
||||||
message,
|
message,
|
||||||
flag,
|
flag,
|
||||||
uid,
|
uid,
|
||||||
createdAt,
|
ts,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
return messages;
|
return messages;
|
||||||
|
|
|
@ -24,6 +24,9 @@ const initialState = {
|
||||||
messages: {},
|
messages: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// used to give every message a unique incrementing key
|
||||||
|
let msgId = 0;
|
||||||
|
|
||||||
export default function chat(
|
export default function chat(
|
||||||
state = initialState,
|
state = initialState,
|
||||||
action,
|
action,
|
||||||
|
@ -140,11 +143,13 @@ export default function chat(
|
||||||
if (!state.messages[channel] || !state.channels[channel]) {
|
if (!state.messages[channel] || !state.channels[channel]) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
const ts = Math.round(Date.now() / 1000);
|
||||||
|
msgId += 1;
|
||||||
const messages = {
|
const messages = {
|
||||||
...state.messages,
|
...state.messages,
|
||||||
[channel]: [
|
[channel]: [
|
||||||
...state.messages[channel],
|
...state.messages[channel],
|
||||||
[name, text, country, user],
|
[name, text, country, user, ts, msgId],
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
if (messages[channel].length > MAX_CHAT_MESSAGES) {
|
if (messages[channel].length > MAX_CHAT_MESSAGES) {
|
||||||
|
@ -169,6 +174,10 @@ export default function chat(
|
||||||
|
|
||||||
case 'RECEIVE_CHAT_HISTORY': {
|
case 'RECEIVE_CHAT_HISTORY': {
|
||||||
const { cid, history } = action;
|
const { cid, history } = action;
|
||||||
|
for (let i = 0; i < history.length; i += 1) {
|
||||||
|
msgId += 1;
|
||||||
|
history[i].push(msgId);
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
messages: {
|
messages: {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user