spent 3h fixing this

This commit is contained in:
Nixyan 2026-01-08 12:12:21 -03:00
parent 0426bf3282
commit f04b76dadc
3 changed files with 14 additions and 23 deletions

View file

@ -136,10 +136,7 @@ export default function DMChannelContent(
setSessionError(null); setSessionError(null);
try { try {
const session = await getSession(otherUser.id, { const session = await getSession(otherUser.id, otherUser.olmAccount);
identityKey: otherUser.olmAccount.identityKey,
oneTimeKeys: otherUser.olmAccount.oneTimeKeys,
});
if (session) { if (session) {
setOlmSession(session); setOlmSession(session);
@ -153,7 +150,7 @@ export default function DMChannelContent(
}; };
loadSession(); loadSession();
}, [isReady, olmAccount, otherUser, password, getSession]) }, [isReady, olmAccount, otherUser, password,])
// Check if OLM is ready // Check if OLM is ready
if (!isReady || !olmAccount) { if (!isReady || !olmAccount) {

View file

@ -276,8 +276,8 @@ export function OlmProvider({
} }
const otk = recipientOlmAccount.oneTimeKeys[0]; const otk = recipientOlmAccount.oneTimeKeys[0];
const Olm = await loadOlm(); const Olm: typeof import("@matrix-org/olm") = await loadOlm();
const newSession = new Olm.Session(); const newSession: Olm.Session = new Olm.Session();
newSession.create_outbound( newSession.create_outbound(
olmAccount!, olmAccount!,

View file

@ -159,12 +159,6 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
if (!currentUserId) { if (!currentUserId) {
console.error("[Socket]: No user ID available"); console.error("[Socket]: No user ID available");
return; return;
} else if (
data.participants.length !== 2 ||
data.participants.some((participant) => participant === currentUserId)
) {
console.error("[Socket]: Invalid DM data, participants:", data.participants, "currentUserId:", currentUserId);
return;
} }
// Extract sender from participants // Extract sender from participants
@ -229,14 +223,14 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
useEffect(() => { useEffect(() => {
if (!olmAccount || !olmIsReady || messageQueueRef.current.length === 0) return; if (!olmAccount || !olmIsReady || messageQueueRef.current.length === 0) return;
console.log(`[Socket]: OLM is now ready, processing ${messageQueueRef.current.length} queued messages`); console.log(`[Socket - processQueue]: OLM is now ready, processing ${messageQueueRef.current.length} queued messages`);
const processQueue = async () => { const processQueue = async () => {
const queue = [...messageQueueRef.current]; const queue = [...messageQueueRef.current];
messageQueueRef.current = []; // Clear queue messageQueueRef.current = []; // Clear queue
for (const data of queue) { for (const data of queue) {
console.log("[Socket]: Processing queued message:", data); console.log("[Socket - processQueue]: Processing queued message:", data);
await processIncomingDM(data); await processIncomingDM(data);
} }
}; };
@ -290,7 +284,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
} }
) { ) {
if (!oldStatus) { if (!oldStatus) {
console.log("🔌 User default status set to online"); console.log("[Socket - setUserDefaultStatus]: User default status set to online");
updateAndRefetchUserStatus("online", false); updateAndRefetchUserStatus("online", false);
return; return;
} }
@ -298,7 +292,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
if (newStatus === "offline") { if (newStatus === "offline") {
updateAndRefetchUserStatus(newStatus, oldStatus.isUserSet); updateAndRefetchUserStatus(newStatus, oldStatus.isUserSet);
} else if (!oldStatus.isUserSet) { } else if (!oldStatus.isUserSet) {
console.log("🔌 User default status set to online"); console.log("[Socket - setUserDefaultStatus]: User default status set to online");
updateAndRefetchUserStatus(newStatus, oldStatus.isUserSet); updateAndRefetchUserStatus(newStatus, oldStatus.isUserSet);
} else { } else {
updateAndRefetchUserStatus(oldStatus.status, oldStatus.isUserSet); updateAndRefetchUserStatus(oldStatus.status, oldStatus.isUserSet);
@ -306,7 +300,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
} }
socket.on("connect", () => { socket.on("connect", () => {
console.log(" Connected to socket - Authentication successful!"); console.log("[Socket - connect]: Connected to socket - Authentication successful!");
setSocketStatus("connected"); setSocketStatus("connected");
updateSocketInfo({ updateSocketInfo({
connectedAt: Date.now(), connectedAt: Date.now(),
@ -329,7 +323,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
}); });
socket.on("connect_error", (err) => { socket.on("connect_error", (err) => {
console.error(" Socket connection error:", err.message); console.error("[Socket - connect_error]: Socket connection error:", err.message);
setUserDefaultStatus("offline", userStatusRef.current); setUserDefaultStatus("offline", userStatusRef.current);
setSocketStatus("error"); setSocketStatus("error");
updateSocketInfo({ updateSocketInfo({
@ -341,7 +335,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
}); });
socket.on("disconnect", (reason) => { socket.on("disconnect", (reason) => {
console.log("🔌 Disconnected from socket:", reason); console.log("[Socket - disconnect]: Disconnected from socket:", reason);
setSocketStatus("disconnected"); setSocketStatus("disconnected");
updateSocketInfo({ updateSocketInfo({
ping: null, ping: null,
@ -355,7 +349,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
}); });
socket.on("reconnect_attempt", (attempt) => { socket.on("reconnect_attempt", (attempt) => {
console.log("🔌 Reconnect attempt:", attempt); console.log("[Socket - reconnect_attempt]: Reconnect attempt:", attempt);
setSocketStatus("connecting"); setSocketStatus("connecting");
updateSocketInfo({ updateSocketInfo({
ping: null, ping: null,
@ -365,7 +359,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
}); });
socket.on("reconnect_error", (error) => { socket.on("reconnect_error", (error) => {
console.error("❌ Reconnect error:", error); console.error("[Socker - reconnect_error]:", error);
setSocketStatus("error"); setSocketStatus("error");
updateSocketInfo({ updateSocketInfo({
ping: null, ping: null,
@ -375,7 +369,7 @@ export function SocketProvider({ children, user, refetchUser }: SocketProviderPr
}); });
socket.on("dm:new", async (data: { content: { type: 0 | 1; body: unknown }, participants: string[] }) => { socket.on("dm:new", async (data: { content: { type: 0 | 1; body: unknown }, participants: string[] }) => {
console.log("🔌 New DM received:", data); console.log("[Socket - dm:new]: New DM received:", data);
// Check if OLM account is loaded // Check if OLM account is loaded
if (!olmAccount) { if (!olmAccount) {