Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mark-scan: Instructions for early ballot removal #4681

Merged
merged 1 commit into from
Mar 20, 2024

Conversation

kshen0
Copy link
Contributor

@kshen0 kshen0 commented Mar 14, 2024

Overview

#4542

Gives instructions to the voter when the ballot is removed during the presentation stage. On mark-scan the ideal path is for the voter to use the interface to confirm their ballot is correct, which causes the app to pull the paper back in and cast it to the rear box. But it's likely that some voters will remove the ballot during the presentation stage, especially if they realize other voters are casting their HMPBs at a precinct scanner.

In the case of early removal we should give instructions to cast at a precinct scanner rather than just ending the session.

Demo Video or Screenshot

Changes start at 0:20

IMG_4800.MOV

Testing Plan

  • added tests

Checklist

  • I have added logging where appropriate to any new user actions, system updates such as file reads or storage writes, or errors introduced. (logging should be free with state machine state transition logging)
  • I have added a screenshot and/or video to this PR to demo the change
  • I have added the "user_facing_change" label to this PR to automate an announcement in #machine-product-updates

@kshen0 kshen0 force-pushed the kevin/instructions-for-early-ballot-removal branch from e5a2835 to 952eaa8 Compare March 15, 2024 00:23
@kshen0 kshen0 marked this pull request as ready for review March 15, 2024 01:00
@kshen0 kshen0 changed the title Kevin/instructions for early ballot removal mark-scan: Instructions for early ballot removal Mar 15, 2024
@kshen0 kshen0 marked this pull request as draft March 15, 2024 01:01
@kshen0 kshen0 force-pushed the kevin/instructions-for-early-ballot-removal branch from 952eaa8 to 0c02a6b Compare March 18, 2024 22:40
@@ -1 +0,0 @@
./build/assets/index.c1222e2b.js:31135
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

codemod util file that was previously committed by accident

@kshen0 kshen0 force-pushed the kevin/instructions-for-early-ballot-removal branch 2 times, most recently from 0d43332 to 8fc83c1 Compare March 19, 2024 21:33
@kshen0 kshen0 force-pushed the kevin/instructions-for-early-ballot-removal branch from 8fc83c1 to 1798ba2 Compare March 19, 2024 21:38
// move auth entirely to the backend.
// https://github.com/votingworks/vxsuite/issues/3985
stateMachineState !== 'accepting_paper' &&
stateMachineState !== 'not_accepting_paper'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that we've seen this is a consistent pattern for any state that changes auth in the backend, IMO we should bump the priority of #3985 ahead of adding any additional states with auth changes @arsalansufi @jonahkagan @mattroe

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense! I brought the issue up to the medium pri section on the VxMarkScan board. (I don't have a great sense of which issues would require "adding any additional states with auth changes")

@@ -283,6 +296,45 @@ test('voting flow happy path', async () => {
await waitForStatus('not_accepting_paper');
});

describe('removing ballot during presentation state', () => {
test('is a no op if USE_MOCK_PAPER_HANDLER=true', async () => {
Copy link
Contributor Author

@kshen0 kshen0 Mar 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need this to no-op because we detect ballot removal when the NO_PAPER_ANYWHERE event is fired, and paper handler status always reports NO_PAPER_ANYWHERE when using mock paper handler.

@kshen0 kshen0 marked this pull request as ready for review March 19, 2024 21:52
@kshen0 kshen0 requested a review from jonahkagan March 19, 2024 21:52
@kshen0 kshen0 merged commit 1be3581 into main Mar 20, 2024
57 checks passed
@kshen0 kshen0 deleted the kevin/instructions-for-early-ballot-removal branch March 20, 2024 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants