@@ -7,19 +7,33 @@ import "./styles/studio.css";
77
88trackStudioEvent ( "session_start" ) ;
99
10+ function errorProps ( value : unknown ) : {
11+ error_message : string ;
12+ error_name : string | null ;
13+ stack_trace : string | null ;
14+ } {
15+ if ( value instanceof Error ) {
16+ return {
17+ error_message : value . message ,
18+ error_name : value . name ,
19+ stack_trace : value . stack ?. slice ( 0 , 4000 ) ?? null ,
20+ } ;
21+ }
22+ return { error_message : String ( value ) , error_name : null , stack_trace : null } ;
23+ }
24+
1025window . addEventListener ( "error" , ( event ) => {
1126 trackStudioEvent ( "unhandled_error" , {
27+ ...errorProps ( event . error ) ,
1228 error_message : event . message ,
13- filename : event . filename ?? null ,
14- lineno : event . lineno ?? null ,
15- colno : event . colno ?? null ,
29+ filename : event . filename ,
30+ lineno : event . lineno ,
31+ colno : event . colno ,
1632 } ) ;
1733} ) ;
1834
1935window . addEventListener ( "unhandledrejection" , ( event ) => {
20- trackStudioEvent ( "unhandled_promise_rejection" , {
21- error_message : event . reason instanceof Error ? event . reason . message : String ( event . reason ) ,
22- } ) ;
36+ trackStudioEvent ( "unhandled_promise_rejection" , errorProps ( event . reason ) ) ;
2337} ) ;
2438
2539createRoot ( document . getElementById ( "root" ) ! ) . render (
0 commit comments