feat(learn): one assistant field across the app, kept from tab to tab (ADR 0021, D69)

Each screen's button kept its own open state and its own draft, so the
question half written on the Library was gone on Home. ComposerCubit,
provided beside ConversationDockCubit, now holds whether the field is
open and the draft (text, files attached, parts chosen) for every
button. Switching tabs keeps it as it is (AppShell says so before
goBranch); going to another screen within a tab, or over the tabs, keeps
it open only while something is written or attached. Only the button of
the screen at the router's location unfolds, so no tab kept alive
behind holds a second field.

Whats-New: The question you are writing stays open as you switch tabs.
Whats-New-De: Die Frage, die du schreibst, bleibt offen, wenn du den Tab wechselst.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-04 21:07:40 +01:00
commit f45ed98d52
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -520,6 +520,17 @@ assistants' effort work:
provider's as it is ("GPT-5"), and the button is outlined in its provider's colour
(D60), which names the provider instead; the web search in the theme's outline. The
menu keeps full names under the providers' names.
- **One field across the app** (`ComposerCubit`, beside `ConversationDockCubit` above
the router): whether it is open, the question written, the files attached and the
parts chosen are one draft for every screen's button, so switching tabs keeps it as
it is (open on the Library, open on Home; Close folds it everywhere, keeping the
draft). Going to another screen within a tab, or to one over the tabs (a studyset,
studying), keeps it open only while something is written or attached, and folds it
otherwise (the developer's rule; over keeping it open always, which would cover each
new screen, and over folding it always, which would hide a question half written).
Only the button of the screen at the router's location unfolds, so a tab kept alive
behind another holds no second field. Sending empties it everywhere. How far an
assistant looks stays each field's own, starting at only what is chosen (D50).
As built on 26 Oct, for v0.22.0 (build 25, which the server needs: `minimumAppBuild` 25,
as older apps read limits per grant), D57–D63 read so where they left something open: