fix: 自动标题取消语义、清洗循环与拒绝占位回写

spawn_task 标题 20s 超时且父 ctx 取消不建任务;清洗循环剥前缀内外引号;
异步标题拒绝「新对话」并用条件更新防手改竞态;会话 profile 失败回退全局。
This commit is contained in:
artex-bot committed 2026-10-27 13:07:09 +08:00
1 parent 6c781f21f4
commit 3d3ee8827e
6 files changed
+93 -39

No files matched your search

+9
View File
@@ -197,6 +197,15 @@ func (d *DB) RenameConversation(id int64, title string) error {
return err
}
// RenameConversationIfTitle updates a thread only while its title is still an
// initial placeholder or preview. This keeps asynchronous auto-title writes
// from overwriting a concurrent manual rename.
func (d *DB) RenameConversationIfTitle(id int64, title, initial string) error {
_, err := d.Exec(`UPDATE conversations SET title=$2
WHERE id=$1 AND title IN ('', '新对话', $3)`, id, title, initial)
return err
}
// TouchConversation bumps updated_at so the thread floats to the top of the list.
func (d *DB) TouchConversation(id int64) error {
_, err := d.Exec(`UPDATE conversations SET updated_at=now() WHERE id=$1`, id)