summaryrefslogtreecommitdiffstats
path: root/src/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks')
-rw-r--r--src/hooks/useRequests.tsx12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/hooks/useRequests.tsx b/src/hooks/useRequests.tsx
index 2b8393e..5ac70a4 100644
--- a/src/hooks/useRequests.tsx
+++ b/src/hooks/useRequests.tsx
@@ -62,6 +62,7 @@ export interface UseRequests {
62export default function useRequests({ onConnect }: useRequestsProps): UseRequests { 62export default function useRequests({ onConnect }: useRequestsProps): UseRequests {
63 const wsHost = useMemo(getHost, []); 63 const wsHost = useMemo(getHost, []);
64 64
65 const [initialConnection, setInitialConnection] = useState(true);
65 const [requests, setRequests] = useState<RequestPayload[]>([]); 66 const [requests, setRequests] = useState<RequestPayload[]>([]);
66 const [responses, setResponses] = useState<ResponsePayload[]>([]); 67 const [responses, setResponses] = useState<ResponsePayload[]>([]);
67 68
@@ -82,6 +83,7 @@ export default function useRequests({ onConnect }: useRequestsProps): UseRequest
82 } 83 }
83 const onOpen = () => { 84 const onOpen = () => {
84 onConnect(); 85 onConnect();
86 setInitialConnection(false);
85 setReadyState(ws.readyState); 87 setReadyState(ws.readyState);
86 } 88 }
87 const onMessage = ({ data }) => { 89 const onMessage = ({ data }) => {
@@ -89,10 +91,12 @@ export default function useRequests({ onConnect }: useRequestsProps): UseRequest
89 91
90 switch (type) { 92 switch (type) {
91 case 'historic': 93 case 'historic':
92 const requests = (payload as (Request | Response)[]).filter(({ type }) => type === 'request'); 94 if (initialConnection) {
93 const responses = (payload as (Request | Response)[]).filter(({ type }) => type === 'response'); 95 const requests = (payload as (Request | Response)[]).filter(({ type }) => type === 'request');
94 setRequests((rqs) => [...rqs, ...requests.map(({ payload }) => payload as RequestPayload)]); 96 const responses = (payload as (Request | Response)[]).filter(({ type }) => type === 'response');
95 setResponses((rps) => [...rps, ...responses.map(({ payload }) => payload as ResponsePayload)]); 97 setRequests((rqs) => [...rqs, ...requests.map(({ payload }) => payload as RequestPayload)]);
98 setResponses((rps) => [...rps, ...responses.map(({ payload }) => payload as ResponsePayload)]);
99 }
96 break 100 break
97 case 'request': 101 case 'request':
98 setRequests((rqs) => [...rqs, payload as RequestPayload]) 102 setRequests((rqs) => [...rqs, payload as RequestPayload])