Uncaught TypeError: step is null
renderCurrentStep Survey.jsx:161
renderSingleQuestion Survey.jsx:253
render Survey.jsx:265
React 11
unstable_runWithPriority scheduler.development.js:653
React 21
unstable_runWithPriority scheduler.development.js:653
React 6
_callee$ ContactController.jsx:225
Async Babel
node_modules bundle.js:442620
node_modules bundle.js:442561
Babel 4
node_modules bundle.js:454702
node_modules bundle.js:454694
ContactController ContactController.jsx:231
updateCurrentContactIndex ContactController.jsx:255
componentWillMount ContactController.jsx:84
React 9
unstable_runWithPriority scheduler.development.js:653
React 5
handleStoreChange hooks.cjs:71
node_modules bundle.js:438198
onNext hooks.cjs:232
notifySubscription Observable.js:135
onNotify Observable.js:179
next Observable.js:235
node_modules bundle.js:440857
{"data":{"assignment":{"id":"2","userCannedResponses":[],"campaignCannedResponses":[],"texter":{"id":"1","firstName":"Sky","lastName":"Duveen","alias":null,"__typename":"User"},"campaign":{"id":"3","title":"survey test","isArchived":false,"useDynamicAssignment":null,"overrideOrganizationTextingHours":false,"timezone":"US/Eastern","textingHoursStart":9,"textingHoursEnd":21,"textingHoursEnforced":true,"batchSize":300,"organization":{"id":"1","tags":[],"textingHoursEnforced":false,"textingHoursStart":9,"textingHoursEnd":21,"optOutMessage":"I'm opting you out of texts immediately. Have a great day.","allowSendAll":false,"__typename":"Organization"},"customFields":[],"texterUIConfig":{"options":"","sideboxChoices":["celebration-gif","default-dynamicassignment","default-releasecontacts","contact-reference","tag-contact","freshworks-widget","default-editinitial","take-conversations","hide-media","texter-feedback","contact-notes"],"__typename":"TexterUIConfig"},"cannedResponses":[],"interactionSteps":[{"id":"5","script":"test1 autorespond","question":{"text":"is it one?","answerOptions":[{"value":"[yes]","interactionStepId":6,"nextInteractionStep":{"id":"6","script":"blah di blah 1 autorespond","__typename":"InteractionStep"},"__typename":"AnswerOption"},{"value":"not sure","interactionStepId":8,"nextInteractionStep":{"id":"8","script":"but are you actually share? autorespond","__typename":"InteractionStep"},"__typename":"AnswerOption"}],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"6","script":"blah di blah 1 autorespond","question":{"text":"q2-level","answerOptions":[{"value":"[happy] there","interactionStepId":7,"nextInteractionStep":{"id":"7","script":"xyz","__typename":"InteractionStep"},"__typename":"AnswerOption"}],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"7","script":"xyz","question":{"text":"","answerOptions":[],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"8","script":"but are you actually share? autorespond","question":{"text":"sure?","answerOptions":[{"value":"[no]","interactionStepId":9,"nextInteractionStep":{"id":"9","script":"xxx","__typename":"InteractionStep"},"__typename":"AnswerOption"},{"value":"[yes] happy","interactionStepId":10,"nextInteractionStep":{"id":"10","script":"ok great","__typename":"InteractionStep"},"__typename":"AnswerOption"},{"value":"sad but [happy]","interactionStepId":11,"nextInteractionStep":{"id":"11","script":"me too abc","__typename":"InteractionStep"},"__typename":"AnswerOption"}],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"9","script":"xxx","question":{"text":"","answerOptions":[],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"10","script":"ok great","question":{"text":"","answerOptions":[],"__typename":"Question"},"__typename":"InteractionStep"},{"id":"11","script":"me too abc","question":{"text":"","answerOptions":[],"__typename":"Question"},"__typename":"InteractionStep"}],"__typename":"Campaign"},"__typename":"Assignment"}}}
Describe the bug
Clicking for a first response on main (
ff740cc31149964973fccc8f4a9761574a4b5b47) in the script 'white-screen-of-death'sTo Reproduce
Steps to reproduce the behavior:
/app/<org>/todos/<campaign>/replymode after initial messages have been sent with multiple response optionsj, I get a "white-screen-of-death" javascript error when I click "All Responses" -- I also note that I don't have any button options (see below for full structure)My current campaign/assignment (
getCampaign()graphql response is:My current guess as to the code that might be related to the issue (based on what's changed recently) is maybe the deepCopy here:
https://github.com/StateVoicesNational/Spoke/blob/main/src/components/AssignmentTexter/Controls.jsx#L128-L130
I will try to debug further