@findify/sdk: Uncaught error when `send` times out
Issue
We've noticed recently that findify crashes intermittently when we're trying to retrieve a smart collection, recommendations etc with the following error:
Cannot read properties of undefined (reading 'status')
I've debugged it on our end and seems like it crashes in packages/sdk/src/utils.ts#L24 when the error it catches is a "timeout error" and the error does not contain a response
err in packages/sdk/src/utils.ts that does not contain response
Steps to reproduce
Go to some website (e.g. matsmart.se/) and navigate around and hope that the findify client .send times out. If so you should be able to see the error in the web developer console.
Versions
-
@findify/sdk: v2.5.9
Screenshots
Expected
That @findify/sdk can gracefully handle their errors
Actual
Errors internal to @findify/sdk propagate and are uncaught by the lib.
Link to project
Affects all matsmart/motatos webpages:
- https://www.matsmart.se/
- https://www.matsmart.fi/
- https://www.motatos.de/
- https://www.motatos.dk/
- https://www.motatos.co.uk/
Browser Name and version
Chrome Version 106.0.5249.119 (Official Build) (arm64)
Operating system
macOS 12.6 (21G115)
Suggested fix
Properly type "err" and check if response exists on err before reading response
Any eyes on this from the maintainers? @wolff95 ?
Hello Simon, sorry for the late response!
I'll investigate on this and let you know, but so far, couldn't reproduce it. Anyhow I'll better handle the error to not crash it.
Hello Simon, I have pushed a new version with a simple nullcheck. In later iteration the error will be handled better, but this should be enough to solve your issue.
Let me know if it works out.