iris/android: the composer's launch position was the bench report pane, plus surface/insets lifecycle logging
The empty benchmark-report TextEdit held .height(rest(1)) beside content.height(rest(2)), so it reserved a third of the window at every launch and pushed the composer two thirds down -- Iris's 11:39 phone report. It is sized to its content now, capped and scrollable, and sits above the transcript rather than under the composer. New log::info! lines for one insets change, one surface_changed, one renderer build and one surface_destroyed, each with the glyph/atlas counts, so a phone's adb logcat can answer the app-switch text loss the emulator cannot reproduce.
This commit is contained in:
1 parent
2fed8b34b3
commit
d9872989fa
3 files changed
+82
-3
No files matched your search
+21
-1
@@ -189,8 +189,28 @@ Iris's report on the build with the composing-text, tap-vs-swipe and
|
||||
atlas-reset fixes, with a screenshot, verbatim. Each is open until an
|
||||
agent ticks it here with the evidence.
|
||||
|
||||
- [ ] **"The app definitely does not start with keyboard spacing
|
||||
- [x] **"The app definitely does not start with keyboard spacing
|
||||
correct. This is how it looks without me doing anything initially."**
|
||||
**Not an inset bug at all -- fixed 2026-09-06.** The black third is the
|
||||
bench shell's own empty *benchmark report* pane: `bench_client.rs`'s
|
||||
root tree gave it `.height(rest(1))` beside `content.height(rest(2))`,
|
||||
so an empty `TextEdit` reserved a third of the window at every launch
|
||||
and pushed the composer up by exactly that. Measured on this checkout's
|
||||
emulator at the phone's own size (1080x2424, density 420, gesture nav),
|
||||
which reproduced Iris's screenshot exactly: new `iris insets:` log line
|
||||
reported `bottom=63 ime_bottom=0` at launch (a nav bar, no keyboard --
|
||||
so the inset the composer was fed was never large), while `ui-trace
|
||||
show -m Message --field box` put the field at `31,1488..1048,1540` on a
|
||||
2282px-tall surface, 789px clear of the bottom -- that pane's third.
|
||||
**Unit mixing checked explicitly and cleared**: `set_bottom_inset` takes
|
||||
physical px and stores `Len::abs`, `MainActivity.java`'s `1`/`0`
|
||||
`ime_bottom` only ever reaches `insets.bottom.max(ime_bottom)` and
|
||||
`> 0.0`, and every `dp` in the composer resolves at layout time. Fix:
|
||||
the report pane is sized to its content (`.max_height(dp(260))
|
||||
.scrollable()`), and moved above the transcript so it cannot eat the
|
||||
composer's nav-bar clearance. After: field box `31,2277..1048,2329`,
|
||||
grey bar ending at device y2361 with the 63px nav strip below it
|
||||
(`/tmp/fix1.png` this pass).
|
||||
The screenshot shows the composer bar (the grey band) sitting about
|
||||
two thirds of the way down a 704x1568 screen, with black below it to
|
||||
the bottom, and the transcript ending at "Claude / Results" just above
|
||||
|
||||
Reference in new issue
Block a user