修复: DeepSeek 400 全量扫描 + 队列 per-conv 隔离

- openai_compat: 扫描所有 assistant 消息剥离 orphan tool_calls(原仅查末条)
- queue 加 conversationId 字段,按会话精准 drain
- regenerate/editMessage 只清本会话排队消息
- newConversation 保留旧会话排队消息
- AiError 只清出错会话的队列项
This commit is contained in:
lxy
2026-07-20 00:19:50 +08:00
parent 42efb31bbf
commit e9e3578d26
59 changed files with 2875 additions and 1330 deletions
+5 -1
View File
@@ -53,7 +53,11 @@ fn parse_repo_url(repo_url: &str) -> Option<(String, String, String)> {
return None;
}
let host = url.host_str()?;
let port = url.port_or_known_default();
// BUG-2026-07-07: port_or_known_default() 对 https 返 Some(443)、http 返 Some(80),
// 致 authority 总是带默认端口(:443/:80),base URL 形如 "https://host:443" 而非规范
// "https://host"。下游 Gitea API 调用虽大多容忍,但测试断言与可读性受影响。
// 修复:仅当端口非 scheme 默认端口时才拼入 authority(显式非默认端口才保留)。
let port = url.port(); // 仅取显式端口(未在 URL 写出的不返)
let authority = match port {
Some(p) => format!("{}:{}", host, p),
None => host.to_string(),