Merge branch 'main' of git.arirex.me:iris/ai-app
This commit is contained in:
commit
6d12388063
2 files changed
+30
-13
No files matched your search
@@ -620,6 +620,21 @@ machine belongs in `~/.claude/TOOLCHAIN.md` (toolchain versions) or
|
||||
toggle and used to force both places back to zero the moment the
|
||||
platform says the keyboard is gone, whatever the animated value still
|
||||
claims.
|
||||
**The guard is a boolean; the inset itself must never be read in the
|
||||
composable body.** That correction first shipped as a `padding(bottom =
|
||||
... imeInsets.getBottom(this) ...)` computed in `SessionScreen`, which
|
||||
subscribes the whole screen to a value that changes every frame of the
|
||||
animation: measured on the emulator at **16 full recompositions of
|
||||
`SessionScreen` per keyboard open, against 1**, and it put the
|
||||
transcript's position behind a recomposition while the composer's stayed
|
||||
a draw-phase read of the same frame, so the two were only together while
|
||||
that recomposition kept landing inside the frame. It is `.then(if (imeVisible) Modifier.imePadding() else
|
||||
Modifier)` instead -- `imePadding` reads the inset in the layout phase,
|
||||
which is what the comment above the transcript box means by "the whole of
|
||||
what the keyboard re-measures", and dropping the modifier is the same
|
||||
coercion to zero that the boolean was added for. The counter to check is
|
||||
`session screen recomposed` in the debug button's report, which should
|
||||
move by one across a keyboard open, not by the number of frames it took.
|
||||
- **The keyboard pans the window unless the activity opts into resize.**
|
||||
Without `android:windowSoftInputMode="adjustResize"`, opening the IME
|
||||
slides the whole window up (top bar off screen) instead of resizing —
|
||||
|
||||
Reference in new issue
Block a user