Support customSocketOverride value for websocket. Closes #2225

This commit is contained in:
Gabe Kangas
2022-10-18 20:40:57 -07:00
parent 0c127a65ce
commit e75b20d6ca
3 changed files with 12 additions and 24 deletions

View File

@@ -21,7 +21,7 @@ import {
MessageVisibilityEvent,
SocketEvent,
} from '../../interfaces/socket-events';
import { mergeMeta } from '../../utils/helpers';
import handleConnectedClientInfoMessage from './eventhandlers/connected-client-info-handler';
import ServerStatusService from '../../services/status-service';
import handleNameChangeEvent from './eventhandlers/handleNameChangeEvent';
@@ -148,17 +148,6 @@ export const visibleChatMessagesSelector = selector<ChatMessage[]>({
},
});
// Take a nested object of state metadata and merge it into
// a single flattened node.
function mergeMeta(meta) {
return Object.keys(meta).reduce((acc, key) => {
const value = meta[key];
Object.assign(acc, value);
return acc;
}, {});
}
export const ClientConfigStore: FC = () => {
const [appState, appStateSend, appStateService] = useMachine(appStateModel);
const [currentUser, setCurrentUser] = useRecoilState(currentUserAtom);
@@ -324,7 +313,9 @@ export const ClientConfigStore: FC = () => {
const startChat = async () => {
try {
ws = new WebsocketService(accessToken, '/ws');
const { socketHostOverride } = clientConfig;
const host = socketHostOverride || window.location.toString();
ws = new WebsocketService(accessToken, '/ws', host);
ws.handleMessage = handleMessage;
setWebsocketService(ws);
} catch (error) {