fix: reject invalid history parents on Windows and give questions exclusive composer
This commit is contained in:
1 parent
a4e77cacbe
commit
23537aaf28
9 files changed
+218
-18
No files matched your search
@@ -26,7 +26,7 @@ for (const kind of ['question', 'approval', 'plan', 'mcp'] as const) {
|
||||
running: true
|
||||
})
|
||||
assert.equal(result.interaction?.kind, kind)
|
||||
assert.equal(result.input.visible, kind !== 'approval', 'only actual approval replaces normal input')
|
||||
assert.equal(result.input.visible, kind !== 'approval' && kind !== 'question', 'active question and approval replace normal input')
|
||||
assert.equal(result.input.blockedByInteraction, true)
|
||||
assert.equal(result.input.destination, 'blocked')
|
||||
assert.equal(result.input.preservesDraft, true, 'takeover never clears the draft')
|
||||
@@ -75,3 +75,12 @@ const secondLayout = composeComposer({ queueCount: 1, queueRevision: 2 }).layout
|
||||
assert.notEqual(firstLayout, secondLayout, 'layout key changes when queue height may change')
|
||||
|
||||
console.log('input-composition-regression: precedence, takeover, queue preservation, task placement, toolbar and escape rules passed')
|
||||
|
||||
for (const kind of ['question', 'approval'] as const) {
|
||||
for (const status of ['pending', 'responding', 'error', 'answered', 'rejected', 'cancelled'] as const) {
|
||||
const active = ['pending', 'responding', 'error'].includes(status)
|
||||
const state = composeComposer({ interaction: { id: kind, kind, status } })
|
||||
assert.equal(state.input.visible, !active, `${kind}/${status} input exclusivity`)
|
||||
assert.equal(state.input.mounted, true, 'draft editor always remains mounted')
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user