Skip to content

v1.0.3 β€” πŸ”Ž The endpoint box you couldn't type in

Choose a tag to compare

@bagidea bagidea released this 02 Sep 02:02
· 3 commits to main since this release

πŸ”Ž The endpoint box you couldn't type in

Reported from a real office, with a screenshot. The πŸ”Ž SEMANTIC RECALL row in
βš™ β†’ SKILLS had an endpoint field squeezed to nothing and a Save button
hanging off the edge of the panel. Both true, and both measured rather than
guessed β€” the row was rebuilt from the overlay's own stylesheet and markup at the
real panel width:

card=458  row=426   semUrl=22  semModel=175  semKey=138  save=64   OVERFLOW=26px

Two failures in one row

The endpoint field rendered at 22px. At that width it could not show its own
placeholder β€” http://localhost:11434/v1 β€” so nothing on screen told you what
belonged in the one field the whole feature depends on.

And the row still ran 26px past the panel, clipping ΰΈšΰΈ±ΰΈ™ΰΈ—ΰΈΆΰΈ.

.assistrow is a flex line that cannot wrap, and the model and key inputs were
pinned with flex: 0 0 190px and 0 0 150px β€” 340px that could not give
ground
. The panel is min(470px, 92vw) less 16px of padding, about 426px. So
the one flexible child, the endpoint, absorbed the entire shortfall and
collapsed.

The endpoint is a URL. It gets a line of its own now (392px), and the model, key
and Save share the next one.

πŸ“¦ RUN LOCATION had the same bug, one field along

Choosing ssh reveals a fourth input, and the host and the office path landed
at 77px each β€” too narrow to read either placeholder, let alone a real path.
It never overflowed, which is why nobody reported it. They are 185px and 343px
now.

before after
endpoint 22px, row overflowing 26px 392px, own line
model Β· key Β· Save pushed off the panel 167 Β· 149 Β· 64, fits
ssh host Β· office path 77 Β· 77 185 Β· 343

A guard, not decoration

daemon/tests/overlay-layout.test.js β€” four tests that compute from the markup
whether a settings row pins more width than the panel can give it while being
unable to wrap. Run against the broken markup first: it fails three of its four.
A test that cannot fail is not a guard.


Nothing else changed. The daemon reads overlay.html from disk on every request,
so tray β†’ Reload chat window is enough to pick this up β€” no restart, no
update.

Full detail: CHANGELOG.md