Restore row positioning and make folders actually draggable

Fixkamo-internal
Ya
7 Agosti 2026, 02:34 UTC
Mwandishi
kamo
Ahadi ya
2ba8e60

Two regressions from 8ab88d59. The message list grew a gap that widened with every row. This project builds Tailwind with `important: true`, so every utility outranks inline styles — the exact opposite of the usual CSS intuition. The `relative` I put on each virtualized row therefore beat the `position: absolute` that @tanstack/react-virtual sets inline, dropping every row back into normal flow while it kept its `translateY(start)`. Each row was displaced by its own start offset on top of where flow had already placed it. The class was never needed: the only absolutely-positioned things in a row sit inside the avatar box, which carries its own `relative`. Row classes now come from an exported rowClassName() with a test that fails if any positioning utility reappears there. Folders would not drag because the drag was bound to a 12x16px grip that only appeared on hover — grabbing the folder itself, which is what anyone would do, reached nothing. SortableNavOption already had this right for the nav icons and says so in its header: the whole element is the handle, and the sensor's activation distance is what separates a click from a drag. The row now carries the listeners, with a slop check so the click that follows a drag does not also open the folder, touch-action so a touch drag is not claimed for scrolling, and stopPropagation on the overflow button so pressing it opens the menu instead of arming a drag. The grip stays as a hint that the row moves, marked aria-hidden since it is no longer a target.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei