|
|
@@ -620,9 +620,12 @@ export function useAiChat() {
|
|
|
|
|
|
async function resolvePermission(optionId: string) {
|
|
|
try {
|
|
|
- await resolveAiPermission(optionId)
|
|
|
+ // 记住当前要 resolve 的 requestId,防止 await 期间被新 permission 覆盖后误标记
|
|
|
const lastMsg = messages.value[messages.value.length - 1]
|
|
|
- if (lastMsg?.permission) {
|
|
|
+ const targetRequestId = lastMsg?.permission?.requestId
|
|
|
+ await resolveAiPermission(optionId)
|
|
|
+ // await 回来后检查 permission 是否仍是同一个(未被新事件覆盖)
|
|
|
+ if (lastMsg?.permission && lastMsg.permission.requestId === targetRequestId) {
|
|
|
lastMsg.permission.resolved = true
|
|
|
}
|
|
|
}
|