[Bug] 切换会话/工作区时 manage_dialog_queue 返回 "Session is not loaded on the execution host"
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #3734 của @Raing5Days — đã merge
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Start by reading the session-switch and workspace event logs in the issue, then trace the manage_dialog_queue request and session loading on the execution host. The issue also points to workspace loading/error events and the remote compatibility service path, but names no source files or tests. Done means session switches no longer produce these failures or contradictory workspace events; an open linked pull request (#3734) indicates work is already underway.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
关联:#3728(同批次排查中的渲染进程卡顿)、#3275(同为 SSH 工作区与本地工作区共存时的消息发送失败,已修复的相邻问题)
环境
- OpenBitFun
1.0.8(com.openbitfun.desktop) - macOS(Apple Silicon)
- 工作区同时存在本地会话与远程 SSH 工作区会话
问题描述
在会话之间切换(尤其是本地工作区 ↔ 远程 SSH 工作区来回切)时,前端 manage_dialog_queue 请求持续失败:
[TauriAdapter] Request failed
{"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
1 分 16 秒内连续失败 7 次(16:58:01 → 16:59:17)。每次失败都紧跟在 [AuxPane] Active session changed 之后,说明触发点是会话切换。
关联现象
同一时刻 WorkspaceManager 在 0 ms 内连续发出两个相反事件:
16:58:22.403 [WorkspaceManager] Emitting event {"type":"workspace:loading"}
16:58:22.403 [WorkspaceManager] Emitting event {"type":"workspace:error"}
以及远程工作区的兼容服务不可用:
{"action":"get_external_source_control_snapshot",
"error":{"code":"host_unavailable",
"detail":"The remote workspace is not running the external compatibility service",
"retryable":true}}
[ChatInput] External prompt commands are unavailable on this host {"code":"host_unavailable"}
复现步骤
- 打开一个本地工作区会话并保持激活。
- 切换到远程 SSH 工作区的会话(本例为通过 SSH 连接的远端主机)。
- 再切回本地会话,或切到另一个会话。
- 观察控制台:
manage_dialog_queue返回Session is not loaded on the execution host。
本机已有远程连接处于 is_connected=true(后端日志 ssh_is_connected 确认),因此不是 SSH 掉线导致。
实际影响
- 每次切换都会在前端抛一个未处理的失败请求,
workspace:loading后立即workspace:error,工作区状态机进入错误分支。 - 怀疑这与同时段输入框的交互异常相关(切换后输入框短暂不可用)。
完整日志(已脱敏)
evidence-B-dialog-queue-errors.log
# 来源: webview.log 时间: 2026-11-04 16:57~17:01 (UTC+8)
# 每次切换会话/工作区,manage_dialog_queue 均返回
# "Session is not loaded on the execution host"
# 证据 B:manage_dialog_queue 调用失败(已脱敏)
# 来源: webview.log 时间: 2026-11-04 16:57~17:01 (UTC+8)
# 判读要点: 每次切换会话/工作区,前端调用 manage_dialog_queue 均收到
# "Session is not loaded on the execution host";WorkspaceManager 在同一毫秒内
# 连续发出 workspace:loading 与 workspace:error(相隔 0ms)。
[2026-11-04T16:58:01.255][tid:1][DEBUG][webview] [AuxPane] Active session changed, swapping agent canvas snapshot {"from":"edac7bb9-cfdd-4bb0-8e64-db2bbc8131f4","to":"149ac9af-bca4-4d4a-a788-b38d03fa4746"}
[2026-11-04T16:58:01.454][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:03.304][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:22.332][tid:1][DEBUG][webview] [AuxPane] Active session changed, swapping agent canvas snapshot {"from":"149ac9af-bca4-4d4a-a788-b38d03fa4746","to":"deb8d08b-b259-4045-8d7b-68ff814d1659"}
[2026-11-04T16:58:22.403][tid:1][DEBUG][webview] [WorkspaceManager] Emitting event {"type":"workspace:error"}
[2026-11-04T16:58:22.407][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:32.438][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:37.764][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:47.766][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
[2026-11-04T16:58:59.941][tid:1][DEBUG][webview] [WorkspaceManager] Emitting event {"type":"workspace:error"}
[2026-11-04T16:59:00.088][tid:1][DEBUG][webview] [HistorySessionDiagnostics] Historical session diagnostic event {"diagnosticId":"149ac9af-189149417-156","sessionId":"149ac9af-bca4-4d4a-a788-b38d03fa4746","event":"switch_requested","ageMs":0,"switchRequestId":942,"isRemoteSession":false,"isHistorica…
[2026-11-04T16:59:00.096][tid:1][DEBUG][webview] [AuxPane] Active session changed, swapping agent canvas snapshot {"from":"deb8d08b-b259-4045-8d7b-68ff814d1659","to":"149ac9af-bca4-4d4a-a788-b38d03fa4746"}
[2026-11-04T16:59:16.929][tid:1][DEBUG][webview] [AuxPane] Active session changed, swapping agent canvas snapshot {"from":"149ac9af-bca4-4d4a-a788-b38d03fa4746","to":"c4d7307b-fb01-487c-8059-2d14b29e375c"}
[2026-11-04T16:59:17.029][tid:1][ERROR][webview] [TauriAdapter] Request failed {"action":"manage_dialog_queue","error":"Session is not loaded on the execution host"}
期望行为
- 会话尚未在目标执行宿主加载时,应将队列管理请求降级为 no-op 或可重试状态,而不是抛错误。
workspace:loading与workspace:error不应在同一毫秒内连续发出,状态机需要去重/防抖。- 远程工作区缺少 external compatibility service 时,
ChatInput应静默跳过,而非走错误路径。
- Ngôn ngữ chính
- Rust
- Star
- 2.3k
- Fork
- 236
- Merge trung bình
- 13 giờ 3 phút
- Pull request đã merge (30 ngày)
- 351
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của GCWing/OpenBitFun
-
[Feature]: 模型服务表单缺少「图像生成」分类入口 —— 后端已支持 default_models.image_generationCó thể đã có người làm @skyfireitdiy đã nhận 21 ngày trước. Đang mở
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 74/100
GCWing/OpenBitFun#3279 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
GCWing/OpenBitFun#3756 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
GCWing/OpenBitFun#3744 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature]: 允许手动/compact 时传递后续消息Có thể đã có người làm @Raing5Days đã nhận 1 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
GCWing/OpenBitFun#3739 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature]: 增加/model 触发右侧模型选择Có thể đã có người làm @Raing5Days đã nhận 1 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
GCWing/OpenBitFun#3738 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của GCWing/OpenBitFun
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
ScoopInstaller/Extras#19275 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:plugins kind:bug priority:p2 ready
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority: medium ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
storytold/gridcraft#3496 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bip39: Mnemonic::new_from_phrase rejects phrases with extra or non-space whitespaceCó thể đã có người làm @chukwudiikeh đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày