Fix SystemStackError error from Folder.contents()
#19
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.
The pCloud API has a weird quirk where you can get
nilor[]for a folders contents when there really are contents. To work around this, the gem has a retry mechanism to double check if empty contents are truly empty. Perhaps this should be optout-able in the future, but for now it's the default behavior because unexpected empty contents can be a big problem and hard to troubleshoot.Unfortunately, in my initial implementation, I didn't account for the case where there really were no contents in the folder, would caused a
SystemStackErrorerror when callingcontentson an empty folder 🤦🏼♂️.This PR resolves fix resolves that bug by manually checking if the
contentscall is a retry. It also reduces test mocking to hopefully prevent future bugs in this area as well 🙏🏻