docs/RUST.md: emulator verification results for the keyboard/dp/header fixes
run-bench.sh end to end clean (24/24 swipes, 400/400 events); header background confirmed by screenshot; the keyboard wipe fix confirmed two ways (a forced wm size resize and an actual soft-keyboard open, both real surface_changed triggers, text intact both times). Also records two things found during this verification and not fixed: the top button row appears to render a second time, out of place, after a keyboard-triggered resize, and a tap aimed at the field below can land on it instead -- and the keyboard diagnostics auto-capture never fired in this session. Neither is root-caused; explicitly not attributed to this pass's changes without more evidence, per the standing rule against blaming ambient failures on your own code without measuring first. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
80c2eadec9
commit
4b62cc642e
1 file changed
+51
-6
+51
-6
@@ -4509,12 +4509,57 @@ device.
|
||||
warnings`, zero beyond the pre-existing `tabs-ui` unused-dependency
|
||||
and wgpu future-incompat notices), `cargo test --workspace` (all
|
||||
passing), `cargo ndk -t arm64-v8a check`/`clippy` for both the
|
||||
`transcript-screen bench` feature set. **Not verified this pass**:
|
||||
an actual emulator run of `run-bench.sh`, a forced-resize
|
||||
before/after screenshot for the keyboard fix, or anything on Iris's
|
||||
real phone -- next agent with emulator/phone time should confirm
|
||||
all three and the two-density crispness check IRIS_TODO.md's unit
|
||||
item asks for.
|
||||
`transcript-screen bench` feature set.
|
||||
|
||||
**Then run on this checkout's own emulator** (x86_64 debug,
|
||||
`--features "transcript-screen force-gles bench"` -- this AVD has no
|
||||
Vulkan adapter under a plain `-gpu host` boot, matching every prior
|
||||
emulator finding in this file): `run-bench.sh` end to end, no crash,
|
||||
`frames=534 janky%=79.03 ... cpu_p50=1.3ms`, 24/24 swipes, 400/400
|
||||
streamed events -- unchanged in shape from prior readings, so the
|
||||
diff cost nothing on the success path. **Header background**:
|
||||
screenshot confirms the `HEADER_SURFACE` panel now sits behind all
|
||||
three buttons (`/tmp/bench-after-run.png` this pass). **Keyboard
|
||||
wipe**: forced a real `surface_changed` two ways -- `adb shell wm
|
||||
size 1080x1900` (screenshot before/after, text intact) and actually
|
||||
opening the soft keyboard via `settings put secure
|
||||
show_ime_with_hard_keyboard 1` + tapping the message field
|
||||
(ui-trace confirmed a real resize, elements moved -547px; keyboard
|
||||
visible in the screenshot, text still fully rendered, not wiped).
|
||||
Both are real evidence the reuse-renderer fix works, though neither
|
||||
is the literal before/after diff this box originally asked for --
|
||||
**still worth a deliberate side-by-side screenshot pair in a future
|
||||
pass.**
|
||||
|
||||
**Found during this same verification, not fixed, needs a follow-up
|
||||
pass**: after the keyboard-triggered resize, the top button row
|
||||
appeared to render a **second time**, well below its real position,
|
||||
inside the transcript's scroll area (same colours/text, unmistakably
|
||||
the same three buttons) -- and a tap aimed at the composer's
|
||||
"Message" field landed on "Run benchmark" instead (a second
|
||||
benchmark run started, visible in logcat as two `iris bench report:`
|
||||
lines from one session). Only seen after a resize with the keyboard
|
||||
genuinely open; the plain `wm size` resize screenshot pair did not
|
||||
show it, nor did the fresh-install screenshot before either resize.
|
||||
**Not root-caused this pass** -- time ran out before isolating
|
||||
whether this is the `Span::DOWN` two-phase draw (LAYOUT.md's
|
||||
provisional-then-real placement) leaving a phase-1 primitive
|
||||
retained somewhere it should have been moved from, something
|
||||
specific to the keyboard's `on_insets_changed` rebuild racing a
|
||||
redraw, or unrelated to this pass's changes entirely (not verified
|
||||
against a build predating this session's commits, so do not treat
|
||||
"caused by this pass" as established -- MACHINE.md's pinned rule
|
||||
about not attributing without measuring applies here too). Also
|
||||
noteworthy: `capture_keyboard_diagnostics` never fired in this
|
||||
session (no "iris keyboard diagnostics" log line) despite the
|
||||
keyboard visibly opening -- `on_insets_changed`'s `ime_bottom` may
|
||||
not be populated the way expected on this emulator/API level, or
|
||||
the duplicate-row state above interfered; **also needs a follow-up
|
||||
pass** before relying on the auto-capture on a real phone.
|
||||
|
||||
**Not verified this pass**: anything on Iris's real phone, the
|
||||
two-density crispness check IRIS_TODO.md's unit item asks for, and
|
||||
the two open items just above.
|
||||
|
||||
- [ ] **P1 — session screen parity.** History paging backward (with the
|
||||
page-boundary healing `client-core` does not have yet, below),
|
||||
|
||||
Reference in new issue
Block a user