fix(app): remove produce default values in server session state (#33793)
This commit is contained in:
parent
d13779b1d5
commit
71402bcbc3
1 changed files with 12 additions and 4 deletions
|
|
@ -471,14 +471,18 @@ export function createServerSession(client: OpencodeClient) {
|
||||||
}
|
}
|
||||||
case "permission.asked": {
|
case "permission.asked": {
|
||||||
const permission = event.properties as PermissionRequest
|
const permission = event.properties as PermissionRequest
|
||||||
const permissions = data.permission[permission.sessionID] ?? []
|
const permissions = data.permission[permission.sessionID]
|
||||||
|
if (!permissions) {
|
||||||
|
setData("permission", permission.sessionID, [permission])
|
||||||
|
return
|
||||||
|
}
|
||||||
const result = Binary.search(permissions, permission.id, (item) => item.id)
|
const result = Binary.search(permissions, permission.id, (item) => item.id)
|
||||||
if (result.found) setData("permission", permission.sessionID, result.index, reconcile(permission))
|
if (result.found) setData("permission", permission.sessionID, result.index, reconcile(permission))
|
||||||
if (!result.found)
|
if (!result.found)
|
||||||
setData(
|
setData(
|
||||||
"permission",
|
"permission",
|
||||||
permission.sessionID,
|
permission.sessionID,
|
||||||
produce((draft = []) => void draft.splice(result.index, 0, permission)),
|
produce((draft) => void draft.splice(result.index, 0, permission)),
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -497,14 +501,18 @@ export function createServerSession(client: OpencodeClient) {
|
||||||
}
|
}
|
||||||
case "question.asked": {
|
case "question.asked": {
|
||||||
const question = event.properties as QuestionRequest
|
const question = event.properties as QuestionRequest
|
||||||
const questions = data.question[question.sessionID] ?? []
|
const questions = data.question[question.sessionID]
|
||||||
|
if (!questions) {
|
||||||
|
setData("question", question.sessionID, [question])
|
||||||
|
return
|
||||||
|
}
|
||||||
const result = Binary.search(questions, question.id, (item) => item.id)
|
const result = Binary.search(questions, question.id, (item) => item.id)
|
||||||
if (result.found) setData("question", question.sessionID, result.index, reconcile(question))
|
if (result.found) setData("question", question.sessionID, result.index, reconcile(question))
|
||||||
if (!result.found)
|
if (!result.found)
|
||||||
setData(
|
setData(
|
||||||
"question",
|
"question",
|
||||||
question.sessionID,
|
question.sessionID,
|
||||||
produce((draft = []) => void draft.splice(result.index, 0, question)),
|
produce((draft) => void draft.splice(result.index, 0, question)),
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue