"The model selection in teach it back is kinda broken at least on desktop":
the desktop panels were position:absolute children of whatever container held
their chip. In chat that is the composer at the bottom of the column, which
works, but Teach it back keeps its chips inside a scrolling form card — so the
panel opened upward out of the card and its top rows (including the selected
model) were cut off. The probe measured top: -66px and no way to reach the
first rows by scrolling the list.
- New components/chat/PickerPopover.tsx: the desktop surface for both pickers,
portalled to <body> and position:fixed, anchored to the opening chip
([data-picker-trigger][aria-expanded="true"]), opening on the side with room
and capped to the viewport so the panel scrolls as a whole with its heading
and note attached. It closes on an outside press, Escape, resize or a page
scroll — but not on scrolling its own list.
- ContextPicker and ModelPicker use it on desktop; the phone sheets and their
inner list caps are unchanged (the list max-height became a parameter: the
sheet caps it, the desktop panel scrolls instead).
- teach-test pins it: the panel's rect is fully inside the viewport,
elementFromPoint over it lands on the panel, it is not a descendant of the
scrolling card, and picking a model updates the chip + freezmo.chat.model.v1
(46 checks). Chat and the phone sheets re-verified unchanged (110 + 128).
Version 0.8.3, SW v105.