@@ -14,8 +14,6 @@ import Logging
14
14
struct MainView : View {
15
15
@State private var selection : SidebarSelection ? = . newChat
16
16
@State private var menuSelection : SidebarSelection ? = nil
17
- @State private var showAlert : Bool = false
18
- @State private var alertMessage : String = " "
19
17
@State private var organizedChatModels : [ String : [ ChatModel ] ] = [ : ]
20
18
@State private var isHovering = false
21
19
@State private var alertInfo : AlertInfo ?
@@ -42,7 +40,8 @@ struct MainView: View {
42
40
. navigationTitle ( " " )
43
41
. onChange ( of: backendModel. backend) { _ in
44
42
fetchModels ( )
45
- } . onChange ( of: selection) { newValue in
43
+ }
44
+ . onChange ( of: selection) { newValue in
46
45
if case . chat( let chat) = newValue {
47
46
if !chatManager. chats. contains ( where: { $0. chatId == chat. chatId } ) {
48
47
selection = . newChat
@@ -117,46 +116,27 @@ struct MainView: View {
117
116
}
118
117
119
118
private func handleFetchModelsError( _ error: Error ) {
120
- if let awsError = error as? AWSClientRuntime . AWSServiceError {
121
- let errorType = awsError. typeName ?? " Unknown AWS Error "
122
- var errorMessage = awsError. message ?? " No error message provided "
123
-
124
- if errorType == " ExpiredTokenException " {
125
- errorMessage += " \n Please log in again. "
126
- }
127
-
119
+ let bedrockError = BedrockError ( error: error)
120
+ switch bedrockError {
121
+ case . expiredToken( let message) :
128
122
self . alertInfo = AlertInfo (
129
- title: " \( errorType ) " ,
130
- message: errorMessage
123
+ title: " Expired Token " ,
124
+ message: message ?? " Your AWS credentials have expired. Please log in again. "
131
125
)
132
- } else if let crtError = error as? AwsCommonRuntimeKit . CRTError {
126
+ case . invalidResponse ( let message ) :
133
127
self . alertInfo = AlertInfo (
134
- title: " CRT Error " ,
135
- message: " Code: \( crtError . code ) , Message: \( crtError . message ) "
128
+ title: " Invalid Response " ,
129
+ message: message ?? " The response from Bedrock was invalid. "
136
130
)
137
- } else if let commonRunTimeError = error as? AwsCommonRuntimeKit . CommonRunTimeError {
138
- self . alertInfo = AlertInfo (
139
- title: " CommonRunTime Error " ,
140
- message: " Error: \( commonRunTimeError) "
141
- )
142
- } else {
143
- // 알 수 없는 에러 타입에 대한 더 자세한 정보 제공
131
+ case . unknown( let message) :
144
132
self . alertInfo = AlertInfo (
145
133
title: " Unknown Error " ,
146
- message: " Type: \( type ( of : error ) ) , Description: \( error. localizedDescription ) "
134
+ message: message ?? " An unknown error occurred. "
147
135
)
148
136
}
149
-
150
- // 로깅 추가
137
+ logger. error ( " Fetch Models Error - \( self . alertInfo? . title ?? " Error " ) : \( self . alertInfo? . message ?? " No message " ) " )
151
138
print ( " Error type: \( type ( of: error) ) " )
152
139
print ( " Error description: \( error) " )
153
-
154
- if let alertInfo = self . alertInfo {
155
- logger. error ( " Fetch Models Error - \( alertInfo. title) : \( alertInfo. message) " )
156
- } else {
157
- logger. error ( " Fetch Models Error occurred, but alertInfo is nil " )
158
- }
159
- logger. error ( " Error details: \( String ( describing: error) ) " )
160
140
}
161
141
162
142
private func selectDefaultModel( ) {
0 commit comments