Survey123 is still logging our users out approximately on a weekly basis I've heard. When this happens, the username field is not populated and users can't submit their surveys because its a required field.
As a workaround, I have a text input appear when the username is not present.
My survey looks like this:
| type | name | label | calculation | relevant | Explanation |
|---|
| text | inspector | Inspector | ${username} | ${username} = '' | If user isn't signed in, let them enter a username so the survey still submits |
| username | username | username | | | Try and auto populate the username variable |
| label | InspectionMeta | Inspection | concat("Inspector: ", ${inspector}) | | Display the username to the user so they know they are signed in. |
BUT this breaks the label. Inspector is never displayed to the user.