Reduce redundant WHOISTHIS load

This commit is contained in:
MeowcaTheoRange 2024-05-09 19:25:16 -05:00
parent 0a29264f53
commit 6e560d8bba

View file

@ -120,6 +120,7 @@ export default function Home() {
let Message = useRef<(message:MessageType) => React.ReactNode>(() => <></>);
const [ affectedByUpdate, forceUpdate ] = useState({});
const externCachedUsers = useRef(new Map());
const externCacheRows = useRef(new Map());
/* END_SECT LHUA; */
@ -185,8 +186,8 @@ export default function Home() {
user = usersRef.current.find(x => x.id == message.user);
if (user == null)
user = externCachedUsers.current.get(message.user);
if (user == null) {
new Promise((res, rej) => {
if (user == null && !externCacheRows.current.has(message.user)) {
externCacheRows.current.set(message.user, new Promise((res, rej) => {
socket.emit('SIG_CHAT_WHOISTHIS', { id: message.user }, ({ type, spec, data }:Res) => {
if (type.includes("ERR"))
rej(`${type} - ${spec}`);
@ -195,8 +196,9 @@ export default function Home() {
res("");
forceUpdate({});
}
externCacheRows.current.delete(message.user);
});
});
}));
}
const canDelete = whoamiRef.current.admin || whoamiRef.current.id == message.user;
const timeSent = new Date(message.timestamp * 1000).toLocaleString();