Skip to content

fix: 为服务刷新调用显式传递 cancelStreaming=false - #1137

Open
MIOYULIN wants to merge 1 commit into
AAswordman:devfrom
MIOYULIN:fix/residual-code-cleanup
Open

fix: 为服务刷新调用显式传递 cancelStreaming=false#1137
MIOYULIN wants to merge 1 commit into
AAswordman:devfrom
MIOYULIN:fix/residual-code-cleanup

Conversation

@MIOYULIN

@MIOYULIN MIOYULIN commented Sep 7, 2026

Copy link
Copy Markdown

问题背景:
EnhancedAIService 的 refreshServiceForFunction() 和 refreshAllServices() 默认参数 cancelStreaming=true,调用时会取消当前正在进行的流式传输响应。
但项目中有大量调用点(设置页面切换模型、更改API配置等场景)在配置变更时
调用这些方法刷新服务,本意是让新配置对后续请求生效,却意外中断了用户当前
正在进行的对话流式输出,影响用户体验。

修复内容:

  1. 为所有 UI 设置页面和服务配置变更处的 refreshServiceForFunction() / refreshAllServices() 调用显式传入 cancelStreaming=false,确保配置刷新 不会打断当前流式响应

  2. 修复 MultiServiceManager.releaseLease() 中 closeRetiredServiceLocked() 缺少 cancelStreaming 参数的问题,租约释放时不应默认取消流式传输

涉及文件(12个):

  • EnhancedAIService.kt
  • MultiServiceManager.kt
  • StandardSoftwareSettingsModifyTools.kt
  • WebChatHttpBridge.kt
  • ApiConfigDelegate.kt
  • AgentChatInputSection.kt
  • ClassicChatSettingsBar.kt
  • FunctionalConfigScreen.kt
  • ModelConfigScreen.kt
  • AdvancedSettingsSection.kt
  • ModelApiSettingsSection.kt
  • AutoGlmOneClickToolScreen.kt

问题背景:
EnhancedAIService 的 refreshServiceForFunction() 和 refreshAllServices()
默认参数 cancelStreaming=true,调用时会取消当前正在进行的流式传输响应。
但项目中有大量调用点(设置页面切换模型、更改API配置等场景)在配置变更时
调用这些方法刷新服务,本意是让新配置对后续请求生效,却意外中断了用户当前
正在进行的对话流式输出,影响用户体验。

修复内容:
1. 为所有 UI 设置页面和服务配置变更处的 refreshServiceForFunction() /
   refreshAllServices() 调用显式传入 cancelStreaming=false,确保配置刷新
   不会打断当前流式响应

2. 修复 MultiServiceManager.releaseLease() 中 closeRetiredServiceLocked()
   缺少 cancelStreaming 参数的问题,租约释放时不应默认取消流式传输

涉及文件(12个):
- EnhancedAIService.kt
- MultiServiceManager.kt
- StandardSoftwareSettingsModifyTools.kt
- WebChatHttpBridge.kt
- ApiConfigDelegate.kt
- AgentChatInputSection.kt
- ClassicChatSettingsBar.kt
- FunctionalConfigScreen.kt
- ModelConfigScreen.kt
- AdvancedSettingsSection.kt
- ModelApiSettingsSection.kt
- AutoGlmOneClickToolScreen.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant