Say there is one chat component, in the places that claimed otherwise
Several headers argued the Scheduler dock was deliberately separate, and the Scheduler's help never mentioned the assistant at all — including the fix flow that just changed shape.
This commit is contained in:
@@ -121,16 +121,23 @@ soon a page notices the writer's update.
|
||||
> cache miss. A key added to the endpoint and not to the writer leaves its card loading forever
|
||||
> on every ordinary page load and working only on the request that happens to miss.
|
||||
|
||||
**One widget, rendered twice.** `include/ai_chat.php` owns the conversation surface — profile
|
||||
bar, transcript, composer, source viewer, stored-chat list — and both the AI tab and the Monitor
|
||||
tab's AI row construct it. Every id is composed from a prefix so instances can coexist, and each
|
||||
tears down the previous holder of its prefix, because Unraid swaps tab content by AJAX without
|
||||
unloading the old page's JavaScript.
|
||||
**One widget, rendered three times.** `include/ai_chat.php` owns the conversation surface —
|
||||
transcript, composer, profile and history pickers, source viewer, stored-chat list — and the AI
|
||||
tab, the Monitor tab's AI row and the Scheduler's right-hand panel all construct it. Every id is
|
||||
composed from a prefix so instances can coexist, and each tears down the previous holder of its
|
||||
prefix, because Unraid swaps tab content by AJAX without unloading the old page's JavaScript.
|
||||
|
||||
The Scheduler tab's dock is deliberately *not* built on it: a one-line bar that follows the view
|
||||
you have open, with its own scope chip, fix flow and incident capture, is a different component
|
||||
that happens to share an endpoint. Folding it in would produce one widget with two personalities
|
||||
and a mode flag choosing between them.
|
||||
A placement chooses how much room it gets and which extra controls it needs. It does not choose
|
||||
the shape: the control row is fixed everywhere — profile chip hard left, `⤢` `▾` `New` `Ask` hard
|
||||
right — because a chat that rearranges itself per tab is three components wearing one name.
|
||||
|
||||
The Scheduler panel was exactly that until it was folded in, and it proved the cost: a thread
|
||||
there died on reload while the other two were saved, and its bar had drifted into a different
|
||||
shape from the same control everywhere else. What was genuinely particular to it became options
|
||||
rather than a second implementation — `scope` as a function for a subject that follows the open
|
||||
view, `beforeSend` for the one reply that is recorded rather than asked, `think` for reasoning on
|
||||
diagnosis only, and `setHeights()` for a placement sized as a share of a panel, which is not a
|
||||
number that exists until layout has run.
|
||||
|
||||
**Timezone.** `include/config.php` adopts Unraid's own `timeZone` from `ident.cfg` for the whole
|
||||
PHP layer. PHP here has no `date.timezone` and therefore ran in UTC while the server ran local,
|
||||
|
||||
Reference in New Issue
Block a user