chore: Upgrade socket.io (#3697)

* Upgrade wip

* tsc

* tsc

* fix: Missing authenticated message
This commit is contained in:
Tom Moor
2022-07-16 14:02:03 +01:00
committed by GitHub
parent 96d1c4997b
commit de18196fd8
7 changed files with 164 additions and 321 deletions

View File

@@ -3,23 +3,17 @@ import { find } from "lodash";
import { observable } from "mobx";
import { observer } from "mobx-react";
import * as React from "react";
import io from "socket.io-client";
import { io, Socket } from "socket.io-client";
import RootStore from "~/stores/RootStore";
import withStores from "~/components/withStores";
import { AuthorizationError, NotFoundError } from "~/utils/errors";
import { getVisibilityListener, getPageVisible } from "~/utils/pageVisibility";
type SocketWithAuthentication = {
type SocketWithAuthentication = Socket & {
authenticated?: boolean;
disconnected: boolean;
disconnect: () => void;
close: () => void;
on: (event: string, callback: (data: any) => void) => void;
emit: (event: string, data: any) => void;
io: any;
};
export const SocketContext: any = React.createContext<SocketWithAuthentication | null>(
export const SocketContext = React.createContext<SocketWithAuthentication | null>(
null
);
@@ -99,7 +93,7 @@ class SocketProvider extends React.Component<Props> {
// on reconnection, reset the transports option, as the Websocket
// connection may have failed (caused by proxy, firewall, browser, ...)
this.socket.on("reconnect_attempt", () => {
this.socket.io.on("reconnect_attempt", () => {
if (this.socket) {
this.socket.io.opts.transports = auth?.team?.domain
? ["websocket"]