fix(web): prevent date parsing sort drop to top of history for real-time messages
This commit is contained in:
@@ -3,10 +3,10 @@ import { api } from "../lib/api.ts";
|
||||
import { type Reaction } from "./message.ts";
|
||||
|
||||
function parseDate(iso: string): number {
|
||||
if (!iso) return 0;
|
||||
if (!iso) return Date.now();
|
||||
const normalized = iso.includes("T") ? iso : iso.replace(" ", "T");
|
||||
const t = new Date(normalized).getTime();
|
||||
return isNaN(t) ? 0 : t;
|
||||
return isNaN(t) ? Date.now() : t;
|
||||
}
|
||||
|
||||
export interface ConversationMember {
|
||||
|
||||
@@ -2,10 +2,10 @@ import { create } from "zustand";
|
||||
import { api } from "../lib/api.ts";
|
||||
|
||||
function parseDate(iso: string): number {
|
||||
if (!iso) return 0;
|
||||
if (!iso) return Date.now();
|
||||
const normalized = iso.includes("T") ? iso : iso.replace(" ", "T");
|
||||
const t = new Date(normalized).getTime();
|
||||
return isNaN(t) ? 0 : t;
|
||||
return isNaN(t) ? Date.now() : t;
|
||||
}
|
||||
|
||||
export interface MessageEmbed {
|
||||
|
||||
@@ -128,7 +128,6 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
||||
return;
|
||||
}
|
||||
|
||||
const addMessage = useMessageStore.getState().addMessage;
|
||||
const updateMessage = useMessageStore.getState().updateMessage;
|
||||
const removeMessage = useMessageStore.getState().removeMessage;
|
||||
const addReaction = useMessageStore.getState().addReaction;
|
||||
@@ -155,7 +154,7 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
||||
} else {
|
||||
const msg = payload as unknown as Message;
|
||||
const normalizedMsg = { ...msg, channel_id: (msg.channel_id || '').toLowerCase() };
|
||||
addMessage(normalizedMsg);
|
||||
useMessageStore.getState().addMessage(normalizedMsg);
|
||||
|
||||
// Desktop notification
|
||||
const currentUserId = useAuthStore.getState().user?.id;
|
||||
|
||||
Reference in New Issue
Block a user