StanfordHCI / bang

💥 Helping people meet for the first time, more than once 💥
MIT License
2 stars 1 forks source link

Update Newarch Prod with Polls and Case Randomization Updates #507

Closed xehu closed 4 years ago

xehu commented 4 years ago

This PR accomplishes 3 things:

  1. In utils.ts, it ensures that each of the two cases is randomly assigned to be either the individual case or the group case. (Previously, Case 0 was always the individual case and Case 1 was always group.) This allows us to calculate consistency given a particular case!
  2. It fixes a bug where people got error messages for 'not answering all the questions' when, in fact, they had.
  3. It adds the ability for people to change their vote even after the threshold is reached (Issue #506). In my pilots today, someone gave the feedback that they clicked the wrong button, but since their vote was the vote that passed the 'success' threshold, they were not able to change their vote. This is especially true of all individual rounds (since the threshold is one, any mis-clicks cause noise in our data because they can't be un-done).

I've tested all of them extensively and they work, and since they're very small fixes, I pushed them directly into newarch.


The reason why I'm pausing this for review is that my implementation of the Polls fix introduces a small known bug:

The way to fix this (to my understanding) is to force the system to update the state. But no matter what I did, I got an error that said "max stack frame exceeded," so I erred on the side of updating less.

The question is: are we okay with the tradeoff between this bug and the ability to have people change their votes?