fix: prevent infinite loop for readers and network errors on legacy data #187
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.
I noticed the legacy handling could be looping infinitely if the network call to patch app settings throws (because server is down or because user does not have the correct permission). The app-setting key would get invalidated and would trigger the patch again.
I mitigated the problem with a state that remembered a patch happened (server error for some reason) and only allowed admins to patch.
Readers trying to view an outdated quiz will see an error banner.
FOR LATER:
I think we can remove this legacy patch at some point (it has been a year now). But having the error today shows that some people actually returns to see old quiz.