@@ -833,8 +833,24 @@ <h2 class="text-xl font-semibold text-[#E5E7EB] flex items-center gap-3">
833833 } ) ;
834834
835835 if ( ! response . ok ) {
836- const error = await response . json ( ) . catch ( ( ) => ( { error : 'Failed to start import' } ) ) ;
837- throw new Error ( error . error || 'Failed to start import' ) ;
836+ const errorData = await response . json ( ) . catch ( ( ) => ( { message : 'Failed to start import' } ) ) ;
837+ // Extract error message from various possible formats
838+ // Handle nested error object: {"error": {"message": "...", "code": 500}}
839+ let errorMessage = 'Failed to start import ';
840+ if ( errorData . error ) {
841+ if ( typeof errorData . error === 'object' && errorData . error . message ) {
842+ errorMessage = errorData . error . message ;
843+ } else if ( typeof errorData . error === 'string ') {
844+ errorMessage = errorData . error ;
845+ }
846+ } else if ( errorData . message ) {
847+ errorMessage = errorData . message ;
848+ } else if ( errorData . Error ) {
849+ errorMessage = errorData . Error ;
850+ } else {
851+ errorMessage = JSON . stringify ( errorData ) ;
852+ }
853+ throw new Error ( errorMessage ) ;
838854 }
839855
840856 const result = await response . json ( ) ;
@@ -1053,6 +1069,27 @@ <h2 class="text-xl font-semibold text-[#E5E7EB] flex items-center gap-3">
10531069 body : yamlContent
10541070 } ) ;
10551071
1072+ if ( ! response . ok ) {
1073+ const errorData = await response . json ( ) . catch ( ( ) => ( { message : 'Failed to save configuration' } ) ) ;
1074+ // Extract error message from various possible formats
1075+ // Handle nested error object: {"error": {"message": "...", "code": 500}}
1076+ let errorMessage = 'Failed to save configuration' ;
1077+ if ( errorData . error ) {
1078+ if ( typeof errorData . error === 'object' && errorData . error . message ) {
1079+ errorMessage = errorData . error . message ;
1080+ } else if ( typeof errorData . error === 'string' ) {
1081+ errorMessage = errorData . error ;
1082+ }
1083+ } else if ( errorData . message ) {
1084+ errorMessage = errorData . message ;
1085+ } else if ( errorData . Error ) {
1086+ errorMessage = errorData . Error ;
1087+ } else {
1088+ errorMessage = JSON . stringify ( errorData ) ;
1089+ }
1090+ throw new Error ( errorMessage ) ;
1091+ }
1092+
10561093 const result = await response . json ( ) ;
10571094
10581095 if ( result . success ) {
@@ -1063,7 +1100,8 @@ <h2 class="text-xl font-semibold text-[#E5E7EB] flex items-center gap-3">
10631100 } , 2000 ) ;
10641101 }
10651102 } else {
1066- this . showAlert ( 'error' , result . error || 'Failed to save configuration' ) ;
1103+ const errorMessage = result . message || result . error || result . Error || 'Failed to save configuration' ;
1104+ this . showAlert ( 'error' , errorMessage ) ;
10671105 }
10681106 } catch ( error ) {
10691107 this . showAlert ( 'error' , 'Failed to save: ' + error . message ) ;
0 commit comments