An edge that is not drawn, and a panel that stopped eating the site
`hx-get=""` is not "fetch nothing". htmx looks for the attribute, not for a value, so the empty one the canvas rendered before a chat existed was a real request for the empty path -- which the browser resolves against the current document. Opening the canvas on the new-chat screen fetched the new-chat screen and swapped the whole site into the panel. The attribute is omitted now, and a test refuses an empty verb anywhere on the page. Which panels can exist is the server's answer; which are offered is the browser's. Both need an agent chat on a chosen connection, and before a chat exists those are controls in the composer -- so answering with the first profile offered a terminal on an ordinary chat with nothing selected. They follow `lembas:agent-target` now, and an open panel whose target goes away is closed rather than left showing one machine under another's name. `.tabs__body` is only sometimes the scroller: true where the tabs are a bounded flex child, false under the admin layout, where the page scrolls instead. So setting its scrollTop on every tab change had never once run on /admin/prompts, silently, while the reader was dragged to the bottom of a document that had just got shorter. The rule names the position now, and the handler finds the container that actually scrolls. The two top borders come off. They were what made the misalignment at the bottom of the shell visible; `--footer-height` stays, because two ends at different heights are visible without a line to prove it. The top of the shell keeps its line -- there, everything is `--header-height` and aligns by construction. And one version. pyproject carried its own copy and had drifted three minors from the one everything actually reads. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4c78215e31
commit
bdd7e09753
@@ -84,11 +84,16 @@
|
||||
|
||||
/* What `--header-height` does at the top of the shell, this does at the
|
||||
bottom. The sidebar's footer and the composer sit either side of the same
|
||||
vertical line, and both were content-sized -- so the two top borders met
|
||||
the sidebar's edge at different heights and read as one line that had been
|
||||
broken. Neither could be made to match the other by accident: the footer's
|
||||
height depends on which entries the reader's permissions allow, and the
|
||||
composer's on how much they have typed.
|
||||
vertical line and both are content-sized, so without this they end at
|
||||
different heights -- and neither can be made to match the other by
|
||||
accident: the footer's height depends on which entries the reader's
|
||||
permissions allow, and the composer's on how much they have typed.
|
||||
|
||||
This began as the fix for a broken *line*: both carried a top border, and
|
||||
the two met the sidebar's edge at different heights. The borders are gone
|
||||
now -- an edge that content scrolls under reads better undrawn than drawn
|
||||
and aligned -- and the token stays, because the two ends of the shell
|
||||
sitting at different heights is visible without any border to prove it.
|
||||
|
||||
A calc of the pieces the footer is actually built from -- four rows at
|
||||
`--control-h`, the gaps between them, and its own padding -- so it stays
|
||||
|
||||
Reference in New Issue
Block a user