@@ -6,6 +6,7 @@ import ChatGPTChatTab
66import ChatTab
77import ComposableArchitecture
88import Dependencies
9+ import Logger
910import Preferences
1011import SuggestionBasic
1112import SuggestionWidget
@@ -337,7 +338,7 @@ public final class GraphicalUserInterfaceController {
337338 self ? . store. send ( . openChatPanel( forceDetach: false , activateThisApp: true ) )
338339 }
339340 }
340- suggestionDependency. onOpenModificationButtonClicked = {
341+ suggestionDependency. onOpenModificationButtonClicked = {
341342 Task {
342343 guard let content = await PseudoCommandHandler ( ) . getEditorContent ( sourceEditor: nil )
343344 else { return }
@@ -382,7 +383,7 @@ extension ChatTabPool {
382383 let info = ChatTabInfo ( id: id, title: " " )
383384 let builder = kind? . builder ?? {
384385 for ext in BuiltinExtensionManager . shared. extensions {
385- guard let tab = ext. chatTabTypes. first ( where: { $0. isDefaultChatTabReplacement } )
386+ guard let tab = ext. chatTabTypes. first ( where: { $0. isDefaultChatTabReplacement } )
386387 else { continue }
387388 return tab. defaultChatBuilder ( )
388389 }
@@ -407,8 +408,13 @@ extension ChatTabPool {
407408 let chatTabTypes = BuiltinExtensionManager . shared. extensions. flatMap ( \. chatTabTypes)
408409 for type in chatTabTypes {
409410 if type. name == data. name {
410- guard let builder = try ? await type. restore ( from: data. data) else { break }
411- return await createTab ( id: data. id, from: builder)
411+ do {
412+ let builder = try await type. restore ( from: data. data)
413+ return await createTab ( id: data. id, from: builder)
414+ } catch {
415+ Logger . service. error ( " Failed to restore chat tab \( data. name) : \( error) " )
416+ break
417+ }
412418 }
413419 }
414420 }
0 commit comments