docs: phone report 2026-09-07 night -- catching a fling, silent Copy report, third-party debug flooding the ring

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Fable 5.1 committed 2026-09-07 21:18:29 -04:00
1 parent 92985ba8e3
commit b38e797db3
2 files changed
+48

No files matched your search

+42
View File
@@ -1070,3 +1070,45 @@ do not duplicate it there.
drowned in per-frame `debug!` lines that predated this pass) is fixed
in the same change -- see RUST.md's section for which four call
sites.
## From the phone, 2026-09-07, night (build 92985ba, ai-app-bench bf2088b)
Iris pasted a full Copy report (Mali-G715 Vulkan, 2.55, 120Hz). What it
showed, beyond her words:
- [ ] **"Sometimes when I try to catch it while it's still moving
(particularly if I drag) then it fails to stop & snap to where finger
is."** The report's release lines show catches ending as
`v=-41`/`v=-274` pans, so the gesture *does* reach `Panning`, but the
content under the finger does not follow it while the fling is still
running and the slop has not been crossed. Compose: a down while
`isScrollInProgress` stops the fling *at the down* and starts the
drag immediately with no touch slop (`scrollable`'s
`startDragImmediately = isScrollInProgress`); the content is pinned to
the finger from the first sample. Port that: `PressStart` on a list
with a live fling ends the fling on that sample and enters `Panning`
without waiting for `DRAG_SLOP`; a release with no movement is then a
`Released(None)`, not a tap (Compose does not deliver a click either).
Layer-1 test on a flick followed by a down + small drag 150 ms later:
offset tracks the finger sample-for-sample from the down.
- [ ] **"The copy report button seemed impossible to hit until I hit the
diagnostics one."** Not hit-testing: the button logged `iris bench
report: nothing to copy -- run the benchmark first` six times and did
nothing on screen. A control that silently declines is the UI_RULES
failure "a failure is reported where it happened": Copy report must
always copy something -- the diagnostics and the log with a first line
saying no benchmark has run -- and never depend on another button
having been pressed first.
- [ ] **"The logs seem way too big to send in this message box, causes a
lot of lag."** Two causes. (1) The ring was 1339 lines of `naga::front`
/ `wgpu_core` / `jni` DEBUG output with 4050 dropped: the ring logger
accepts every crate at Debug, and the trace gate (992c472) only covers
iris's own lines. The ring must take Debug only from `iris`/`client_core`
targets when trace is on, and Info and above from everything else --
one filter at the ring, not per callsite. (2) Copy report appends the
whole ring. It should append the last ~150 lines and a first line
saying "N earlier lines omitted; full log in Dev Updater's Runtime
tab" -- the full ring is what the devlog provider is for.
- [x] Keyboard: the report shows `ime_bottom=891 ime_visible=true` then
back to 0 on the phone, so the insets now arrive with a height; the
push-up was not reported broken this time.
+6
View File
@@ -706,6 +706,12 @@ closes it.
APK installable (648 MB) -- RUST.md's logging section names both.
- [ ] Input-event and timing instrumentation into the log ring, copied
by the report button. After the logging route lands (same ring).
- [ ] Catch-a-fling: down during a fling stops it at the down and drags
with no slop (docs/IRIS_TODO.md, night). Opus, next slot; uses the
layer-1 harness.
- [ ] Report hygiene: ring takes Debug only from iris targets, Copy
report always copies and trims the log (docs/IRIS_TODO.md, night).
Sonnet, with the header item below (same file, `bench_client.rs`).
- [ ] Bench app header: four controls no longer fit at 1080px and the
devlog agent shrank the label type 18 -> 13 to make room (UI_RULES:
never shrink text to fit). Put the controls in two rows or make the