Skip to content

Commit 78651fa

Browse files
committed
fix: multiple custom transport cleanup
1 parent 5c9f2dc commit 78651fa

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/containers/Inspector.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ const Inspector: React.FC<IProps> = (props) => {
207207

208208
useEffect(() => {
209209
if (selectedTransport !== undefined) {
210-
setTransport(selectedTransport!);
210+
setTransport(selectedTransport);
211211
const s: IWebTransport = selectedTransport as IWebTransport;
212212
if (s.schema !== undefined && s.schema !== true && s.schema !== false) {
213213
setTransportOptions((s.schema.examples as ExampleObject[])[0]);

src/hooks/useTransport.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const getTransportFromType = async (
2828
): Promise<Transport> => {
2929
let localTransport: any;
3030
const localTransportType = transports.find((value) => {
31-
return value.type === transport.type;
31+
return value.type === transport.type && value.name === transport.name;
3232
});
3333
if (localTransportType?.type === "websocket") {
3434
localTransport = new WebSocketTransport(uri);
@@ -74,6 +74,7 @@ const getTransportFromType = async (
7474
}
7575
public close() {
7676
intermediateTransport.unsubscribe();
77+
intermediateTransport.close();
7778
return intermediateTransport.sendData({
7879
internalID: 0,
7980
request: {
@@ -119,6 +120,10 @@ const useTransport: TUseTransport = (transports, url, defaultTransportType, tran
119120
return localTransport.connect().then(() => {
120121
setTransportConnected(true);
121122
setTransport(localTransport);
123+
}).catch((e) => {
124+
localTransport.unsubscribe()
125+
localTransport.close();
126+
throw e;
122127
});
123128
};
124129

0 commit comments

Comments
 (0)