Repository navigation
No way to finish a scan early: stopping took 7 rapid "Can't get there" taps, each silently setting ends #82
Description
Activity
- addedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.size:M30-99 effective changed lines.30-99 effective changed lines.
on Sep 27, 2026 Screen recordings from the build 4.1 field test (TestFlight 4.1, iPhone 14 without LiDAR). Click a link to play.
- Run 3: 7 rapid "Can't get there" taps to stop (1:33–1:40)
Times are in each run's recording. Full analyses: PR #60.
Decision needed: what "Finish scan" during the walk should do
The walk has no way out until both ends are marked: "Done with this wall" only appears after that, and there's no "Start over" on the walk screen (it's only on the uploading and result screens). In run 3, stopping took seven quick "Can't get there" taps. Each one silently skipped a task or set an end: on a walk card,
cannotAccessAreacallsendWalkCannotGoOn, which writes anunexploredend without asking. A short input lock (about 0.6 s) on the card's reply button is planned as a separate fix, so a new card's button can't take a tap meant for the previous card. That fix doesn't give the walk a way out, which is the open question here.- A. Finish with what was walked. Any unmarked end is set as
unexploredwhere the existing walk rule (WalkedEnd) puts it: the phone's place on its side of the meter, and the farthest walked point on the other side. Then feature review, upload and result run as they do after "Done with this wall". The result says the scan was cut short, and the follow-up views come with "Show my result" (as in ios: 'I can't get there' moves on to the next requested view (#39) #49). It's a menu item behind a confirmation. If nothing was walked, both ends land at the meter, whichfinishWalkalready refuses as too close. In that case the only choice is B. (Recommended.) - B. Discard only. "Finish scan" means "Start over", with no upload. It's simple, but the homeowner loses the walk.
- C. No new control. After two "Can't get there" answers on walk cards within a few seconds, ask "End the scan here?" instead of silently setting the second end.
A and C can be combined.
What unblocks it: a pick, and agreement that the wording and behaviour match #49's "Show my result", so the walk and the follow-up views stop the same way.
🤖 Generated with Claude Code
- A. Finish with what was walked. Any unmarked end is set as
Team decision (2026-09-27): option C, in PR #135
- added a commit that references this issue
on Oct 3, 2026
There is no control to end a scan early. To stop, the tester tapped "Can't get there" 7 times in about 2.5 s. Each new card's button appeared under the same finger, and each tap silently skipped a task or set a wall end.
Seen in. Device field test of TestFlight build 4.1 (
betaat45017ba), iPhone 14 without LiDAR, iOS 26.6.2, 2026-09-26. Run 3 (a real house): decision at 1:30, taps at 1:34.0–1:36.5 in the recording. Report IDs A41-2055-05 and A41-2055-06 in run3-2055.md.What happens. After 73 s stuck on the first task, the tester said "I'm just gonna end the test here." (1:30). No control does that. From 1:34.0 to 1:36.5 they tapped "Can't get there" at the same place on the screen ("Can't get there. Can't get there. Can't get there. Can't get there. Can't get there. Done."). Each tap resolved one card, and the next card's button appeared under the finger within 0.2–0.5 s:
unexplored, at 13 ft 2 in left.unexplored, at 1 ft 9 in right.Then came "That's the whole wall", "Done with this wall", "Looks complete", the server request, "I can't get there" and the result. The scan's wall is a 14.9 ft stretch nobody walked, and the server still gave it a spot (see "An unwalked, tapped wall still gets a spot (here inside the house) with wall backing and cable route passing"). The left end is also 13 ft from anywhere the phone went (see "Wall ends still land in the wrong place: at the meter on a short side, or 13 ft from where the phone went").
Cause.
.finishcontrols) only appears once both ends are marked (WallWalkScreen.swift#L113-L122,#L149-L151). Before that, the only way forward is to resolve each card.WallWalkScreen.swift#L264-L288). Nothing locks input when the card changes.cannotAccessAreacallsendWalkCannotGoOn, which writes anunexploredend without asking (ScanEngine+Actions.swift#L341-L379,ScanEngine+Ends.swift#L83-L87). Refusing both walks in a row sets both ends.Fix direction.
Related.
Screen recordings are in the comment below.