feat: end encounter and reset session (#40)#78
Merged
Conversation
- Runner: replace in-place Reset Session with End Encounter, which dismisses back to the builder while keeping the session in the registry - Builder: add Reset Session (destructive, confirmation dialog) that appears only when an active session exists; clears registry + deletes persisted file on confirm
- Runner: restore Reset Session UX (confirmation dialog, clear + delete + dismiss) - Builder: stable ToolbarItem wrapper for conditional Reset Session button - Builder: remove role:.destructive from toolbar trigger (keep only on dialog button) - Builder/Runner: add accessibilityIdentifier to confirmation dialog destructive buttons - Builder: remove redundant explicit Cancel button from confirmationDialog - Tests: unit test for combined clearSession + delete flow - Tests: UI tests for End Encounter, Reset from runner, Reset from builder - Tests: tapEndEncounter and tapResetSessionFromRunner helpers in EncounterUITestCase
…ests (#78) iOS 26 exposes confirmationDialog action buttons in two places in the AX tree simultaneously, causing XCUITest to fail with "multiple matching elements" when tapping by identifier alone.
gwillish
added a commit
that referenced
this pull request
Apr 18, 2026
- Runner: restore Reset Session UX (confirmation dialog, clear + delete + dismiss) - Builder: stable ToolbarItem wrapper for conditional Reset Session button - Builder: remove role:.destructive from toolbar trigger (keep only on dialog button) - Builder/Runner: add accessibilityIdentifier to confirmation dialog destructive buttons - Builder: remove redundant explicit Cancel button from confirmationDialog - Tests: unit test for combined clearSession + delete flow - Tests: UI tests for End Encounter, Reset from runner, Reset from builder - Tests: tapEndEncounter and tapResetSessionFromRunner helpers in EncounterUITestCase
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dismiss()and returns to the builder while leaving the session intact inSessionRegistrysessionRegistry.sessions[draft.id] != nil); tapping it shows aconfirmationDialog, and confirming clears the registry entry and deletes the persisted.session.jsonfileEncounterDefinition(roster, players, notes) is unchangedCloses #40
Test plan
xcodebuild test -scheme Encounter -destination 'platform=macOS'