@@ -65,50 +65,75 @@ export class AppComponent implements OnInit {
6565 * - Any URL with state param containing download: true (OAuth return)
6666 */
6767 private isDownloadFlow ( url : string ) : boolean {
68+ // eslint-disable-next-line no-console
69+ console . debug ( '[AppComponent] isDownloadFlow called with url:' , url ) ;
70+ // eslint-disable-next-line no-console
71+ console . debug ( '[AppComponent] window.location.href:' , window . location . href ) ;
72+
6873 // Direct download page
6974 if ( url . includes ( '/download' ) ) {
75+ // eslint-disable-next-line no-console
76+ console . debug ( '[AppComponent] URL contains /download, returning true' ) ;
7077 return true ;
7178 }
7279
7380 // Parse query parameters from the URL
7481 const queryIndex = url . indexOf ( '?' ) ;
82+ // eslint-disable-next-line no-console
83+ console . debug ( '[AppComponent] queryIndex:' , queryIndex ) ;
7584 if ( queryIndex === - 1 ) {
85+ // eslint-disable-next-line no-console
86+ console . debug ( '[AppComponent] No query string found, returning false' ) ;
7687 return false ;
7788 }
7889
7990 const queryString = url . substring ( queryIndex + 1 ) ;
91+ // eslint-disable-next-line no-console
92+ console . debug ( '[AppComponent] queryString:' , queryString ) ;
8093 const params = new URLSearchParams ( queryString ) ;
8194
8295 // Check callback param for downloadId (Dataverse Globus integration callback)
8396 const callback = params . get ( 'callback' ) ;
97+ // eslint-disable-next-line no-console
98+ console . debug ( '[AppComponent] callback param:' , callback ) ;
8499 if ( callback ) {
85100 try {
86101 const decodedCallback = atob ( callback ) ;
102+ // eslint-disable-next-line no-console
103+ console . debug ( '[AppComponent] decodedCallback:' , decodedCallback ) ;
87104 if ( decodedCallback . includes ( 'downloadId=' ) ) {
88105 // eslint-disable-next-line no-console
89106 console . debug ( '[AppComponent] Download flow detected via callback with downloadId' ) ;
90107 return true ;
91108 }
92- } catch {
93- // Invalid base64, not a download callback
109+ } catch ( e ) {
110+ // eslint-disable-next-line no-console
111+ console . debug ( '[AppComponent] Failed to decode callback as base64:' , e ) ;
94112 }
95113 }
96114
97115 // Check state param for download flag (OAuth return)
98116 const state = params . get ( 'state' ) ;
117+ // eslint-disable-next-line no-console
118+ console . debug ( '[AppComponent] state param:' , state ) ;
99119 if ( state ) {
100120 try {
101121 const loginState = JSON . parse ( state ) ;
122+ // eslint-disable-next-line no-console
123+ console . debug ( '[AppComponent] parsed loginState:' , loginState ) ;
102124 if ( loginState . download ) {
103125 // eslint-disable-next-line no-console
104126 console . debug ( '[AppComponent] Download flow detected via state.download flag' ) ;
105127 return true ;
106128 }
107- } catch {
108- // Invalid JSON, not a valid state
129+ } catch ( e ) {
130+ // eslint-disable-next-line no-console
131+ console . debug ( '[AppComponent] Failed to parse state as JSON:' , e ) ;
109132 }
110133 }
111134
135+ // eslint-disable-next-line no-console
136+ console . debug ( '[AppComponent] No download flow detected, returning false' ) ;
112137 return false ;
113138 }
114139
0 commit comments