iOS: re-press the Home tile context menu when hosted CI lands the long press as a tap (#100) #32
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
backmeupplz/absplus!32
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/100-context-menu-long-press"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes agentboard #100 (https://agentboard.icefish-betta.ts.net/#100).
Problem
On PR #24's CI,
iOS (loading)failed inPlaybackPreparation.testHomeTileMetadataAndContextMenuCancelWhenLeavingHome: aftercontinue.otherwas long-pressed for 1s,context.play.othernever appeared. The failure's accessibility dump shows why: the tile was Disabled with its "Preparing…" overlay and the fixture readout saidpreparing: other. The hosted simulator delivered the long press as a plain tap, so the tile's own Button action started preparing instead of the context menu opening.Change (tests only,
ios/UITests/PlaybackPreparation.swift)contextMenu(_:_:undo:)helper long-presses the tile (2s instead of 1s) and waits up togateTimeoutfor whichever the touch caused: the menu's Play item, or the readout showingpreparing: <key>.undo, which leaves Home for Library, asserts the cancel is terminal (releaseAndAssertNoPlayback), returns Home and re-holds the fixture, then presses again.preparing: other, leaves Home and asserts the cancel, exactly as before. Nothing it asserts was removed or loosened; the fallback adds an extra cancel assertion.Validation
xcodebuild build-for-testing(generic iOS Simulator, arm64): succeeded.-test-iterations 3of the test: 3/3 passed.Current: none; preparing: none; playing: falseasserted → Home → hold → 2s press →context.play.other→preparing: other→ Library → cancel asserted.No runtime/app changes, no deployment required.