On-device suite green: sign-up tap, fresh peers, group id, and the chat scroll crash #182

Merged
paulhitt merged 4 commits from fix/await-the-email-field into main 2026-09-28 13:19:30 +00:00
paulhitt commented 2026-09-27 00:05:27 +00:00 (Migrated from gitlab.com)

Four commits. Three change tests and scripts/instrumented.sh; ONE CHANGES APP CODE (ChatScreens.kt). (1) Sign-up: the helpers typed the relay, then tapped Create an account; the keyboard slides in after performScrollTo measures, so the tap landed on the keyboard (logged: toggle at y=1878, content ending at y=1517). The toggle is now tapped first, then the email field is waited for. (2) Peers: the suites added peerjvmone, a standing relay1 account with no one-time prekeys left and 114 uncollected messages. instrumented.sh now creates two fresh accounts per run with the interop peer (contactPeer, and echoPeer running autoreply), with no fallback to peerjvmone. The reply case now fails when no echo arrives instead of passing silently, and FeatureUseTest waits for the lookup result instead of a disabled confirm button. (3) Groups: the test matched group-\d+ but group ids are the relay randomHexToken(), so it passed only when the id started with a digit (10 in 16); now group-[0-9a-f]{16,}. (4) APP: the chat opened at, and followed the keyboard to, its newest message with listState.scrollToItem, which forces a layout; the screen is composed inside the Scaffold measure pass, so it threw "performMeasureAndLayout called during measure layout" (ChatScreens.kt:1740). Both now use requestScrollToItem (foundation 1.7.6), still instant, not animated. The frames that ran the effect inline were the Compose test dispatcher, so there is no evidence this crashed a real device. The source guard TheKeyboardDoesNotHideTheMessagesTest now requires requestScrollToItem and refuses scrollToItem (fails on the old line). Result on relay1: the full on-device suite passed 10 of 10. App unit tests 358 debug + 323 release green; Android unit suites 1959 green, run locally. 🤖 Generated with Claude Code

Four commits. Three change tests and scripts/instrumented.sh; ONE CHANGES APP CODE (ChatScreens.kt). (1) Sign-up: the helpers typed the relay, then tapped Create an account; the keyboard slides in after performScrollTo measures, so the tap landed on the keyboard (logged: toggle at y=1878, content ending at y=1517). The toggle is now tapped first, then the email field is waited for. (2) Peers: the suites added peerjvmone, a standing relay1 account with no one-time prekeys left and 114 uncollected messages. instrumented.sh now creates two fresh accounts per run with the interop peer (contactPeer, and echoPeer running autoreply), with no fallback to peerjvmone. The reply case now fails when no echo arrives instead of passing silently, and FeatureUseTest waits for the lookup result instead of a disabled confirm button. (3) Groups: the test matched group-\d+ but group ids are the relay randomHexToken(), so it passed only when the id started with a digit (10 in 16); now group-[0-9a-f]{16,}. (4) APP: the chat opened at, and followed the keyboard to, its newest message with listState.scrollToItem, which forces a layout; the screen is composed inside the Scaffold measure pass, so it threw "performMeasureAndLayout called during measure layout" (ChatScreens.kt:1740). Both now use requestScrollToItem (foundation 1.7.6), still instant, not animated. The frames that ran the effect inline were the Compose test dispatcher, so there is no evidence this crashed a real device. The source guard TheKeyboardDoesNotHideTheMessagesTest now requires requestScrollToItem and refuses scrollToItem (fails on the old line). Result on relay1: the full on-device suite passed 10 of 10. App unit tests 358 debug + 323 release green; Android unit suites 1959 green, run locally. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
paulhitt commented 2026-09-27 00:05:27 +00:00 (Migrated from gitlab.com)

assigned to @paulhitt

assigned to @paulhitt
paulhitt commented 2026-09-28 11:37:42 +00:00 (Migrated from gitlab.com)

changed title from Tap "Create an account" before the relay is typed, not after to On-device suite: tap before typing, and a fresh peer each run

<p>changed title from <code class="idiff"><span class="idiff left right deletion">Tap &quot;Create an account&quot; before the relay is typed, not after</span></code> to <code class="idiff"><span class="idiff left right addition">On-device suite: tap before typing, and a fresh peer each run</span></code></p>
paulhitt commented 2026-09-28 11:37:42 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
paulhitt commented 2026-09-28 11:37:43 +00:00 (Migrated from gitlab.com)

added 1 commit

  • cd5d1d8f - A fresh peer for each on-device run, not peerjvmone

Compare with previous version

added 1 commit <ul><li>cd5d1d8f - A fresh peer for each on-device run, not peerjvmone</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/155/diffs?diff_id=2058414163&start_sha=32a258bc1fb59c39e24f9097ac9c11e51b2f8d6a)
paulhitt commented 2026-09-28 11:53:23 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
paulhitt commented 2026-09-28 11:53:24 +00:00 (Migrated from gitlab.com)

added 1 commit

  • a44624cf - Find the new group by its hex id, not by a number

Compare with previous version

added 1 commit <ul><li>a44624cf - Find the new group by its hex id, not by a number</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/155/diffs?diff_id=2058459872&start_sha=cd5d1d8f44913bae55904046b175d65d8fefd83b)
paulhitt commented 2026-09-28 12:45:08 +00:00 (Migrated from gitlab.com)

changed title from On-device suite: tap before typing, and a fresh peer each run to On-device suite green: sign-up tap, fresh peers, group id, and the chat scroll crash

<p>changed title from <code class="idiff">On-device suite<span class="idiff left right deletion">: tap before typing, and a fresh peer each run</span></code> to <code class="idiff">On-device suite<span class="idiff left right addition"> green: sign-up tap, fresh peers, group id, and the chat scroll crash</span></code></p>
paulhitt commented 2026-09-28 12:45:08 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
paulhitt commented 2026-09-28 12:45:09 +00:00 (Migrated from gitlab.com)

added 1 commit

  • d33bb338 - Scroll the chat by request, not by forcing a layout

Compare with previous version

added 1 commit <ul><li>d33bb338 - Scroll the chat by request, not by forcing a layout</li></ul> [Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/155/diffs?diff_id=2058624644&start_sha=a44624cfad128ad2af746618d185741694ed77bb)
paulhitt commented 2026-09-28 13:19:29 +00:00 (Migrated from gitlab.com)

mentioned in commit fdee288111

mentioned in commit fdee288111f6ff0f0ac6cfdcd3749867530698a7
paulhitt (Migrated from gitlab.com) merged commit fdee288111 into main 2026-09-28 13:19:30 +00:00
Sign in to join this conversation.