sync: all server-side fixes and features
This commit is contained in:
@@ -49,11 +49,11 @@ function extractServer(payload: UnknownPayload): Server | null {
|
|||||||
return payload.server as unknown as Server;
|
return payload.server as unknown as Server;
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractIds(payload: UnknownPayload): { channelId: string; messageId: string } | null {
|
function extractIds(payload: UnknownPayload): { channel_id: string; message_id: string } | null {
|
||||||
if (typeof payload.channel_id !== 'string' || typeof payload.message_id !== 'string') {
|
if (typeof payload.channel_id !== 'string' || typeof payload.message_id !== 'string') {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return { channelId: payload.channel_id, messageId: payload.message_id };
|
return { channel_id: payload.channel_id, message_id: payload.message_id };
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractChannelId(payload: UnknownPayload): string | null {
|
function extractChannelId(payload: UnknownPayload): string | null {
|
||||||
@@ -89,8 +89,6 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
socket.onopen = () => {
|
socket.onopen = () => {
|
||||||
// Send auth token as the first message frame instead of a URL param.
|
|
||||||
// This keeps the token out of server logs, browser history, and Referer headers.
|
|
||||||
socket.send(JSON.stringify({ token }));
|
socket.send(JSON.stringify({ token }));
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,7 +100,6 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Server sends {"type":"ready"} after successful auth.
|
|
||||||
if (data.type === 'ready') {
|
if (data.type === 'ready') {
|
||||||
set({ connected: true });
|
set({ connected: true });
|
||||||
reconnectDelay = 1000;
|
reconnectDelay = 1000;
|
||||||
@@ -110,7 +107,6 @@ export const useWebSocketStore = create<WebSocketState>((set, get) => ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (data.type === 'error') {
|
if (data.type === 'error') {
|
||||||
// Auth failed or server sent an error. Close and don't reconnect.
|
|
||||||
console.error('ws error:', data);
|
console.error('ws error:', data);
|
||||||
socket.close();
|
socket.close();
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user