1
1
import { FC , PropsWithChildren , useCallback , useEffect , useState } from "react" ;
2
2
import useToast from "../shared/hooks/useToast" ;
3
3
import { ErrorMessage , messageComparator } from "../../pages/room/errorMessage" ;
4
- import { useClient } from "../../fishjam" ;
4
+ import { PeerMetadata , TrackMetadata , useClient } from "../../fishjam" ;
5
5
import useEffectOnChange from "../shared/hooks/useEffectOnChange" ;
6
+ import { MessageEvents } from "@fishjam-dev/react-client" ;
6
7
7
8
export const StreamingErrorBoundary : FC < PropsWithChildren > = ( { children } ) => {
8
9
const { addToast } = useToast ( ) ;
@@ -23,36 +24,55 @@ export const StreamingErrorBoundary: FC<PropsWithChildren> = ({ children }) => {
23
24
useEffect ( ( ) => {
24
25
if ( ! client ) return ;
25
26
26
- const onSocketError = ( _ : Event ) => {
27
+ const onSocketError : MessageEvents < PeerMetadata , TrackMetadata > [ "socketError" ] = ( error ) => {
28
+ console . error ( "onSocketError" ) ;
29
+ console . error ( error ) ;
27
30
handleError ( `Socket error occurred.` , "onSocketError" ) ;
28
31
} ;
29
32
30
- const onConnectionError = ( message : string ) => {
33
+ const onConnectionError : MessageEvents < PeerMetadata , TrackMetadata > [ "connectionError" ] = ( message : string ) => {
34
+ console . error ( "onConnectionError" ) ;
35
+ console . error ( message ) ;
31
36
handleError ( `Connection error occurred. ${ message ?? "" } ` ) ;
32
37
} ;
33
- const onJoinError = ( _ : unknown ) => {
38
+
39
+ const onJoinError : MessageEvents < PeerMetadata , TrackMetadata > [ "joinError" ] = ( error ) => {
40
+ console . error ( "onJoinError" ) ;
41
+ console . error ( error ) ;
34
42
handleError ( `Failed to join the room` ) ;
35
43
} ;
36
- const onAuthError = ( ) => {
44
+
45
+ const onAuthError : MessageEvents < PeerMetadata , TrackMetadata > [ "authError" ] = ( error ) => {
46
+ console . error ( "authError" ) ;
47
+ console . error ( error ) ;
37
48
handleError ( `Socket error occurred.` , "onAuthError" ) ;
38
49
} ;
39
50
40
- const onSocketClose = ( _ : Event ) => {
51
+ const onSocketClose : MessageEvents < PeerMetadata , TrackMetadata > [ "socketClose" ] = ( error ) => {
52
+ console . error ( "socketClose" ) ;
53
+ console . error ( error ) ;
41
54
handleError ( `Signaling socket closed.` , "onSocketClose" ) ;
42
55
} ;
43
56
57
+ const error = ( error : any ) => {
58
+ console . error ( "error" ) ;
59
+ console . error ( error ) ;
60
+ } ;
61
+
44
62
client . on ( "socketError" , onSocketError ) ;
45
63
client . on ( "connectionError" , onConnectionError ) ;
46
64
client . on ( "joinError" , onJoinError ) ;
47
65
client . on ( "authError" , onAuthError ) ;
48
66
client . on ( "socketClose" , onSocketClose ) ;
67
+ client . on ( "error" , error ) ;
49
68
50
69
return ( ) => {
51
70
client . off ( "socketError" , onSocketError ) ;
52
71
client . off ( "connectionError" , onConnectionError ) ;
53
72
client . off ( "joinError" , onJoinError ) ;
54
73
client . off ( "authError" , onAuthError ) ;
55
74
client . off ( "socketClose" , onSocketClose ) ;
75
+ client . off ( "error" , error ) ;
56
76
} ;
57
77
} , [ client , handleError ] ) ;
58
78
0 commit comments