feat(desktop): let every chat surface float its composer
popoutAllowed was hardcoded false for session tiles, so only the primary thread could pop out — a tab or a split had no way to undock its composer. Secondary windows stay docked; that gate was the load-bearing one.
This commit is contained in:
parent
73e3e0860e
commit
25ff775136
|
|
@ -23,8 +23,6 @@ export interface ComposerScope {
|
|||
/** This scope's "turn parked on user input" edge — gates Esc-to-stop. */
|
||||
$awaitingInput: ReadableAtom<boolean>
|
||||
attachments: ComposerAttachmentScope
|
||||
/** Only the main scope may pop out (the floating composer is a singleton). */
|
||||
popoutAllowed: boolean
|
||||
/** This scope's transcript. Read it imperatively (input-history browse) to
|
||||
* keep streaming out of the composer's renders; subscribe only off-render
|
||||
* (auto-speak) where the reply edge is the whole point. */
|
||||
|
|
@ -37,7 +35,6 @@ export const MAIN_COMPOSER_SCOPE: ComposerScope = {
|
|||
$awaitingInput: $activeSessionAwaitingInput,
|
||||
$messages,
|
||||
attachments: mainComposerScope,
|
||||
popoutAllowed: true,
|
||||
target: 'main'
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ function TileChat({
|
|||
$awaitingInput: sessionAwaitingInput(runtimeId),
|
||||
$messages: view.$messages,
|
||||
attachments,
|
||||
popoutAllowed: false,
|
||||
target: `tile:${storedSessionId}`
|
||||
}),
|
||||
[attachments, runtimeId, storedSessionId, view.$messages]
|
||||
|
|
|
|||
Loading…
Reference in New Issue