Sit the transcript on the bottom when it does not fill the screen
A session whose loaded rows were shorter than the viewport drew them against the top of the list, leaving a gap between the newest message and the box you type in -- and nothing to scroll, because there was no overflow. Opening the keyboard shrank the viewport enough for the content to overflow it and the list snapped down, which made a placement fault look like a scrolling one. `reverseLayout` defaults the arrangement to `Bottom` on its own, but naming `spacedBy` replaces that default with `spacedBy`'s own, which is `Top`. The arrangement is only consulted when the content does not fill the viewport, which is why this sat here since 2026-08-28 without being seen: it needs a session that loads less than a screenful, and a page of tool calls collapsing to one "Called 80 tools" row is how a long conversation manages that.
This commit is contained in:
1 parent
0d623b7073
commit
8c1b6b7467
1 file changed
+10
-1
@@ -1057,7 +1057,16 @@ fun SessionScreen(
|
|||||||
reverseLayout = true,
|
reverseLayout = true,
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
contentPadding = PaddingValues(16.dp),
|
contentPadding = PaddingValues(16.dp),
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
// Bottom, and it has to be said: `reverseLayout` defaults the arrangement to
|
||||||
|
// `Bottom` on its own, but naming `spacedBy` replaces that default with
|
||||||
|
// `spacedBy`'s own, which is `Top`. The arrangement is what places the content
|
||||||
|
// when there is less of it than the viewport -- so a session whose loaded rows
|
||||||
|
// did not fill the screen drew them against the *top*, leaving a gap between the
|
||||||
|
// newest message and the box you type in, and no room to scroll the gap away.
|
||||||
|
// Opening the keyboard shrank the viewport enough for the content to overflow it
|
||||||
|
// and the list snapped down, which is what made it look like a scrolling fault
|
||||||
|
// rather than a placement one.
|
||||||
|
verticalArrangement = Arrangement.spacedBy(8.dp, Alignment.Bottom),
|
||||||
) {
|
) {
|
||||||
// The last thing in the transcript, because that is where
|
// The last thing in the transcript, because that is where
|
||||||
// they are in the session's reading of events: after
|
// they are in the session's reading of events: after
|
||||||
|
|||||||
Reference in new issue
Block a user