File tree Expand file tree Collapse file tree
Core/Sources/ChatGPTChatTab Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -74,6 +74,7 @@ struct Chat: ReducerProtocol {
7474 case binding( BindingAction < State > )
7575
7676 case appear
77+ case refresh
7778 case sendButtonTapped
7879 case returnButtonTapped
7980 case stopRespondingButtonTapped
@@ -132,6 +133,12 @@ struct Chat: ReducerProtocol {
132133 await send ( . systemPromptChanged)
133134 await send ( . extraSystemPromptChanged)
134135 await send ( . focusOnTextField)
136+ await send ( . refresh)
137+ }
138+
139+ case . refresh:
140+ return . run { send in
141+ await send ( . chatMenu( . refresh) )
135142 }
136143
137144 case . sendButtonTapped:
@@ -376,6 +383,7 @@ struct ChatMenu: ReducerProtocol {
376383
377384 enum Action : Equatable {
378385 case appear
386+ case refresh
379387 case resetPromptButtonTapped
380388 case temperatureOverrideSelected( Double ? )
381389 case chatModelIdOverrideSelected( String ? )
@@ -390,6 +398,11 @@ struct ChatMenu: ReducerProtocol {
390398 Reduce { state, action in
391399 switch action {
392400 case . appear:
401+ return . run {
402+ await $0 ( . refresh)
403+ }
404+
405+ case . refresh:
393406 state. temperatureOverride = service. configuration. overriding. temperature
394407 state. chatModelIdOverride = service. configuration. overriding. modelId
395408 return . none
Original file line number Diff line number Diff line change @@ -89,6 +89,7 @@ public class ChatGPTChatTab: ChatTab {
8989 await tab. service. memory. mutateHistory { history in
9090 history = state. history
9191 }
92+ tab. viewStore. send ( . refresh)
9293 }
9394 return builder
9495 }
@@ -140,7 +141,10 @@ public class ChatGPTChatTab: ChatTab {
140141 }
141142 } . store ( in: & cancellable)
142143
143- viewStore. publisher. removeDuplicates ( ) . sink { [ weak self] _ in
144+ viewStore. publisher. removeDuplicates ( ) . debounce (
145+ for: . milliseconds( 500 ) ,
146+ scheduler: DispatchQueue . main
147+ ) . sink { [ weak self] _ in
144148 Task { @MainActor [ weak self] in
145149 self ? . chatTabViewStore. send ( . tabContentUpdated)
146150 }
You can’t perform that action at this time.
0 commit comments